1#ifndef RESIP_ParserContainerBase_hxx
2#define RESIP_ParserContainerBase_hxx
15class HeaderFieldValueList;
146 std::swap(nc_orig.
pc,
pc);
156 std::swap(nc_orig.
pc,
pc);
182 typedef std::vector<HeaderKit, StlPoolAllocator<HeaderKit, PoolBase> >
Parsers;
210 ::operator
delete(kit.
pc);
An alternative to std::string, encapsulates an arbitrary buffer of bytes.
EncodeStream & encode(EncodeStream &str) const
Encodes this element to a stream, in the fashion it should be represented on the wire.
Base class for all SIP grammar elements that can have parameters.
virtual ~ParserCategory()
virtual ParserCategory * clone() const =0
Abstract Base class implemented in derived class ParserContainer.
bool getHeaderValueByIndex(size_t index, Data &headerValue) const
std::ostream & encode(Headers::Type type, std::ostream &str) const
std::vector< HeaderKit, StlPoolAllocator< HeaderKit, PoolBase > > Parsers
const Headers::Type mType
ParserCategory * makeParser(const ParserCategory &orig)
bool empty() const
return true or false indicating whether the mParsers vector is empty or not
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
void append(const ParserContainerBase &rhs)
append the vector to the mParsers vector held locally
void clear()
clear the mParsers vector
void pop_back()
if mParsers vector is not empty, erase the first element
virtual void parseAll()=0
pure virtual function to be implemented in derived classes The intention is to provide an ability to ...
void freeParsers()
free parser containers
void pop_front()
if mParsers vector is not empty, erase the first element
void freeParser(HeaderKit &kit)
virtual ParserContainerBase * clone() const =0
pure virtual function to be implemented in derived classes with the intention of cloning this object
size_t size() const
return the size of the mParsers vector
EncodeStream & encode(const Data &headerName, EncodeStream &str) const
void copyParsers(const Parsers &parsers)
copy header kits
virtual void deallocate(void *ptr)=0
dcm! – add UnusedChecking(_enum) below;