1 #ifndef COIN_SBSTRING_H 
    2 #define COIN_SBSTRING_H 
   29 #include <Inventor/system/inttypes.h> 
   30 #include <Inventor/C/base/string.h> 
   33  #define COIN_ALLOW_SBINTLIST 
   34  #include <Inventor/lists/SbIntList.h> 
   35  #undef COIN_ALLOW_SBINTLIST 
   37  #include <Inventor/lists/SbIntList.h> 
   38 #endif // COIN_INTERNAL 
   44   SbString(
void) { cc_string_construct(&this->str); }
 
   47   { cc_string_construct(&this->str); cc_string_set_text(&this->str, s); }
 
   50   { cc_string_construct(&this->str); cc_string_set_subtext(&this->str, s, start, end); }
 
   53   { cc_string_construct(&this->str); cc_string_set_string(&this->str, &s.str); }
 
   56   { cc_string_construct(&this->str); cc_string_set_integer(&this->str, digits); }
 
   60   uint32_t 
hash(
void)
 const { 
return cc_string_hash(&this->str); }
 
   61   static uint32_t 
hash(
const char * s) { 
return cc_string_hash_text(s); }
 
   63   int getLength(
void)
 const { 
return cc_string_length(&this->str); }
 
   67     if ( freeold ) cc_string_clear(&this->str);
 
   68     else cc_string_clear_no_free(&this->str);
 
   71   const char * 
getString(
void)
 const { 
return cc_string_get_text(&this->str); }
 
   76     cc_string_set_subtext(&s.str, cc_string_get_text(&this->str), startidx, endidx);
 
   81     cc_string_remove_substring(&this->str, startidx, endidx);
 
   84   void addIntString(
const int value) { cc_string_append_integer(&this->str, value); }
 
   86   char operator[](
int index)
 const { 
return this->str.pointer[index]; }
 
   89   { cc_string_set_text(&this->str, s); 
return *
this; }
 
   91   { cc_string_set_text(&this->str, s.str.pointer); 
return *
this; }
 
   94   { cc_string_append_text(&this->str, s); 
return *
this; }
 
   96   { cc_string_append_string(&this->str, &s.str); 
return *
this; }
 
   98   { cc_string_append_char(&this->str, c); 
return *
this; }
 
  100   int operator!(
void)
 const { 
return ! cc_string_is(&this->str); }
 
  103   { 
return cc_string_compare_subtext(&this->str, text, offset); }
 
  107     va_list args; va_start(args, formatstr);
 
  108     cc_string_vsprintf(&this->str, formatstr, args);
 
  109     va_end(args); 
return *
this;
 
  112   { cc_string_vsprintf(&this->str, formatstr, args); 
return *
this; }
 
  114   void apply(
char (*func)(
char input)) {
 
  115     cc_string_apply(&this->str, reinterpret_cast<cc_apply_f>(func));
 
  124   friend int operator==(
const SbString & sbstr, 
const char * s);
 
  125   friend int operator==(
const char * s, 
const SbString & sbstr);
 
  127   friend int operator!=(
const SbString & sbstr, 
const char * s);
 
  128   friend int operator!=(
const char * s, 
const SbString & sbstr);
 
  139 { 
return (cc_string_compare_text(sbstr.str.pointer, s) == 0); }
 
  141 { 
return (cc_string_compare_text(s, sbstr.str.pointer) == 0); }
 
  143 { 
return (cc_string_compare_text(str1.str.pointer, str2.str.pointer) == 0); }
 
  146 { 
return (cc_string_compare_text(sbstr.str.pointer, s) != 0); }
 
  148 { 
return (cc_string_compare_text(s, sbstr.str.pointer) != 0); }
 
  150 { 
return (cc_string_compare_text(str1.str.pointer, str2.str.pointer) != 0); }
 
  171 #ifndef COIN_INTERNAL 
  173 #include <Inventor/SbName.h> 
  174 #endif // !COIN_INTERNAL 
  176 #endif // !COIN_SBSTRING_H 
SbString(const SbString &s)
Definition: SbString.h:52
SbString getSubString(int startidx, int endidx=-1) const 
Definition: SbString.h:73
void makeEmpty(SbBool freeold=TRUE)
Definition: SbString.h:65
SbString & sprintf(const char *formatstr,...)
Definition: SbString.h:105
SbString(const char *s)
Definition: SbString.h:46
SbString & operator+=(const char *s)
Definition: SbString.h:93
SbString(const int digits)
Definition: SbString.h:55
int operator!=(const SbBox2d &b1, const SbBox2d &b2)
Definition: SbBox2d.h:92
int compareSubString(const char *text, int offset=0) const 
Definition: SbString.h:102
int operator==(const SbBox2d &b1, const SbBox2d &b2)
Definition: SbBox2d.h:88
int getLength(void) const 
Definition: SbString.h:63
SbString & operator+=(const SbString &s)
Definition: SbString.h:95
SbString(void)
Definition: SbString.h:44
SbString & operator=(const char *s)
Definition: SbString.h:88
~SbString()
Definition: SbString.h:58
SbString & vsprintf(const char *formatstr, va_list args)
Definition: SbString.h:111
void deleteSubString(int startidx, int endidx=-1)
Definition: SbString.h:79
uint32_t hash(void) const 
Definition: SbString.h:60
SbString & operator+=(const char c)
Definition: SbString.h:97
SbString(const char *s, int start, int end)
Definition: SbString.h:49
The cc_string type is a C ADT for ASCII string management.This is a Coin extension. 
Definition: string.h:41
int operator!(void) const 
Definition: SbString.h:100
void addIntString(const int value)
Definition: SbString.h:84
static uint32_t hash(const char *s)
Definition: SbString.h:61
const char * getString(void) const 
Definition: SbString.h:71
SbVec2d operator+(const SbVec2d &v1, const SbVec2d &v2)
Definition: SbVec2d.h:95
The SbString class is a string class with convenience functions for string operations.This is the class used for storing and working with character strings. It automatically takes care of supporting all the "bookkeeping" tasks usually associated with working with character strings, like memory allocation and deallocation etc. 
Definition: SbString.h:42
The SbIntList class is a container for integer list arrays. 
Definition: SbIntList.h:31
SbString & operator=(const SbString &s)
Definition: SbString.h:90
char operator[](int index) const 
Definition: SbString.h:86