9#ifndef SQUID_SRC_SBUF_ALGORITHMS_H
10#define SQUID_SRC_SBUF_ALGORITHMS_H
66template <
class ContainerIterator>
69 const ContainerIterator &end,
const SBuf& separator,
80 dest.
length() + prefix.length() + suffix.length();
96template <
class ContainerIterator>
99 const ContainerIterator &end,
const SBuf& separator,
111 size_t operator()(
const SBuf &)
const noexcept;
SBuf & JoinContainerIntoSBuf(SBuf &dest, const ContainerIterator &begin, const ContainerIterator &end, const SBuf &separator, const SBuf &prefix=SBuf(), const SBuf &suffix=SBuf())
SBuf JoinContainerToSBuf(const ContainerIterator &begin, const ContainerIterator &end, const SBuf &separator, const SBuf &prefix=SBuf(), const SBuf &suffix=SBuf())
convenience wrapper of JoinContainerIntoSBuf with no caller-supplied SBuf
bool operator()(const SBuf &lhs, const SBuf &rhs) const
std::size_t operator()(const SBuf &) const noexcept
SBuf::size_type operator()(const SBuf::size_type sz, const SBuf &item)
SBuf::size_type separatorLen_
SBufAddLength(const SBuf &separator)
SBuf equality predicate for STL algorithms etc.
SBufEqual(const SBuf &reference, SBufCaseSensitive sensitivity=caseSensitive)
bool operator()(const SBuf &checking)
SBufCaseSensitive sensitivity_
Named SBuf::reserve() parameters. Defaults ask for and restrict nothing.
size_type minSpace
allocate [at least this much] if spaceSize() is smaller
SBuf "starts with" predicate for STL algorithms etc.
bool operator()(const SBuf &checking)
SBufStartsWith(const SBuf &prefix, SBufCaseSensitive sensitivity=caseSensitive)
SBufCaseSensitive sensitivity_
size_type length() const
Returns the number of bytes stored in SBuf.
size_type reserve(const SBufReservationRequirements &requirements)
SBuf & append(const SBuf &S)
bool startsWith(const SBuf &S, const SBufCaseSensitive isCaseSensitive=caseSensitive) const
MemBlob::size_type size_type
int compare(const SBuf &S, const SBufCaseSensitive isCaseSensitive, const size_type n) const