Coin Logo http://www.sim.no
http://www.coin3d.org

Public Member Functions | Static Public Member Functions | Friends | Related Symbols | List of all members
SbString Class Reference

The SbString class is a string class with convenience functions for string operations. More...

#include <Inventor/SbString.h>

Public Member Functions

 SbString (void)
 
 SbString (const char *s)
 
 SbString (const char *s, int start, int end)
 
 SbString (const SbString &s)
 
 SbString (const int digits)
 
 ~SbString ()
 
uint32_t hash (void) const
 
int getLength (void) const
 
void makeEmpty (SbBool freeold=1)
 
const char * getString (void) const
 
SbString getSubString (int startidx, int endidx=-1) const
 
void deleteSubString (int startidx, int endidx=-1)
 
void addIntString (const int value)
 
char operator[] (int index) const
 
SbStringoperator= (const char *s)
 
SbStringoperator= (const SbString &s)
 
SbStringoperator+= (const char *s)
 
SbStringoperator+= (const SbString &s)
 
SbStringoperator+= (const char c)
 
int operator! (void) const
 
int compareSubString (const char *text, int offset=0) const
 
SbStringsprintf (const char *formatstr,...)
 
SbStringvsprintf (const char *formatstr, va_list args)
 
void apply (char(*func)(char input))
 
int find (const SbString &s) const
 
SbBool findAll (const SbString &s, SbIntList &found) const
 

Static Public Member Functions

static uint32_t hash (const char *s)
 

Friends

int operator== (const SbString &sbstr, const char *s)
 
int operator== (const char *s, const SbString &sbstr)
 
int operator== (const SbString &str1, const SbString &str2)
 
int operator!= (const SbString &sbstr, const char *s)
 
int operator!= (const char *s, const SbString &sbstr)
 
int operator!= (const SbString &str1, const SbString &str2)
 

Related Symbols

(Note that these are not member symbols.)

int operator== (const SbString &str, const char *s)
 
int operator== (const char *s, const SbString &str)
 
int operator== (const SbString &str1, const SbString &str2)
 
int operator!= (const SbString &str, const char *s)
 
int operator!= (const char *s, const SbString &str)
 
int operator!= (const SbString &str1, const SbString &str2)
 

Detailed Description

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.

This class should also be well suited for use by the application programmer throughout the application using the Coin library.

See also
SbName

Constructor & Destructor Documentation

◆ SbString() [1/5]

SbString::SbString ( void )
inline

This is the default constructor. It initializes the string to be empty.

References SbList< Type >::SbList().

◆ SbString() [2/5]

SbString::SbString ( const char * str)
inline

This constructor assigns from the given string.

References SbList< Type >::SbList().

◆ SbString() [3/5]

SbString::SbString ( const char * str,
int start,
int end )
inline

This constructor constructs a string from the given substring from start to end indices inclusive. If end is -1, the substring from start until the end of the string is used.

References SbList< Type >::SbList().

◆ SbString() [4/5]

SbString::SbString ( const SbString & str)
inline

This is the copy constructor.

References SbList< Type >::SbList().

◆ SbString() [5/5]

SbString::SbString ( const int digits)
inline

Construct an SbString instance containing the digits of the integer argument.

References SbList< Type >::SbList().

◆ ~SbString()

SbString::~SbString ( )
inline

The destructor. Deallocates any internal resources used during the lifetime of the SbString instance.

References SbList< Type >::SbList().

Member Function Documentation

◆ hash() [1/2]

uint32_t SbString::hash ( void ) const
inline

This method returns a reasonable hash value for the current string.

See also
uint32_t SbString::hash(const char * s)

References SbList< Type >::SbList().

◆ hash() [2/2]

uint32_t SbString::hash ( const char * s)
inlinestatic

This static method returns a hash value for the given string.

References SbList< Type >::SbList().

◆ getLength()

int SbString::getLength ( void ) const
inline

◆ makeEmpty()

void SbString::makeEmpty ( SbBool freeold = 1)
inline

This method clears the string, making it an empty string (""). If freeold is TRUE (which is the default), the memory used by the old string is freed. Otherwise, memory will be kept and reused when the string is manipulated later.

References SbList< Type >::SbList().

Referenced by SoInput::read(), and SoFile::readInstance().

◆ getString()

const char * SbString::getString ( void ) const
inline

◆ getSubString()

SbString SbString::getSubString ( int startidx,
int endidx = -1 ) const
inline

This method returns a new string which contains a substring defined by the given indices startidx and endidx (inclusive).

If endidx is -1, the substring from startidx to the end of the string is used.

This will return a string which is (endidx - startidx + 1) characters long, i.e. if this string is "foo/bar" and we call by SbString::getSubString(0, 3), the returned string will be "foo/".

References SbList< Type >::SbList().

Referenced by SoInput::getBasename(), SoDB::getHeaderData(), and SoInput::getPathname().

◆ deleteSubString()

void SbString::deleteSubString ( int startidx,
int endidx = -1 )
inline

This method deletes the substring defined by startidx and endidx (inclusive). If endidx is -1, the substring from startidx to the end of the string is deleted.

References SbList< Type >::SbList().

Referenced by SoMFString::deleteText().

◆ addIntString()

void SbString::addIntString ( const int value)
inline

Constructs a string from the given integer (e.g. intToString(42) creates the string "42"), and adds this to the contents of the string.

