39 #ifndef MADNESS_TINYXML_TINYSTR_H__INCLUDED 
   40 #define MADNESS_TINYXML_TINYSTR_H__INCLUDED 
   49 #if defined(_MSC_VER) && (_MSC_VER >= 1200 ) 
   51         #define TIXML_EXPLICIT explicit 
   52 #elif defined(__GNUC__) && (__GNUC__ >= 3 ) 
   54         #define TIXML_EXPLICIT explicit 
   56         #define TIXML_EXPLICIT 
   74         static const size_type 
npos; 
 
   92                 init( static_cast<size_type>( strlen(copy) ));
 
   93                 memcpy(start(), copy, 
length());
 
  100                 memcpy(start(), str, len);
 
  112                 return assign( copy, (size_type)strlen(copy));
 
  125                 return append(suffix, static_cast<size_type>( strlen(suffix) ));
 
  131                 return append(&single, 1);
 
  142         const char * 
c_str ()
 const { 
return rep_->str; }
 
  145         const char * 
data ()
 const { 
return rep_->str; }
 
  148         size_type 
length ()
 const { 
return rep_->size; }
 
  151         size_type 
size ()
 const { 
return rep_->size; }
 
  154         bool empty ()
 const { 
return rep_->size == 0; }
 
  157         size_type 
capacity ()
 const { 
return rep_->capacity; }
 
  161         const char& 
at (size_type index)
 const 
  163                 assert( index < 
length() );
 
  164                 return rep_->str[ index ];
 
  170                 assert( index < 
length() );
 
  171                 return rep_->str[ index ];
 
  175         size_type 
find (
char lookup)
 const 
  177                 return find(lookup, 0);
 
  181         size_type 
find (
char tofind, size_type offset)
 const 
  185                 for (
const char* p = 
c_str() + offset; *p != 
'\0'; ++p)
 
  187                    if (*p == tofind) 
return static_cast< size_type 
>( p - 
c_str() );
 
  220         void init(size_type sz) { init(sz, sz); }
 
  221         void set_size(size_type sz) { rep_->str[ rep_->size = sz ] = 
'\0'; }
 
  222         char* start()
 const { 
return rep_->str; }
 
  223         char* finish()
 const { 
return rep_->str + rep_->size; }
 
  231         void init(size_type sz, size_type cap)
 
  240                         const size_type bytesNeeded = 
sizeof(Rep) + cap;
 
  241                         const size_type intsNeeded = ( bytesNeeded + 
sizeof(int) - 1 ) / 
sizeof( int ); 
 
  242                         rep_ = 
reinterpret_cast<Rep*
>( 
new int[ intsNeeded ] );
 
  244                         rep_->str[ rep_->size = sz ] = 
'\0';
 
  245                         rep_->capacity = cap;
 
  255                 if (rep_ != &nullrep_)
 
  259                         delete [] ( 
reinterpret_cast<int*
>( rep_ ) );
 
  318 #endif  // MADNESS_TINYXML_TINYSTR_H__INCLUDED 
  319 #endif  // TIXML_USE_STL 
static const size_type npos
Definition: tinystr.h:74
bool operator>(const TiXmlString &a, const TiXmlString &b)
Definition: tinystr.h:280
void swap(TiXmlString &other)
Definition: tinystr.h:211
size_type find(char tofind, size_type offset) const 
Definition: tinystr.h:181
TiXmlString operator+(const TiXmlString &a, const TiXmlString &b)
Definition: tinystr.cc:86
const char & at(size_type index) const 
Definition: tinystr.h:161
bool operator<(const TiXmlString &a, const TiXmlString &b)
Definition: tinystr.h:274
size_type size() const 
Definition: tinystr.h:151
TiXmlString(const TiXmlString ©)
Definition: tinystr.h:83
size_type capacity() const 
Definition: tinystr.h:157
bool empty() const 
Definition: tinystr.h:154
TiXmlString & operator+=(const char *suffix)
Definition: tinystr.h:123
TIXML_EXPLICIT TiXmlString(const char *str, size_type len)
Definition: tinystr.h:97
size_type length() const 
Definition: tinystr.h:148
TiXmlString & assign(const char *str, size_type len)
Definition: tinystr.cc:54
TiXmlString & operator=(const char *copy)
Definition: tinystr.h:110
void reserve(size_type cap)
Definition: tinystr.cc:42
char & operator[](size_type index) const 
Definition: tinystr.h:168
size_type find(char lookup) const 
Definition: tinystr.h:175
~TiXmlString()
Definition: tinystr.h:104
void clear()
Definition: tinystr.h:192
Function< T, NDIM > copy(const Function< T, NDIM > &f, const std::shared_ptr< WorldDCPmapInterface< Key< NDIM > > > &pmap, bool fence=true)
Create a new copy of the function with different distribution and optional fence. ...
Definition: mra.h:1835
FLOAT a(int j, FLOAT z)
Definition: y1.cc:86
size_t size_type
Definition: tinystr.h:71
const char * c_str() const 
Definition: tinystr.h:142
Definition: tinystr.h:298
bool operator==(const TiXmlString &a, const TiXmlString &b)
Definition: tinystr.h:269
TiXmlString & append(const char *str, size_type len)
Definition: tinystr.cc:73
bool operator>=(const TiXmlString &a, const TiXmlString &b)
Definition: tinystr.h:282
TIXML_EXPLICIT TiXmlString(const char *copy)
Definition: tinystr.h:90
const char * data() const 
Definition: tinystr.h:145
bool operator!=(const TiXmlString &a, const TiXmlString &b)
Definition: tinystr.h:279
TiXmlOutStream & operator<<(const TiXmlString &in)
Definition: tinystr.h:303
#define TIXML_EXPLICIT
Definition: tinystr.h:56
bool operator<=(const TiXmlString &a, const TiXmlString &b)
Definition: tinystr.h:281
FLOAT b(int j, FLOAT z)
Definition: y1.cc:79
TiXmlString()
Definition: tinystr.h:78