BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Public Member Functions | Static Public Attributes | Protected Member Functions | Static Protected Member Functions | Static Private Member Functions | Static Private Attributes | Friends | List of all members
BALL::String Class Reference

#include <BALL/DATATYPE/string.h>

Inheritance diagram for BALL::String:

Public Member Functions

virtual void * create (bool=true, bool empty=false) const
 
Constructors and Destructors
 String ()
 Default Constructor. More...
 
 String (const string &string)
 STL string copy constructor. More...
 
 String (const String &s)
 Copy constructor. More...
 
 String (const QString &string)
 QString copy constructor. More...
 
 String (const QByteArray &string)
 QByteArray copy constructor. More...
 
 String (const String &s, Index from, Size len=EndPos)
 
 String (const char *char_ptr, Index from=0, Size len=EndPos)
 
 String (Size buffer_size, const char *format,...)
 
 String (std::strstream &s)
 
 String (const char c, Size len=1)
 
 String (const unsigned char uc)
 Creates a string just containing an unsigned character. More...
 
 String (short s)
 Construct a String from a short. More...
 
 String (unsigned short us)
 Construct a String from an unsigned short. More...
 
 String (int i)
 Construct a String from an int. More...
 
 String (unsigned int ui)
 Construct a String from an unsigned int. More...
 
 String (long l)
 Construct a String from a long. More...
 
 String (unsigned long)
 Construct a String from an unsigned long. More...
 
 String (float f)
 Construct a String from a float value. More...
 
 String (double d)
 Construct a String from a double value. More...
 
virtual ~String ()
 Destructor. More...
 
void destroy ()
 Clear the string (reset to the empty string) More...
 
virtual void clear ()
 Clears the string (same as destroy) More...
 
Assignment methods
void set (const String &s)
 
void set (const String &string, Index from, Size len=EndPos)
 
void set (const char *char_ptr, Index from=0, Size len=EndPos)
 
void set (Size buffer_size, const char *format,...)
 
void set (std::strstream &s)
 
void set (char c, Size len=1)
 Assign a String from the result of repeating c len times. More...
 
void set (unsigned char uc)
 Assign a String from an unsigned char. More...
 
void set (short s)
 Assign a String from a short. More...
 
void set (unsigned short us)
 Assign a String from an unsigned short. More...
 
void set (int i)
 Assign a String from an int. More...
 
void set (unsigned int ui)
 Assign a String from an unsigned int. More...
 
void set (long l)
 Assign a String from a long. More...
 
void set (unsigned long ul)
 Assign a String from an unsigned long. More...
 
void set (float f)
 Assign a String from a float value. More...
 
void set (double d)
 Assign a String from a double value. More...
 
void get (char *char_ptr, Index from=0, Size len=EndPos) const
 
const Stringoperator= (const String &s)
 Assign a String from another String. More...
 
const Stringoperator= (const char *pc)
 
const Stringoperator= (std::strstream &s)
 
const Stringoperator= (char c)
 Assign a String from a single char. More...
 
const Stringoperator= (unsigned char uc)
 Assign a String from an unsigned char. More...
 
const Stringoperator= (short s)
 Assign a String from a short. More...
 
const Stringoperator= (unsigned short us)
 Assign a String from an unsigned short. More...
 
const Stringoperator= (int i)
 Assign a String from an int. More...
 
const Stringoperator= (unsigned int ui)
 Assign a String from an unsigned int. More...
 
const Stringoperator= (long l)
 Assign a String from a long. More...
 
const Stringoperator= (unsigned long ul)
 Assign a String from an unsigned long. More...
 
const Stringoperator= (float f)
 Assign a String from a float. More...
 
const Stringoperator= (double d)
 Assign a String from a double. More...
 
Converters
bool toBool () const
 
char toChar () const
 Return the first character of the string. More...
 
unsigned char toUnsignedChar () const
 Return the first character of the string converted to an unsigned char. More...
 
short toShort () const
 
unsigned short toUnsignedShort () const
 
int toInt () const
 
unsigned int toUnsignedInt () const
 
long toLong () const
 
unsigned long toUnsignedLong () const
 
float toFloat () const
 
double toDouble () const
 
Case Conversion
void toLower (Index from=0, Size len=EndPos)
 
void toUpper (Index from=0, Size len=EndPos)
 
Substring Definition
Substring getSubstring (Index from=0, Size len=EndPos) const
 
Substring operator() (Index from, Size len=EndPos) const
 
Substring before (const String &s, Index from=0) const
 
Substring through (const String &s, Index from=0) const
 
Substring from (const String &s, Index from=0) const
 
Substring after (const String &s, Index from=0) const
 
AWK style field operations
Size countFields (const char *delimiters=CHARACTER_CLASS__WHITESPACE) const
 