References SbList< Type >::SbList().

Referenced by SbTime::format().

◆ operator[]()

char SbString::operator[] ( int index) const
inline

Returns character at position index in the string.

See also
getSubString()

Referenced by find(), and findAll().

◆ operator=() [1/2]

SbString & SbString::operator= ( const char * str)
inline

This is the assignment operator.

References SbList< Type >::SbList().

◆ operator=() [2/2]

SbString & SbString::operator= ( const SbString & str)
inline

Assign from the given string.

References SbList< Type >::SbList().

◆ operator+=() [1/3]

SbString & SbString::operator+= ( const char * str)
inline

Concatenate the given string to the end of the current one.

References SbList< Type >::SbList().

◆ operator+=() [2/3]

SbString & SbString::operator+= ( const SbString & str)
inline

Concatenate the given string to the end of the current one.

References SbList< Type >::SbList().

◆ operator+=() [3/3]

SbString & SbString::operator+= ( const char c)
inline

Concatenate the given character to the end of the current string.

Note
This member function is not compatible with OpenInventor.

References SbList< Type >::SbList().

◆ operator!()

int SbString::operator! ( void ) const
inline

This unary operator results in TRUE if the current string is empty ("") or FALSE otherwise.

References SbList< Type >::SbList().

◆ compareSubString()

int SbString::compareSubString ( const char * text,
int offset = 0 ) const
inline

Uses text as a substring to be compared to the string, starting at offset offset. Return value is 0 upon success, and the failing character comparison difference upon failure.

References SbList< Type >::SbList().

◆ sprintf()

SbString & SbString::sprintf ( const char * formatstr,
... )
inline

Set SbString instance to the formatted string formatstr, replacing the current contents. The control characters within formatstr and the remaining arguments should follow the conventions of the printf() call.

Note that this function is not part of the original Open Inventor API.

References SbList< Type >::SbList().

Referenced by SoHandleBoxDragger::dragStart(), SoTabPlaneDragger::dragStart(), SoTransformerDragger::dragStart(), SoInput::findFile(), SoInput::getLocationString(), SoField::read(), SoFieldData::readFieldDescriptions(), SoInput::searchForFile(), SoHandleBoxDragger::setAllPartsActive(), SoCenterballDragger::setUpConnections(), SoTabBoxDragger::setUpConnections(), SoTransformBoxDragger::setUpConnections(), SoOutput::write(), SoOutput::write(), SoOutput::write(), SoOutput::write(), SoOutput::write(), and SoOutput::write().

◆ vsprintf()

SbString & SbString::vsprintf ( const char * formatstr,
va_list args )
inline

Set SbString instance to the formatted string formatstr, replacing the current contents. The control characters within formatstr and the arguments of the args argument list should follow the conventions of the printf() call.

Note that this function is not part of the original Open Inventor API.

References SbList< Type >::SbList().

◆ find()

int SbString::find ( const SbString & strarg) const

If s is found, the method returns the first index where s starts. Otherwise it returns -1.

Note: SbString::find() is a Coin specific extension to the original Open Inventor API.

See also
SbString::findAll()
Since
Coin 2.0

References SbList< Type >::getLength(), getLength(), and operator[]().

◆ findAll()

SbBool SbString::findAll ( const SbString & strarg,
SbIntList & found ) const

All occurences of str is represented in found as indices to the characters where str starts. If 1 or more is found, TRUE is returned, else FALSE is returned.

Note: SbString::findAll() is an extension to the original Open Inventor API.

See also
SbString::find()
Since
Coin 2.0

References SbList< Type >::append(), SbList< Type >::getLength(), getLength(), operator[](), and SbList< Type >::truncate().

Friends And Related Symbol Documentation

◆ operator== [1/6]

int operator== ( const SbString & str,
const char * s )
friend

Equality operator. Check if the strings have the same contents.

◆ operator== [2/6]

int operator== ( const char * s,
const SbString & str )
friend

Equality operator. Check if the strings have the same contents.

◆ operator== [3/6]

int operator== ( const SbString & str1,
const SbString & str2 )
friend

Equality operator. Check if the strings have the same contents.

◆ operator!= [1/6]

int operator!= ( const SbString & str,
const char * s )
friend

Inequality operator.

◆ operator!= [2/6]

int operator!= ( const char * s,
const SbString & str )
friend

Inequality operator.

◆ operator!= [3/6]

int operator!= ( const SbString & str1,
const SbString & str2 )
friend

Inequality operator.

◆ operator==() [4/6]

int operator== ( const SbString & str,
const char * s )
related

Equality operator. Check if the strings have the same contents.

◆ operator==() [5/6]

int operator== ( const char * s,
const SbString & str )
related

Equality operator. Check if the strings have the same contents.

◆ operator==() [6/6]

int operator== ( const SbString & str1,
const SbString & str2 )
related

Equality operator. Check if the strings have the same contents.

◆ operator!=() [4/6]

int operator!= ( const SbString & str,
const char * s )
related

Inequality operator.

◆ operator!=() [5/6]

int operator!= ( const char * s,
const SbString & str )
related

Inequality operator.

◆ operator!=() [6/6]

int operator!= ( const SbString & str1,
const SbString & str2 )
related

Inequality operator.


The documentation for this class was generated from the following files:

Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.

Generated on Mon Jan 22 2024 for Coin by Doxygen. 1.10.0