Public Member Functions | Private Member Functions | Private Attributes

SeparString Class Reference

list encoded in a string. More...

Inheritance diagram for SeparString:
FileMultiString

List of all members.

Public Member Functions

 SeparString (const SeparString &ss)
 SeparString (const char *escapedstr=0, char separ=',')
SeparStringoperator= (const SeparString &)
SeparStringoperator= (const char *escapedstr)
bool isEmpty () const
void setEmpty ()
int size () const
const char * operator[] (int) const
 Output unescaped.
const char * from (int) const
 Output escaped.
int getIValue (int) const
unsigned int getUIValue (int) const
int64_t getI64Value (int) const
uint64_t getUI64Value (int) const
float getFValue (int) const
double getDValue (int) const
bool getYN (int) const
int indexOf (const char *unescapedstr) const
SeparStringadd (const BufferStringSet &)
 Concatenation.
SeparStringadd (const SeparString &)
 Concatenation.
SeparStringadd (const char *unescapedstr)
template<class T >
SeparStringadd (T t)
template<class T >
SeparStringoperator+= (T t)
 operator const char * () const
char * buf ()
 Output escaped.
const char * buf () const
 Output escaped.
BufferStringrep ()
 Output escaped.
const BufferStringrep () const
 Output escaped.
const char * unescapedStr () const
char sepChar () const
void setSepChar (char)

Private Member Functions

void initRep (const char *)
void initSep (char s)
const char * getEscaped (const char *unescapedstr, char sep) const
const char * getUnescaped (const char *escapedstartptr, const char *nextsep=0) const
const char * findSeparator (const char *) const

Private Attributes

char sep_ [2]
BufferString rep_
BufferString retstr_

Detailed Description

list encoded in a string.

SeparString is a list encoded in a string where the items are separated by a user chosen separator. The separator in the input is escaped with a backslash. A `\' is encoded as `\' . Elements can have any size. Input and output of elements is done unescaped. Input and output of whole (sub)strings is done escaped.


Constructor & Destructor Documentation

SeparString::SeparString ( const SeparString ss  )  [inline]
SeparString::SeparString ( const char *  escapedstr = 0,
char  separ = ',' 
) [inline]

Member Function Documentation

SeparString& SeparString::add ( const BufferStringSet  ) 

Concatenation.

SeparString& SeparString::add ( const SeparString  ) 

Concatenation.

SeparString& SeparString::add ( const char *  unescapedstr  ) 
template<class T >
SeparString& SeparString::add ( t  )  [inline]

Reimplemented in FileMultiString.

char* SeparString::buf (  )  [inline]

Output escaped.

const char* SeparString::buf (  )  const [inline]

Output escaped.

const char* SeparString::findSeparator ( const char *   )  const [private]
const char* SeparString::from ( int   )  const

Output escaped.

double SeparString::getDValue ( int   )  const
const char* SeparString::getEscaped ( const char *  unescapedstr,
char  sep 
) const [private]
float SeparString::getFValue ( int   )  const
int64_t SeparString::getI64Value ( int   )  const
int SeparString::getIValue ( int   )  const
uint64_t SeparString::getUI64Value ( int   )  const
unsigned int SeparString::getUIValue ( int   )  const
const char* SeparString::getUnescaped ( const char *  escapedstartptr,
const char *  nextsep = 0 
) const [private]
bool SeparString::getYN ( int   )  const
int SeparString::indexOf ( const char *  unescapedstr  )  const
void SeparString::initRep ( const char *   )  [private]
void SeparString::initSep ( char  s  )  [inline, private]
bool SeparString::isEmpty (  )  const [inline]
SeparString::operator const char * (  )  const [inline]
template<class T >
SeparString& SeparString::operator+= ( t  )  [inline]

Reimplemented in FileMultiString.

SeparString& SeparString::operator= ( const char *  escapedstr  ) 
SeparString& SeparString::operator= ( const SeparString  ) 
const char* SeparString::operator[] ( int   )  const

Output unescaped.

const BufferString& SeparString::rep (  )  const [inline]

Output escaped.

BufferString& SeparString::rep (  )  [inline]

Output escaped.

char SeparString::sepChar (  )  const [inline]
void SeparString::setEmpty (  )  [inline]
void SeparString::setSepChar ( char   ) 
int SeparString::size (  )  const
const char* SeparString::unescapedStr (  )  const [inline]

Use with care! Distinction between separ-chars and escaped separ-chars will get lost.


Member Data Documentation

BufferString SeparString::retstr_ [mutable, private]
char SeparString::sep_[2] [private]