Size countFieldsQuoted (const char *delimiters=CHARACTER_CLASS__WHITESPACE, const char *quotes=CHARACTER_CLASS__QUOTES) const
 
String getField (Index index, const char *delimiters=CHARACTER_CLASS__WHITESPACE, Index *from=0) const
 
String getFieldQuoted (Index index, const char *delimiters=CHARACTER_CLASS__WHITESPACE, const char *quotes=CHARACTER_CLASS__QUOTES, Index *from=0) const
 
Size split (String string_array[], Size array_size, const char *delimiters=CHARACTER_CLASS__WHITESPACE, Index from=0) const
 
Size split (std::vector< String > &strings, const char *delimiters=CHARACTER_CLASS__WHITESPACE, Index from=0) const
 
Size splitQuoted (std::vector< String > &strings, const char *delimiters=CHARACTER_CLASS__WHITESPACE, const char *quotes=CHARACTER_CLASS__QUOTES, Index from=0) const
 
BASIC style string operations
StringtrimLeft (const char *trimmed=CHARACTER_CLASS__WHITESPACE)
 
StringtrimRight (const char *trimmed=CHARACTER_CLASS__WHITESPACE)
 
Stringtrim (const char *trimmed=CHARACTER_CLASS__WHITESPACE)
 
String trim (const char *trimmed=CHARACTER_CLASS__WHITESPACE) const
 
Stringtruncate (Size size)
 Truncate the string to length size More...
 
Substring left (Size len) const
 Return a substring containing the len leftmost characters of the string. More...
 
Substring right (Size len) const
 Return a substring containing the len rightmost characters of the string. More...
 
Substring instr (const String &pattern, Index from=0) const
 
Base64 String methods
String encodeBase64 ()
 Convert a string to a base 64 string. More...
 
String decodeBase64 ()
 
Debugging and Diagnostics
bool isValid () const
 
void dump (std::ostream &s=std::cout, Size depth=0) const
 

Static Public Member Functions

Compare mode-related methods.

All string comparisons can be made case-sensitive or case insensitive. The behavior can be toggled globally for all strings.

static void setCompareMode (CompareMode compare_mode)
 Set the compareison mode for all string comparisons. More...
 
static CompareMode getCompareMode ()
 Return the current comparison mode. More...
 

Static Public Attributes

static const String EMPTY
 Constant empty string. More...
 
Predefined character classes

There exist several predefined character classes, that may be used in several functions (e.g. trim methods) to represent a set of characters.

static const char * CHARACTER_CLASS__ASCII_ALPHA
 Character class containing all letters (lower and upper case) More...
 
static const char * CHARACTER_CLASS__ASCII_ALPHANUMERIC
 Character class containing all letters and digits. More...
 
static const char * CHARACTER_CLASS__ASCII_LOWER
 Character class containing all lower case letters. More...
 
static const char * CHARACTER_CLASS__ASCII_UPPER
 Character class containing all upper case letters. More...
 
static const char * CHARACTER_CLASS__ASCII_NUMERIC
 Character class containing the digits from 0 to 9. More...
 
static const char * CHARACTER_CLASS__ASCII_FLOAT
 Character class containing the digits from 0 to 9 and a dot. More...
 
static const char * CHARACTER_CLASS__WHITESPACE
 
static const char * CHARACTER_CLASS__QUOTES
 

Protected Member Functions

void validateIndex_ (Index &index) const
 
void validateRange_ (Index &from, Size &len) const
 

Static Protected Member Functions

static void validateCharPtrRange_ (Index &from, Size &len, const char *char_ptr)
 
static void valudateCharPtrIndex_ (Index &index)
 

Static Private Member Functions

static int compareAscendingly_ (const char *a, const char *b)
 
static int compareDescendingly_ (const char *a, const char *b)
 

Static Private Attributes

static CompareMode compare_mode_
 
static char B64Chars_ [64]
 
static int Index_64_ [128]
 

Friends

class Substring
 

Enums and Constants

enum  CompareMode { CASE_SENSITIVE = 0, CASE_INSENSITIVE = 1 }
 
static const Size EndPos
 

String Operations

BALL_EXPORT friend String operator+ (const String &s1, const string &s2)
 Concatenates two strings. More...
 
BALL_EXPORT friend String operator+ (const string &s1, const String &s2)
 Concatenates two strings. More...
 
BALL_EXPORT friend String operator+ (const String &s1, const String &s2)
 Concatenates two strings. More...
 
BALL_EXPORT friend String operator+ (const String &s1, const char *char_ptr)
 Concatenates a string and a C type string. More...
 
BALL_EXPORT friend String operator+ (const char *char_ptr, const String &s)
 Concatenates a C type string and a string. More...
 
