81 EncodeStream& str)
const
88 if (!headerName.
empty())
93 for (Parsers::const_iterator i =
mParsers.begin();
119 EncodeStream& str)
const
127 for (Parsers::const_iterator i =
mParsers.begin();
155 for(Parsers::const_iterator p=parsers.begin(); p!=parsers.end(); ++p)
#define resip_assert(x)
This file needs to work for both C and C++ code.
An iostream that operates on an existing Data.
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
bool empty() const noexcept
Checks whether the Data is empty.
Data & clear()
Clears the contents of this Data.
static Data encode(const Data &input)
Abstract Base class implemented in derived class ParserContainer.
bool getHeaderValueByIndex(size_t index, Data &headerValue) const
std::vector< HeaderKit, StlPoolAllocator< HeaderKit, PoolBase > > Parsers
const Headers::Type mType
ParserCategory * makeParser(const ParserCategory &orig)
EncodeStream & encodeEmbedded(const Data &headerName, EncodeStream &str) const
virtual ~ParserContainerBase()
virtual destructor - empty in this class
ParserContainerBase & operator=(const ParserContainerBase &rhs)
assignment operator copies the mParsers from the rhs
Parsers mParsers
the actual list (vector) of parsers on which encoding is done
ParserContainerBase(Headers::Type type=Headers::UNKNOWN)
constructor; sets the type only
void append(const ParserContainerBase &rhs)
append the vector to the mParsers vector held locally
void pop_back()
if mParsers vector is not empty, erase the first element
void freeParsers()
free parser containers
void pop_front()
if mParsers vector is not empty, erase the first element
void freeParser(HeaderKit &kit)
EncodeStream & encode(const Data &headerName, EncodeStream &str) const
void copyParsers(const Parsers &parsers)
copy header kits
A dirt-simple lightweight stl pool allocator meant for use in short-lifetime objects.
static const char * SPACE
static const char * COLON
static const char * COMMA
static const char * EQUALS
static const char * AMPERSAND
dcm! – add UnusedChecking(_enum) below;