XMLStorage::XS_String Struct Reference

string class for TCHAR strings More...

#include <xmlstorage.h>

Inheritance diagram for XMLStorage::XS_String:

Inheritance graph
[legend]
Collaboration diagram for XMLStorage::XS_String:

Collaboration graph
[legend]

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)
 XS_String (LPCWSTR s)
 XS_String (LPCWSTR s, size_t l)
 XS_String (const std::wstring &other)
XS_Stringoperator= (LPCWSTR s)
void assign (LPCWSTR s)
void assign (LPCWSTR s, size_t l)
XS_Stringoperator= (LPCXSSTR s)
XS_Stringoperator= (const super &s)
void assign (LPCXSSTR s)
void assign (LPCXSSTR s, size_t l)
 operator LPCXSSTR () const
 operator std::wstring () const
XS_Stringprintf (LPCXSSTR fmt,...)
XS_Stringvprintf (LPCXSSTR fmt, va_list l)
XS_Stringappendf (LPCXSSTR fmt,...)
XS_Stringvappendf (LPCXSSTR fmt, va_list l)

Detailed Description

string class for TCHAR strings

Definition at line 219 of file xmlstorage.h.


Member Typedef Documentation

typedef std::string XMLStorage::XS_String::super

Definition at line 229 of file xmlstorage.h.


Constructor & Destructor Documentation

XMLStorage::XS_String::XS_String (  )  [inline]

Definition at line 232 of file xmlstorage.h.

Referenced by XMLStorage::XMLDoc::read(), and XMLStorage::XMLNode::subvalue().

00232 {}

Here is the caller graph for this function:

XMLStorage::XS_String::XS_String ( LPCXSSTR  s  )  [inline]

Definition at line 234 of file xmlstorage.h.

00234 {if (s) super::assign(s);}

XMLStorage::XS_String::XS_String ( LPCXSSTR  s,
size_t  l 
) [inline]

Definition at line 235 of file xmlstorage.h.

00235 : super(s, l) {}

XMLStorage::XS_String::XS_String ( const super other  )  [inline]

Definition at line 237 of file xmlstorage.h.

00237 : super(other) {}

XMLStorage::XS_String::XS_String ( const XS_String other  )  [inline]

Definition at line 238 of file xmlstorage.h.

00238 : super(other) {}

XMLStorage::XS_String::XS_String ( LPCWSTR  s  )  [inline]

Definition at line 248 of file xmlstorage.h.

00248 {assign(s);}

XMLStorage::XS_String::XS_String ( LPCWSTR  s,
size_t  l 
) [inline]

Definition at line 249 of file xmlstorage.h.

00249 {assign(s, l);}

XMLStorage::XS_String::XS_String ( const std::wstring &  other  )  [inline]

Definition at line 250 of file xmlstorage.h.

00250 {assign(other.c_str());}


Member Function Documentation

XS_String& XMLStorage::XS_String::operator= ( LPCWSTR  s  )  [inline]

Definition at line 251 of file xmlstorage.h.

00251 {assign(s); return *this;}

void XMLStorage::XS_String::assign ( LPCWSTR  s  )  [inline]

Definition at line 257 of file xmlstorage.h.

Referenced by XMLStorage::assign_utf8(), XMLStorage::XMStringRef::operator=(), XMLStorage::XMLDoubleRef::operator=(), XMLStorage::XMLIntRef::operator=(), XMLStorage::XMLBoolRef::operator=(), XMLStorage::XMLNode::operator=(), XMLStorage::XMLNode::set_content(), XMLStorage::XMLBoolRef::toggle(), XMLStorage::XMLBoolRef::XMLBoolRef(), XMLStorage::XMLDoubleRef::XMLDoubleRef(), XMLStorage::XMLIntRef::XMLIntRef(), and XMLStorage::XMStringRef::XMStringRef().

00257 {if (s) {size_t bl=wcslen(s); LPSTR b=(LPSTR)alloca(bl); super::assign(b, WideCharToMultiByte(CP_ACP, 0, s, (int)bl, b, (int)bl, 0, 0));} else erase();}