BALL_EXPORT friend String operator+ (const String &s, char c)
 Concatenates a string and a character. More...
 
BALL_EXPORT friend String operator+ (char c, const String &s)
 Concatenates a character and a string. More...
 
void swap (String &s)
 Swaps the contents with another String. More...
 
Stringreverse (Index from=0, Size len=EndPos)
 
Size substitute (const String &to_replace, const String &replacing)
 

Predicates

bool has (char c) const
 True, if the string contains character c More...
 
bool hasSubstring (const String &s, Index from=0) const
 True, if the string contains the substring s after index from More...
 
bool hasPrefix (const String &s) const
 True, if the string starts with s More...
 
bool hasSuffix (const String &s) const
 True, if the string ends with s More...
 
bool isEmpty () const
 True, if the string has size 0. More...
 
bool isAlpha () const
 
bool isAlnum () const
 
bool isDigit () const
 
bool isFloat () const
 
bool isSpace () const
 
bool isWhitespace () const
 
static bool isAlpha (char c)
 True, if the character is a letter (any case) More...
 
static bool isAlnum (char c)
 True, if the character is a letter or a digit. More...
 
static bool isDigit (char c)
 True, if the character is a digit. More...
 
static bool isSpace (char c)
 True, if the character is a space. More...
 
static bool isWhitespace (char c)
 

Comparators

BALL_EXPORT friend bool operator== (const char *char_ptr, const String &string)
 
BALL_EXPORT friend bool operator!= (const char *char_ptr, const String &string)
 
BALL_EXPORT friend bool operator< (const char *char_ptr, const String &string)
 
BALL_EXPORT friend bool operator<= (const char *char_ptr, const String &string)
 
BALL_EXPORT friend bool operator> (const char *char_ptr, const String &string)
 
BALL_EXPORT friend bool operator>= (const char *char_ptr, const String &string)
 
BALL_EXPORT friend bool operator== (char c, const String &string)
 
BALL_EXPORT friend bool operator!= (char c, const String &string)
 
BALL_EXPORT friend bool operator< (char c, const String &string)
 
BALL_EXPORT friend bool operator<= (char c, const String &string)
 
BALL_EXPORT friend bool operator> (char c, const String &string)
 
bool operator>= (char c, const String &string)
 
int compare (const String &string, Index from=0) const
 
int compare (const String &string, Index from, Size len) const
 
int compare (const char *char_ptr, Index from=0) const
 
int compare (const char *char_ptr, Index from, Size len) const
 
int compare (char c, Index from=0) const
 
bool operator== (const String &string) const
 
bool operator!= (const String &string) const
 
bool operator< (const String &string) const
 
bool operator<= (const String &string) const
 
bool operator>= (const String &string) const
 
bool operator> (const String &string) const
 
bool operator== (const char *char_ptr) const
 
bool operator!= (const char *char_ptr) const
 
bool operator< (const char *char_ptr) const
 
bool operator<= (const char *char_ptr) const
 
bool operator> (const char *char_ptr) const
 
bool operator>= (const char *char_ptr) const
 
bool operator== (char c) const
 
bool operator!= (char c) const
 
bool operator< (char c) const
 
bool operator<= (char c) const
 
bool operator> (char c) const
 
bool operator>= (char c) const
 

Stream Operations

BALL_EXPORT friend std::istream & getline (std::istream &s, String &string, char delimiter= '\n')
 
std::istream & getline (std::istream &s=std::cin, char delimiter= '\n')
 

Detailed Description

Extended String class.

Definition at line 63 of file string.h.

Member Enumeration Documentation

Constants to set the compare mode. Use one of these constants to set the mode you need. These modes affect all compare methods. As these methods are also used in the implementation of comparison operators, all comparison operations will get affected from a change.

You may change the comparison mode by invoking setCompareMode.
Enumerator
CASE_SENSITIVE 

Constant to set to case sensitive comparisons (default)

CASE_INSENSITIVE 

Constant to set to case insensitive comparisons.

Definition at line 88 of file string.h.

Constructor & Destructor Documentation

BALL::String::String ( )

Default Constructor.

BALL::String::String ( const string &  string)

STL string copy constructor.

BALL::String::String ( const String s)

Copy constructor.

BALL::String::String ( const QString &  string)
explicit

QString copy constructor.

BALL::String::String ( const QByteArray &  string)
explicit

QByteArray copy constructor.

BALL::String::String ( const String s,
Index  from,
Size  len = EndPos 
)

Creates a new string from a given range of another string.

See Also
String:Indices
Exceptions
Exception::IndexUnderflowif from < 0
Exception::IndexOverflowif from >= size()
BALL::String::String ( const char *  char_ptr,
Index  from = 0,
Size  len = EndPos 
)

