66 #define oiv_strdup _strdup
68 #define oiv_strdup strdup
93 SbString(
const char *str) {
string = staticStorage;
97 SbString(
const char *str,
int start,
int end);
101 *
this = str.string; }
120 int getLength()
const {
return static_cast<int>(strlen(
string)); }
124 void makeEmpty(
bool freeOld =
TRUE);
132 SbString getSubString(
int startChar,
int endChar = -1)
const;
137 void deleteSubString(
int startChar,
int endChar = -1);
140 SbString & operator =(
const char *str);
143 {
return (*
this = str.string); }
146 SbString & operator +=(
const char *str);
152 bool operator !()
const {
return (
string[0] ==
'\0'); }
158 {
return (str == s); }
162 {
return (str1 == str2.string); }
168 {
return (str != s); }
172 {
return (str1 != str2.string); }
178 {
return (str < s); }
181 {
return (str1 < str2.string); }
186 static uint32_t hash(
const char *s);
193 #define SB_STRING_STATIC_STORAGE_SIZE 32
196 void expand(
int bySize);
212 bool isEmpty()
const {
return (
string[0] ==
'\0'); }
216 {
return (
string[0] == s[0] && ! strcmp(
string, s)); }
219 static int nameTableSize;
221 static struct SbNameChunk *chunk;
228 static void initClass();
232 {
string = s; hashValue = h; next = n; }
271 SbName(
const char *s) { entry = SbNameEntry::insert(s); }
286 int getLength()
const {
return static_cast<int>(strlen(entry->string)); }
290 static bool isIdentStartChar(
char c);
294 static bool isIdentChar(
char c);
298 static bool isBaseNameStartChar(
char c);
302 static bool isBaseNameChar(
char c);
305 bool operator !()
const {
return entry->isEmpty(); }
309 {
return n.entry->
isEqual(s); }
312 {
return n.entry->
isEqual(s); }
315 {
return n1.entry == n2.entry; }
319 {
return ! n.entry->
isEqual(s); }
322 {
return ! n.entry->
isEqual(s); }
325 {
return n1.entry != n2.entry; }
uint32_t hash()
Returns a reasonable hash key for string.
const char * getString() const
Returns pointer to the character string.
SbName(const SbName &n)
Constructors and destructor.
SbString(const char *str)
#define SB_STRING_STATIC_STORAGE_SIZE
This is used if the string fits in a reasonably small space.
int getLength() const
Returns length of string.
SbString(const SbString &str)
int getLength() const
Returns length of string.
bool isEmpty() const
Returns TRUE if entry's string is empty ("")
This is used to make lists of SbName instances.
SbName(const char *s)
Constructor that initializes to given character string.
INVENTOR_API bool operator==(const SbBox3f &b1, const SbBox3f &b2)
const char * getString() const
Returns pointer to the character string.
SbName(const SbString &s)
Constructor that initializes to given SbString.
INVENTOR_API bool operator!=(const SbBox3f &b1, const SbBox3f &b2)
~SbName()
Constructors and destructor.
Class for smart character strings.
#define INVENTOR_API
Disable some annoying warnings on MSVC 6.
bool isEqual(const char *s) const
Returns TRUE if entry's string is same as passed string.
Character string stored in a hash table.