Here is the caller graph for this function:

void XMLStorage::XS_String::assign ( LPCWSTR  s,
size_t  l 
) [inline]

Definition at line 258 of file xmlstorage.h.

00258 {size_t bl=l; if (s) {LPSTR b=(LPSTR)alloca(bl); super::assign(b, WideCharToMultiByte(CP_ACP, 0, s, (int)l, b, (int)bl, 0, 0));} else erase();}

XS_String& XMLStorage::XS_String::operator= ( LPCXSSTR  s  )  [inline]

Definition at line 262 of file xmlstorage.h.

00262 {if (s) super::assign(s); else erase(); return *this;}

XS_String& XMLStorage::XS_String::operator= ( const super s  )  [inline]

Definition at line 263 of file xmlstorage.h.

00263 {super::assign(s); return *this;}

void XMLStorage::XS_String::assign ( LPCXSSTR  s  )  [inline]

Definition at line 264 of file xmlstorage.h.

00264 {super::assign(s);}

void XMLStorage::XS_String::assign ( LPCXSSTR  s,
size_t  l 
) [inline]

Definition at line 265 of file xmlstorage.h.

00265 {super::assign(s, l);}

XMLStorage::XS_String::operator LPCXSSTR (  )  const [inline]

Definition at line 267 of file xmlstorage.h.

00267 {return c_str();}

XMLStorage::XS_String::operator std::wstring (  )  const [inline]

Definition at line 274 of file xmlstorage.h.

00274 {size_t bl=length(); LPWSTR b=(LPWSTR)alloca(sizeof(WCHAR)*bl); return std::wstring(b, MultiByteToWideChar(CP_ACP, 0, c_str(), (int)bl, b, (int)bl));}

XS_String& XMLStorage::XS_String::printf ( LPCXSSTR  fmt,
  ... 
) [inline]

Definition at line 277 of file xmlstorage.h.

References BUFFER_LEN, COUNTOF, XS_CHAR, and XS_vsnprintf.

00278     {
00279         va_list l;
00280         XS_CHAR b[BUFFER_LEN];
00281 
00282         va_start(l, fmt);
00283         super::assign(b, XS_vsnprintf(b, COUNTOF(b), fmt, l));
00284         va_end(l);
00285 
00286         return *this;
00287     }

XS_String& XMLStorage::XS_String::vprintf ( LPCXSSTR  fmt,
va_list  l 
) [inline]

Definition at line 289 of file xmlstorage.h.

References BUFFER_LEN, COUNTOF, XS_CHAR, and XS_vsnprintf.

00290     {
00291         XS_CHAR b[BUFFER_LEN];
00292 
00293         super::assign(b, XS_vsnprintf(b, COUNTOF(b), fmt, l));
00294 
00295         return *this;
00296     }

XS_String& XMLStorage::XS_String::appendf ( LPCXSSTR  fmt,
  ... 
) [inline]

Definition at line 298 of file xmlstorage.h.

References BUFFER_LEN, COUNTOF, XS_CHAR, and XS_vsnprintf.

00299     {
00300         va_list l;
00301         XS_CHAR b[BUFFER_LEN];
00302 
00303         va_start(l, fmt);
00304         super::append(b, XS_vsnprintf(b, COUNTOF(b), fmt, l));
00305         va_end(l);
00306 
00307         return *this;
00308     }

XS_String& XMLStorage::XS_String::vappendf ( LPCXSSTR  fmt,
va_list  l 
) [inline]

Definition at line 310 of file xmlstorage.h.

References BUFFER_LEN, COUNTOF, XS_CHAR, and XS_vsnprintf.

00311     {
00312         XS_CHAR b[BUFFER_LEN];
00313 
00314         super::append(b, XS_vsnprintf(b, COUNTOF(b), fmt, l));
00315 
00316         return *this;
00317     }


The documentation for this struct was generated from the following file:
IBrowser Source Code Documentation
generated on 18.09.2008 by doxygen

Homepage