Creates a new string from a C type string. The new string contains the contents of s until it has reached a length of len or contains a zero character (whichever comes first). Default value for len is EndPos, meaning as long as possible.

Exceptions
Exception::IndexUnderflowif from < 0
Exception::IndexOverflowif from >= size()
Exception::NullPointerif char_ptr == NULL
BALL::String::String ( Size  buffer_size,
const char *  format,
  ... 
)

Creates a string using sprintf. This constructor creates a new string and sets its content to the result of a call to sprintf using format as a format string and all additional parameters as arguments.

The result of the sprintf call is intermediately written to a buffer of a maximum size of buffer_size characters, so choose an appropriate size for this variables.
Exceptions
IndexUnderflow,ifthe buffer size specified is not larger than 0
NullPointer,ifformat == 0
BALL::String::String ( std::strstream &  s)

Create a new string from the contents of a stringstream. The contents of the stringstream are not modified, i.e. successive construction of multiple strings from the same stringstream object leads to identical copies.

BALL::String::String ( const char  c,
Size  len = 1 
)

Creates a new string from len copies of c.

BALL::String::String ( const unsigned char  uc)

Creates a string just containing an unsigned character.

BALL::String::String ( short  s)

Construct a String from a short.

BALL::String::String ( unsigned short  us)

Construct a String from an unsigned short.

BALL::String::String ( int  i)

Construct a String from an int.

BALL::String::String ( unsigned int  ui)

Construct a String from an unsigned int.

BALL::String::String ( long  l)

Construct a String from a long.

BALL::String::String ( unsigned  long)

Construct a String from an unsigned long.

BALL::String::String ( float  f)

Construct a String from a float value.

BALL::String::String ( double  d)

Construct a String from a double value.

virtual BALL::String::~String ( )
virtual

Destructor.

Member Function Documentation

Substring BALL::String::after ( const String s,
Index  from = 0 
) const

Return a substring containing the string after the first occurence of s.

Substring BALL::String::before ( const String s,
Index  from = 0 
) const

Return a substring containing the string before the first occurence of s

virtual void BALL::String::clear ( )
virtual

Clears the string (same as destroy)

int BALL::String::compare ( const String string,
Index  from = 0 
) const

compare to a string.

Exceptions
Exception::IndexUnderflowif from < 0
Exception::IndexOverflowif from >= size()
int BALL::String::compare ( const String string,
Index  from,
Size  len 
) const

compare to a string.

Exceptions
Exception::IndexUnderflowif from < 0
Exception::IndexOverflowif from >= size()
int BALL::String::compare ( const char *  char_ptr,
Index  from = 0 
) const

compare to c-style string.

Exceptions
Exception::IndexUnderflowif from < 0
Exception::IndexOverflowif from >= size()
Exception::NullPointerif char_ptr == NULL
int BALL::String::compare ( const char *  char_ptr,
Index  from,
Size  len 
) const

compare to c-style string.

Exceptions
Exception::IndexUnderflowif from < 0
Exception::IndexOverflowif from >= size()
Exception::NullPointerif char_ptr == NULL
int BALL::String::compare ( char  c,
Index  from = 0 
) const

compare to character

Exceptions
Exception::IndexUnderflowif from < 0
Exception::IndexOverflowif from >= size()
static int BALL::String::compareAscendingly_ ( const char *  a,
const char *  b 
)
staticprivate
static int BALL::String::compareDescendingly_ ( const char *  a,
const char *  b 
)
staticprivate
Size BALL::String::countFields ( const char *  delimiters = CHARACTER_CLASS__WHITESPACE) const

Count the fields that are separated by a defined set of delimiters

Exceptions
Exception::NullPointerif delimiters == NULL
Size BALL::String::countFieldsQuoted ( const char *  delimiters = CHARACTER_CLASS__WHITESPACE,
const char *  quotes = CHARACTER_CLASS__QUOTES 
) const

Count the fields and respect quote characters.

Exceptions
Exception::NullPointerif delimiters == NULL or quotes == NULL
virtual void* BALL::String::create ( bool  = true,
bool  empty = false 
) const
virtual
String BALL::String::decodeBase64 ( )

Decode a base 64 string. Return an empty string, if base64 string is not right encoded.

void BALL::String::destroy ( )

Clear the string (reset to the empty string)

void BALL::String::dump ( std::ostream &  s = std::cout,
Size  depth = 0 
) const
String BALL::String::encodeBase64 ( )

Convert a string to a base 64 string.

Substring BALL::String::from ( const String s,
Index  from = 0 
) const

Return a substring containing the string from the first occurence of s on

void BALL::String::get ( char *  char_ptr,
Index  from = 0,
Size  len = EndPos 
) const

