|
osgEarth 2.1.1
|
#include <tinystr.h>
Inheritance diagram for TiXmlString:
Collaboration diagram for TiXmlString:Classes | |
| struct | Rep |
Public Types | |
| typedef size_t | size_type |
Public Member Functions | |
| TiXmlString () | |
| TiXmlString (const TiXmlString ©) | |
| TIXML_EXPLICIT | TiXmlString (const char *copy) |
| TIXML_EXPLICIT | TiXmlString (const char *str, size_type len) |
| ~TiXmlString () | |
| TiXmlString & | operator= (const char *copy) |
| TiXmlString & | operator= (const TiXmlString ©) |
| TiXmlString & | operator+= (const char *suffix) |
| TiXmlString & | operator+= (char single) |
| TiXmlString & | operator+= (const TiXmlString &suffix) |
| const char * | c_str () const |
| const char * | data () const |
| size_type | length () const |
| size_type | size () const |
| bool | empty () const |
| size_type | capacity () const |
| const char & | at (size_type index) const |
| char & | operator[] (size_type index) const |
| size_type | find (char lookup) const |
| size_type | find (char tofind, size_type offset) const |
| void | clear () |
| void | reserve (size_type cap) |
| TiXmlString & | assign (const char *str, size_type len) |
| TiXmlString & | append (const char *str, size_type len) |
| void | swap (TiXmlString &other) |
Static Public Attributes | |
| static const size_type | npos = static_cast< TiXmlString::size_type >(-1) |
Private Member Functions | |
| void | init (size_type sz) |
| void | set_size (size_type sz) |
| char * | start () const |
| char * | finish () const |
| void | init (size_type sz, size_type cap) |
| void | quit () |
Private Attributes | |
| Rep * | rep_ |
Static Private Attributes | |
| static Rep | nullrep_ = { 0, 0, { '\0' } } |
| typedef size_t TiXmlString::size_type |
| TiXmlString::TiXmlString | ( | ) | [inline] |
| TiXmlString::TiXmlString | ( | const TiXmlString & | copy | ) | [inline] |
| TIXML_EXPLICIT TiXmlString::TiXmlString | ( | const char * | copy | ) | [inline] |
| TIXML_EXPLICIT TiXmlString::TiXmlString | ( | const char * | str, |
| size_type | len | ||
| ) | [inline] |
| TiXmlString::~TiXmlString | ( | ) | [inline] |
| TiXmlString & TiXmlString::append | ( | const char * | str, |
| size_type | len | ||
| ) |
| TiXmlString & TiXmlString::assign | ( | const char * | str, |
| size_type | len | ||
| ) |
Definition at line 54 of file tinystr.cpp.
{
size_type cap = capacity();
if (len > cap || cap > 3*(len + 8))
{
TiXmlString tmp;
tmp.init(len);
memcpy(tmp.start(), str, len);
swap(tmp);
}
else
{
memmove(start(), str, len);
set_size(len);
}
return *this;
}
Here is the call graph for this function:
Here is the caller graph for this function:| const char& TiXmlString::at | ( | size_type | index | ) | const [inline] |
| const char* TiXmlString::c_str | ( | ) | const [inline] |
| size_type TiXmlString::capacity | ( | ) | const [inline] |
| void TiXmlString::clear | ( | ) | [inline] |
| const char* TiXmlString::data | ( | ) | const [inline] |
| bool TiXmlString::empty | ( | ) | const [inline] |
| size_type TiXmlString::find | ( | char | lookup | ) | const [inline] |
| char* TiXmlString::finish | ( | ) | const [inline, private] |
Definition at line 231 of file tinystr.h.
{
if (cap)
{
// Lee: the original form:
// rep_ = static_cast<Rep*>(operator new(sizeof(Rep) + cap));
// doesn't work in some cases of new being overloaded. Switching
// to the normal allocation, although use an 'int' for systems
// that are overly picky about structure alignment.
const size_type bytesNeeded = sizeof(Rep) + cap;
const size_type intsNeeded = ( bytesNeeded + sizeof(int) - 1 ) / sizeof( int );
rep_ = reinterpret_cast<Rep*>( new int[ intsNeeded ] );
rep_->str[ rep_->size = sz ] = '\0';
rep_->capacity = cap;
}
else
{
rep_ = &nullrep_;
}
}
| void TiXmlString::init | ( | size_type | sz | ) | [inline, private] |
| size_type TiXmlString::length | ( | ) | const [inline] |
| TiXmlString& TiXmlString::operator+= | ( | char | single | ) | [inline] |
| TiXmlString& TiXmlString::operator+= | ( | const TiXmlString & | suffix | ) | [inline] |
| TiXmlString& TiXmlString::operator+= | ( | const char * | suffix | ) | [inline] |
| TiXmlString& TiXmlString::operator= | ( | const TiXmlString & | copy | ) | [inline] |
| TiXmlString& TiXmlString::operator= | ( | const char * | copy | ) | [inline] |
| char& TiXmlString::operator[] | ( | size_type | index | ) | const [inline] |
| void TiXmlString::quit | ( | ) | [inline, private] |
Definition at line 253 of file tinystr.h.
{
if (rep_ != &nullrep_)
{
// The rep_ is really an array of ints. (see the allocator, above).
// Cast it back before delete, so the compiler won't incorrectly call destructors.
delete [] ( reinterpret_cast<int*>( rep_ ) );
}
}
Here is the caller graph for this function:| void TiXmlString::reserve | ( | size_type | cap | ) |
Definition at line 42 of file tinystr.cpp.
{
if (cap > capacity())
{
TiXmlString tmp;
tmp.init(length(), cap);
memcpy(tmp.start(), data(), length());
swap(tmp);
}
}
Here is the call graph for this function:
Here is the caller graph for this function:| void TiXmlString::set_size | ( | size_type | sz | ) | [inline, private] |
| size_type TiXmlString::size | ( | ) | const [inline] |
| char* TiXmlString::start | ( | ) | const [inline, private] |
| void TiXmlString::swap | ( | TiXmlString & | other | ) | [inline] |
const TiXmlString::size_type TiXmlString::npos = static_cast< TiXmlString::size_type >(-1) [static] |
TiXmlString::Rep TiXmlString::nullrep_ = { 0, 0, { '\0' } } [static, private] |
Rep* TiXmlString::rep_ [private] |
1.7.3