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
|