Assign to a C type string The resulting string contains the contents of this until it has reached a length of len or contains a zero character (whichever comes first). Default value for len is EndPos, meaning as long as possible.

Exceptions
Exception::IndexUnderflowif from < 0
Exception::IndexOverflowif from >= size()
Exception::NullPointerif char_ptr == NULL
static CompareMode BALL::String::getCompareMode ( )
static

Return the current comparison mode.

String BALL::String::getField ( Index  index,
const char *  delimiters = CHARACTER_CLASS__WHITESPACE,
Index from = 0 
) const

Return a given field as a substring

Exceptions
Exception::IndexUnderflowif from < 0
Exception::NullPointerif delimiters == NULL
String BALL::String::getFieldQuoted ( Index  index,
const char *  delimiters = CHARACTER_CLASS__WHITESPACE,
const char *  quotes = CHARACTER_CLASS__QUOTES,
Index from = 0 
) const

Return a given field and respect quote characters.

Exceptions
Exception::IndexUnderflowif from < 0
Exception::NullPointerif delimiters == NULL
std::istream& BALL::String::getline ( std::istream &  s = std::cin,
char  delimiter = '\n' 
)
Substring BALL::String::getSubstring ( Index  from = 0,
Size  len = EndPos 
) const

Return a substring

Exceptions
Exception::IndexUnderflowif from < 0
Exception::IndexOverflowif from >= size()
bool BALL::String::has ( char  c) const

True, if the string contains character c

bool BALL::String::hasPrefix ( const String s) const

True, if the string starts with s

bool BALL::String::hasSubstring ( const String s,
Index  from = 0 
) const

True, if the string contains the substring s after index from

bool BALL::String::hasSuffix ( const String s) const

True, if the string ends with s

Substring BALL::String::instr ( const String pattern,
Index  from = 0 
) const

Return a substring containing the first occurence of pattern in the string. If the pattern is not contained in the string, an empty Substring is returned. The search for the pattern may also start from an index different from zero, allowing incremental search.

Returns
Substring containing the search pattern, empty if not found
Parameters
patternthe search pattern
fromthe index in the string to start the search from
bool BALL::String::isAlnum ( ) const

True, if the string only contains letters and digits. It returns also true, if called for an empty string.

static bool BALL::String::isAlnum ( char  c)
static

True, if the character is a letter or a digit.

bool BALL::String::isAlpha ( ) const

True, if the string only contains letters (any case). It returns also true, if called for an empty string.

static bool BALL::String::isAlpha ( char  c)
static

True, if the character is a letter (any case)

bool BALL::String::isDigit ( ) const

True, if the string only contains digits. It returns also true, if called for an empty string.

static bool BALL::String::isDigit ( char  c)
static

True, if the character is a digit.

bool BALL::String::isEmpty ( ) const

True, if the string has size 0.

bool BALL::String::isFloat ( ) const

True, if the string is a floating number. (It contains only numbers and maybe a dot). It returns also true, if called for an empty string.

bool BALL::String::isSpace ( ) const

True, if the string only contains spaces. It returns also true, if called for an empty string.

static bool BALL::String::isSpace ( char  c)
static

True, if the character is a space.

bool BALL::String::isValid ( ) const
bool BALL::String::isWhitespace ( ) const

True, if the string only contains whitespace characters. Whitespaces are defined in CHARACTER_CLASS__WHITESPACE. It returns also true, if called for an empty string.

static bool BALL::String::isWhitespace ( char  c)
static

True, if the character is any whitespace character. Whitespaces are defined in CHARACTER_CLASS__WHITESPACE

Substring BALL::String::left ( Size  len) const

Return a substring containing the len leftmost characters of the string.

bool BALL::String::operator!= ( const String string) const
bool BALL::String::operator!= ( const char *  char_ptr) const

Inequality operator.

Exceptions
Exception::NullPointerif char_ptr == NULL
bool BALL::String::operator!= ( char  c) const
Substring BALL::String::operator() ( Index  from,
Size  len = EndPos 
) const

Return a substring

Exceptions
Exception::IndexUnderflowif from < 0
Exception::IndexOverflowif from >= size()
bool BALL::String::operator< ( const String string) const
bool BALL::String::operator< ( const char *  char_ptr) const

Less than comparison

Exceptions
Exception::NullPointerif char_ptr == NULL
bool BALL::String::operator< ( char  c) const
bool BALL::String::operator<= ( const String string) const
bool BALL::String::operator<= ( const char *  char_ptr) const

Less than or equal comparison

Exceptions
Exception::NullPointerif char_ptr == NULL
bool BALL::String::operator<= ( char  c) const
const String& BALL::String::operator= ( const String s)

