string class for TCHAR strings More...
#include <xmlstorage.h>
Public Types | |
typedef std::string | super |
Public Member Functions | |
XS_String () | |
XS_String (LPCXSSTR s) | |
XS_String (LPCXSSTR s, size_t l) | |
XS_String (const super &other) | |
XS_String (const XS_String &other) | |
void | assign (const XS_String &s) |
XS_String & | operator= (LPCXSSTR s) |
XS_String & | operator= (const super &s) |
void | assign (LPCXSSTR s) |
void | assign (LPCXSSTR s, size_t l) |
operator LPCXSSTR () const | |
XS_String & | printf (LPCXSSTR fmt,...) |
XS_String & | vprintf (LPCXSSTR fmt, va_list vl) |
XS_String & | appendf (LPCXSSTR fmt,...) |
XS_String & | vappendf (LPCXSSTR fmt, va_list vl) |
string class for TCHAR strings
Definition at line 338 of file xmlstorage.h.
typedef std::string XMLStorage::XS_String::super |
Definition at line 348 of file xmlstorage.h.
XMLStorage::XS_String::XS_String | ( | ) | [inline] |
Definition at line 351 of file xmlstorage.h.
Referenced by XMLStorage::XMLDoc::read_file(), and XMLStorage::XMLNode::subvalue().
{}
XMLStorage::XS_String::XS_String | ( | LPCXSSTR | s ) | [inline] |
Definition at line 353 of file xmlstorage.h.
{if (s) super::assign(s);}
XMLStorage::XS_String::XS_String | ( | LPCXSSTR | s, |
size_t | l | ||
) | [inline] |
Definition at line 354 of file xmlstorage.h.
: super(s, l) {}
XMLStorage::XS_String::XS_String | ( | const super & | other ) | [inline] |
Definition at line 356 of file xmlstorage.h.
: super(other) {}
XMLStorage::XS_String::XS_String | ( | const XS_String & | other ) | [inline] |
Definition at line 357 of file xmlstorage.h.
: super(other) {}
XS_String& XMLStorage::XS_String::appendf | ( | LPCXSSTR | fmt, |
... | |||
) | [inline] |
Definition at line 447 of file xmlstorage.h.
{ va_list vl; va_start(vl, fmt); vappendf(fmt, vl); va_end(vl); return *this; }
void XMLStorage::XS_String::assign | ( | const XS_String & | s ) | [inline] |
Definition at line 389 of file xmlstorage.h.
References assign().
Referenced by XMLStorage::XMLStringRef::assign(), XMLStorage::XMLDoubleRef::assign(), XMLStorage::XMLInt64Ref::assign(), XMLStorage::XMLIntRef::assign(), XMLStorage::XMLBoolRef::assign(), assign(), and XMLStorage::XPathElement::parse().
{assign(s.c_str());}
void XMLStorage::XS_String::assign | ( | LPCXSSTR | s ) | [inline] |
Definition at line 394 of file xmlstorage.h.
{super::assign(s);}
void XMLStorage::XS_String::assign | ( | LPCXSSTR | s, |
size_t | l | ||
) | [inline] |
Definition at line 395 of file xmlstorage.h.
{super::assign(s, l);}
XMLStorage::XS_String::operator LPCXSSTR | ( | ) | const [inline] |
Definition at line 397 of file xmlstorage.h.
{return c_str();}
XS_String& XMLStorage::XS_String::operator= | ( | LPCXSSTR | s ) | [inline] |
Definition at line 392 of file xmlstorage.h.
{if (s) super::assign(s); else erase(); return *this;}
Definition at line 393 of file xmlstorage.h.
{super::assign(s); return *this;}
XS_String& XMLStorage::XS_String::printf | ( | LPCXSSTR | fmt, |
... | |||
) | [inline] |
Definition at line 409 of file xmlstorage.h.
{ va_list vl; va_start(vl, fmt); vprintf(fmt, vl); va_end(vl); return *this; }
XS_String& XMLStorage::XS_String::vappendf | ( | LPCXSSTR | fmt, |
va_list | vl | ||
) | [inline] |
Definition at line 458 of file xmlstorage.h.
References BUFFER_HUGE, BUFFER_LEN, COUNTOF, XS_CHAR, XS_vsnprintf, and XS_vsnprintf_s.
{ XS_CHAR b[BUFFER_LEN]; int l = XS_vsnprintf(b, COUNTOF(b), fmt, vl); if (l >= 0) super::append(b, l); else { LPTSTR p = (LPTSTR)malloc(sizeof(TCHAR)*BUFFER_HUGE); #ifdef __STDC_WANT_SECURE_LIB__ l = XS_vsnprintf_s(p, BUFFER_HUGE, _TRUNCATE, fmt, vl); #else l = XS_vsnprintf(p, BUFFER_HUGE, fmt, vl); #endif if (l >= 0) super::append(p, l); else super::append(fmt); // snprintf failed free(p); } return *this; }
XS_String& XMLStorage::XS_String::vprintf | ( | LPCXSSTR | fmt, |
va_list | vl | ||
) | [inline] |
Definition at line 420 of file xmlstorage.h.
References BUFFER_HUGE, BUFFER_LEN, COUNTOF, XS_CHAR, XS_vsnprintf, and XS_vsnprintf_s.
{ XS_CHAR b[BUFFER_LEN]; int l = XS_vsnprintf(b, COUNTOF(b), fmt, vl); if (l >= 0) super::assign(b, l); else { LPTSTR p = (LPTSTR)malloc(sizeof(TCHAR)*BUFFER_HUGE); #ifdef __STDC_WANT_SECURE_LIB__ l = XS_vsnprintf_s(p, BUFFER_HUGE, _TRUNCATE, fmt, vl); #else l = XS_vsnprintf(p, BUFFER_HUGE, fmt, vl); #endif if (l >= 0) super::assign(p, l); else super::assign(fmt); // snprintf failed free(p); } return *this; }
ROS Explorer Source Code Documentation
generated on 02.01.2013 by ![]() |