Assign a String from another String.

const String& BALL::String::operator= ( const char *  pc)

Assign a String from a C type string

Exceptions
Exception::NullPointerif pc == NULL
const String& BALL::String::operator= ( std::strstream &  s)

Assign a string from a stringstream. The contents of the stringstream object are not modified.

const String& BALL::String::operator= ( char  c)

Assign a String from a single char.

const String& BALL::String::operator= ( unsigned char  uc)

Assign a String from an unsigned char.

const String& BALL::String::operator= ( short  s)

Assign a String from a short.

const String& BALL::String::operator= ( unsigned short  us)

Assign a String from an unsigned short.

const String& BALL::String::operator= ( int  i)

Assign a String from an int.

const String& BALL::String::operator= ( unsigned int  ui)

Assign a String from an unsigned int.

const String& BALL::String::operator= ( long  l)

Assign a String from a long.

const String& BALL::String::operator= ( unsigned long  ul)

Assign a String from an unsigned long.

const String& BALL::String::operator= ( float  f)

Assign a String from a float.

const String& BALL::String::operator= ( double  d)

Assign a String from a double.

bool BALL::String::operator== ( const String string) const
bool BALL::String::operator== ( const char *  char_ptr) const

Equality operator.

Exceptions
Exception::NullPointerif char_ptr == NULL
bool BALL::String::operator== ( char  c) const
bool BALL::String::operator> ( const String string) const
bool BALL::String::operator> ( const char *  char_ptr) const

Greater than comparison

Exceptions
Exception::NullPointerif char_ptr == NULL
bool BALL::String::operator> ( char  c) const
bool BALL::String::operator>= ( const String string) const
bool BALL::String::operator>= ( const char *  char_ptr) const

Greater than or equal comparison

Exceptions
Exception::NullPointerif char_ptr == NULL
bool BALL::String::operator>= ( char  c) const
String& BALL::String::reverse ( Index  from = 0,
Size  len = EndPos 
)

Reverses the string. If called without arguments, this method simply reverses the character sequence of the string. By giving arguments for the indices, only a subsequence of the string may be reversed.

Parameters
fromfirst index of the sequence to be reversed
tolast index of the sequence to be reversed
See Also
String:Indices
Exceptions
Exception::IndexUnderflowif from < 0
Exception::IndexOverflowif from >= size()
Substring BALL::String::right ( Size  len) const

Return a substring containing the len rightmost characters of the string.

void BALL::String::set ( const String s)

Assign a string

void BALL::String::set ( const String string,
Index  from,
Size  len = EndPos 
)

Assign a String from a range of another string

Exceptions
Exception::IndexOverflowif from < 0
Exception::IndexUnderflowif from >= size()
void BALL::String::set ( const char *  char_ptr,
Index  from = 0,
Size  len = EndPos 
)

Assign a String from a C type string

Exceptions
Exception::IndexUnderflowif from < 0
Exception::IndexOverflowif from >= size()
Exception::NullPointerif char_ptr == NULL
void BALL::String::set ( Size  buffer_size,
const char *  format,
  ... 
)

Assign a string to the result of a sprintf call

Exceptions
Exception::IndexUnderflow,ifthe buffer size is zero
Exception::NullPointer,<tt>format</tt>is a NULL pointer
void BALL::String::set ( std::strstream &  s)

Assign a String from a stringstream. The contents of the stringstream object are not modified.

void BALL::String::set ( char  c,
Size  len = 1 
)

Assign a String from the result of repeating c len times.

void BALL::String::set ( unsigned char  uc)

Assign a String from an unsigned char.

void BALL::String::set ( short  s)

Assign a String from a short.

void BALL::String::set ( unsigned short  us)

Assign a String from an unsigned short.

void BALL::String::set ( int  i)

Assign a String from an int.

void BALL::String::set ( unsigned int  ui)

Assign a String from an unsigned int.

void BALL::String::set ( long  l)

Assign a String from a long.

void BALL::String::set ( unsigned long  ul)

Assign a String from an unsigned long.

void BALL::String::set ( float  f)

Assign a String from a float value.

void BALL::String::set ( double  d)

Assign a String from a double value.

static void BALL::String::setCompareMode ( CompareMode  compare_mode)
static

Set the compareison mode for all string comparisons.

Size BALL::String::split ( String  string_array[],
Size  array_size,
const char *  delimiters = CHARACTER_CLASS__WHITESPACE,
Index  from = 0 
) const

Split the string into fields and assign these field to an array of strings

Exceptions
Exception::IndexUnderflowif from < 0
Exception::NullPointerif delimiters == NULL
Size BALL::String::split ( std::vector< String > &  strings,
const char *  delimiters = CHARACTER_CLASS__WHITESPACE,
Index  from = 0 
) const

Split the string into fields and assign these field to a vector of strings. The vector of strings is cleared in any case. Its final size is returned.

Exceptions
IndexOverflowif from < 0
NullPointerif delimiters == 0
Size BALL::String::splitQuoted ( std::vector< String > &  strings,
const char *  delimiters = CHARACTER_CLASS__WHITESPACE,
const char *  quotes = CHARACTER_CLASS__QUOTES,
Index  from = 0 
) const

Split the string into fields and respect quote characters. Similar to split , but delimiters that are inside quote characters (default is CHARACTER_CLASS__QUOTES ) are not considered to split the string. The vector of strings is cleared in any case. Its final size is returned.

Exceptions
IndexOverflowif from < 0
NullPointerif delimiters == 0
Size BALL::String::substitute ( const String to_replace,
const String replacing 
)

Substitute the first occurence of to_replace by the content of replacing.

Returns
the first position of the substitution or EndPos if to_replace is not found
void BALL::String::swap ( String s)

Swaps the contents with another String.

Substring BALL::String::through ( const String s,
Index  from = 0 
) const

Return a substring containing the beginning of the string including the first occurence of s

bool BALL::String::toBool ( ) const

Converts the string to a bool value. This method returns false, if the string contains the string false (may be surrounded by whitespaces), or true otherwise.

char BALL::String::toChar ( ) const

Return the first character of the string.

double BALL::String::toDouble ( ) const

Convert the string to a double

Exceptions
Exception::InvalidFormat
float BALL::String::toFloat ( ) const

Convert the string to a float

Exceptions
Exception::InvalidFormat
int BALL::String::toInt ( ) const

Convert the string to an int

Exceptions
Exception::InvalidFormat
long BALL::String::toLong ( ) const

Convert the string to a long

Exceptions
Exception::InvalidFormat
void BALL::String::toLower ( Index  from = 0,
Size  len = EndPos 
)

Convert all characters in the given range to lower case

Exceptions
Exception::IndexUnderflowif from < 0
Exception::IndexOverflowif from || len >= size()
short BALL::String::toShort ( ) const

Convert the string to a short

Exceptions
Exception::InvalidFormat
unsigned char BALL::String::toUnsignedChar ( ) const

Return the first character of the string converted to an unsigned char.

unsigned int BALL::String::toUnsignedInt ( ) const

Convert the string to an unsigned int

Exceptions
Exception::InvalidFormat
unsigned long BALL::String::toUnsignedLong ( ) const

Convert the string to an unsigned long

Exceptions
Exception::InvalidFormat
unsigned short BALL::String::toUnsignedShort ( ) const

Convert the string to an unsigned short

Exceptions
Exception::InvalidFormat
void BALL::String::toUpper ( Index  from = 0,
Size  len = EndPos 
)

Convert all characters in the given range to upper case

Exceptions
Exception::IndexUnderflowif from < 0
Exception::IndexOverflowif from || len >= size()
String& BALL::String::trim ( const char *  trimmed = CHARACTER_CLASS__WHITESPACE)

Strips all characters in trimmed from both sides of the string. trim calls trimRight(trimmed).trimLeft(trimmed).

String BALL::String::trim ( const char *  trimmed = CHARACTER_CLASS__WHITESPACE) const

Strips all characters in trimmed from both sides of the string. trim calls trimRight(trimmed).trimLeft(trimmed).

String& BALL::String::trimLeft ( const char *  trimmed = CHARACTER_CLASS__WHITESPACE)

Strips all characters in trimmed from the left of the string. trimLeft stops at the first character encountered that is not in trimmed. Using its default parameter CHARACTER_CLASS__WHITESPACE, it is usually handy to remove blanks from the beginning of a string. Strings consisting of character from trimmed only yield an empty string.

String& BALL::String::trimRight ( const char *  trimmed = CHARACTER_CLASS__WHITESPACE)

Strips all characters in trimmed from the right of the string. trimRight stops at the first character encountered that is not in trimmed. Using its default parameter CHARACTER_CLASS__WHITESPACE, it is usually handy to remove blanks from the end of a string. Strings consisting of character from trimmed only yield an empty string.

String& BALL::String::truncate ( Size  size)

Truncate the string to length size

static void BALL::String::validateCharPtrRange_ ( Index from,
Size len,
const char *  char_ptr 
)
staticprotected
void BALL::String::validateIndex_ ( Index index) const
protected
void BALL::String::validateRange_ ( Index from,
Size len 
) const
protected
static void BALL::String::valudateCharPtrIndex_ ( Index index)
staticprotected

Friends And Related Function Documentation

BALL_EXPORT friend std::istream& getline ( std::istream &  s,
String string,
char  delimiter = '\n' 
)
friend
BALL_EXPORT friend bool operator!= ( const char *  char_ptr,
const String string 
)
friend

Inequality operator.

Exceptions
Exception::NullPointerif char_ptr == NULL
BALL_EXPORT friend bool operator!= ( char  c,
const String string 
)
friend
BALL_EXPORT friend String operator+ ( const String s1,
const string &  s2 
)
friend

Concatenates two strings.

BALL_EXPORT friend String operator+ ( const string &  s1,
const String s2 
)
friend

Concatenates two strings.

BALL_EXPORT friend String operator+ ( const String s1,
const String s2 
)
friend

Concatenates two strings.

BALL_EXPORT friend String operator+ ( const String s1,
const char *  char_ptr 
)
friend

Concatenates a string and a C type string.

BALL_EXPORT friend String operator+ ( const char *  char_ptr,
const String s 
)
friend

Concatenates a C type string and a string.

BALL_EXPORT friend String operator+ ( const String s,
char  c 
)
friend

Concatenates a string and a character.

BALL_EXPORT friend String operator+ ( char  c,
const String s 
)
friend

Concatenates a character and a string.

BALL_EXPORT friend bool operator< ( const char *  char_ptr,
const String string 
)
friend

Less than comparison

Exceptions
Exception::NullPointerif char_ptr == NULL
BALL_EXPORT friend bool operator< ( char  c,
const String string 
)
friend
BALL_EXPORT friend bool operator<= ( const char *  char_ptr,
const String string 
)
friend

Less than or equal comparison

Exceptions
Exception::NullPointerif char_ptr == NULL
BALL_EXPORT friend bool operator<= ( char  c,
const String string 
)
friend
BALL_EXPORT friend bool operator== ( const char *  char_ptr,
const String string 
)
friend

Equality operator.

Exceptions
Exception::NullPointerif char_ptr == NULL
BALL_EXPORT friend bool operator== ( char  c,
const String string 
)
friend
BALL_EXPORT friend bool operator> ( const char *  char_ptr,
const String string 
)
friend

Greater than comparison

Exceptions
Exception::NullPointerif char_ptr == NULL
BALL_EXPORT friend bool operator> ( char  c,
const String string 
)
friend
BALL_EXPORT friend bool operator>= ( const char *  char_ptr,
const String string 
)
friend

Greater than or equal comparison

Exceptions
Exception::NullPointerif char_ptr == NULL
bool operator>= ( char  c,
const String string 
)
friend
friend class Substring
friend

Definition at line 67 of file string.h.

Member Data Documentation

char BALL::String::B64Chars_[64]
staticprivate

Definition at line 1031 of file string.h.

const char* BALL::String::CHARACTER_CLASS__ASCII_ALPHA
static

Character class containing all letters (lower and upper case)

Definition at line 113 of file string.h.

const char* BALL::String::CHARACTER_CLASS__ASCII_ALPHANUMERIC
static

Character class containing all letters and digits.

Definition at line 116 of file string.h.

const char* BALL::String::CHARACTER_CLASS__ASCII_FLOAT
static

Character class containing the digits from 0 to 9 and a dot.

Definition at line 128 of file string.h.

const char* BALL::String::CHARACTER_CLASS__ASCII_LOWER
static

Character class containing all lower case letters.

Definition at line 119 of file string.h.

const char* BALL::String::CHARACTER_CLASS__ASCII_NUMERIC
static

Character class containing the digits from 0 to 9.

Definition at line 125 of file string.h.

const char* BALL::String::CHARACTER_CLASS__ASCII_UPPER
static

Character class containing all upper case letters.

Definition at line 122 of file string.h.

const char* BALL::String::CHARACTER_CLASS__QUOTES
static

Character class containing double quotes.

Definition at line 145 of file string.h.

const char* BALL::String::CHARACTER_CLASS__WHITESPACE
static

Character class containing all whitespace characters. Whitespace characters are:

  • blank " "
  • horizontal tab $ "\backslash t" $
  • new-line $ "\backslash n" $
  • line-feed $ "\backslash r" $
  • vertical tab $ "\backslash v" $
  • form-feed $ "\backslash f" $

Definition at line 141 of file string.h.

CompareMode BALL::String::compare_mode_
staticprivate

Definition at line 1029 of file string.h.

const String BALL::String::EMPTY
static

Constant empty string.

Definition at line 1005 of file string.h.

const Size BALL::String::EndPos
static

Constant indicating the end of the string. Use this constant instead of string::npos to indicate an invalid position inside the string or the end of the string in those methods requiring indices.

Definition at line 102 of file string.h.

int BALL::String::Index_64_[128]
staticprivate

Definition at line 1033 of file string.h.