Main Page | Modules | Namespace List | Class Hierarchy | Class List | Namespace Members | Class Members

Substring Class Reference
[StringString]

A substring class. More...

#include <string.h>

List of all members.

Comparison Operators

bool operator== (const Substring &substring) const throw (Substring::UnboundSubstring)
 returns true, if the contents of the two substrings are equal
bool operator!= (const Substring &substring) const throw (Substring::UnboundSubstring)
 Return true, if the contents of the two substrings are not equal.
bool operator== (const String &string) const throw (Substring::UnboundSubstring)
 Return true, if the contents of the substring and the string are equal.
bool operator!= (const String &string) const throw (Substring::UnboundSubstring)
 Return true, if the contents of the substring and the string are not equal.
bool operator== (const char *char_ptr) const throw (Substring::UnboundSubstring, Exception::NullPointer)
 Return true, if the contents of the substring are equal to the contents of the C-string.
bool operator!= (const char *char_ptr) const throw (Substring::UnboundSubstring, Exception::NullPointer)
 Return true, if the contents of the substring are not equal to the contents of the C-string.
bool operator== (char c) const throw (Substring::UnboundSubstring)
 Return true, if the substring has length 1 and contains the given char.
bool operator!= (char c) const throw (Substring::UnboundSubstring)
 Return true, if the substring is differnet from the given char.
BALL_EXPORT friend bool operator== (const String &string, const Substring &substring) throw (Substring::UnboundSubstring)
 Return true, if the contents of the substring and the string are equal.
BALL_EXPORT friend bool operator!= (const String &string, const Substring &substring) throw (Substring::UnboundSubstring)
 Return true, if the contents of the substring and the string are not equal.

Public Member Functions

Constructors and Destructors
 Substring () throw ()
 Default constructor.
 Substring (const Substring &substring, bool deep=true) throw ()
 Copy constructor.
 Substring (const String &string, Index from=0, Size len=String::EndPos) throw (Exception::IndexUnderflow, Exception::IndexOverflow)
 Create a substring from a string and two indices.
virtual ~Substring () throw ()
 Destructor.
void destroy () throw ()
 Clear the substrings contents.
virtual void clear () throw ()
 Clear the substrings contents.
Converters
 operator String () const throw (Substring::UnboundSubstring)
 Convert a substring to a string.
String toString () const throw (Substring::UnboundSubstring)
 Convert a substring to a string.
Binding and Unbinding Substrings
Substringbind (const String &string, Index from=0, Size len=String::EndPos) throw (Exception::IndexUnderflow, Exception::IndexOverflow)
 Bind the substring to a string.
Substringbind (const Substring &substring, Index from=0, Size len=String::EndPos) throw (Exception::IndexUnderflow, Exception::IndexOverflow)
 Bind the substring to the same string another substring is bound to.
void unbind () throw ()
 unbinds the substring from the string it is bound to
StringgetBoundString () throw ()
 Return a pointer to the bound String.
const StringgetBoundString () const throw ()
 Retunrs a const pointer to the bound String.
Assignment
void set (const String &string) throw (Substring::UnboundSubstring)
 Sets the substring to a certain string.
void set (const Substring &s) throw (Substring::UnboundSubstring)
 Copies a substring from another substring.
void set (const char *char_ptr, Size size=String::EndPos) throw (Substring::UnboundSubstring, Exception::NullPointer, Exception::SizeUnderflow)
 Assigns a substring from a char pointer.
const Substringoperator= (const String &string) throw (Substring::UnboundSubstring)
 String assignment operator.
const Substringoperator= (const Substring &substring) throw (Substring::UnboundSubstring)
 Substring assignment operator.
const Substringoperator= (const char *char_ptr) throw (Substring::UnboundSubstring, Exception::NullPointer)
 char pointer assignment operator
Accessors and Mutators
char * c_str () throw (Substring::UnboundSubstring)
 Return a pointer to the substring's contents.
const char * c_str () const throw (Substring::UnboundSubstring)
 Return a const pointer to the substring's contents.
Index getFirstIndex () const throw (Substring::UnboundSubstring)
 Return the first index of the substring.
Index getLastIndex () const throw (Substring::UnboundSubstring)
 Return the last index of the substring This means the end point in the bound string.
Size size () const throw ()
 Return the substring size.
char & operator[] (Index index) throw (Substring::UnboundSubstring, Exception::IndexUnderflow, Exception::IndexOverflow)
 Mutable random access to a character of the substring.
char operator[] (Index index) const throw (Substring::UnboundSubstring, Exception::IndexUnderflow, Exception::IndexOverflow)
 Random access to a character of the substring (const method).
SubstringtoLower () throw (Substring::UnboundSubstring)
 Converts the substring to lower case characters.
SubstringtoUpper () throw (Substring::UnboundSubstring)
 Converts the substring to lower case characters.
Predicates
bool isBound () const throw ()
 Return true, if the substring is bound to a String.
bool isEmpty () const throw ()
 Return true, if the substring is empty or unbound.
Debugging and Diagnostics
bool isValid () const throw ()
 Return true, if the string is bound to a string and its indices are valid.
void dump (std::ostream &s=std::cout, Size depth=0) const throw (Substring::UnboundSubstring)
 Dumps the substring object (including the values of its private members).

Protected Member Functions

void validateRange_ (Index &from, Size &len) const throw (Exception::IndexUnderflow, Exception::IndexOverflow)

Friends

class String
Stream I/O
BALL_EXPORT friend std::ostream & operator<< (std::ostream &s, const Substring &substring) throw ()
 Writes the substring to a stream.


Detailed Description

A substring class.

The Substring class represents an efficient way to deal with substrings of String . Each Substring is bound to an instance of String and is defined by a start and end index. It can be used like a String (with several restrictions) but only affects the given range of the string it is bount to.


Constructor & Destructor Documentation

Substring::Substring  )  throw ()
 

Default constructor.

Create an empty string.

Substring::Substring const Substring substring,
bool  deep = true
throw ()
 

Copy constructor.

Create a substring from another substring.

Parameters:
substring the substring to be copied
deep ignored

Substring::Substring const String string,
Index  from = 0,
Size  len = String::EndPos
throw (Exception::IndexUnderflow, Exception::IndexOverflow)
 

Create a substring from a string and two indices.

Parameters:
string the string the substring is bound to.
from the start index of the substring
len the length of the substring (default EndPos: to the end of the string)

virtual Substring::~Substring  )  throw () [virtual]
 

Destructor.

Destruct the substring.


Member Function Documentation

Substring& Substring::bind const Substring substring,
Index  from = 0,
Size  len = String::EndPos
throw (Exception::IndexUnderflow, Exception::IndexOverflow)
 

Bind the substring to the same string another substring is bound to.

Parameters:
substring the substring that is bound to a string

Substring& Substring::bind const String string,
Index  from = 0,
Size  len = String::EndPos
throw (Exception::IndexUnderflow, Exception::IndexOverflow)
 

Bind the substring to a string.

Parameters:
string the string to bind to
from the start position in the string (default is the beginning of the string)
len the substring's length (default is to the end of the string)

virtual void Substring::clear  )  throw () [virtual]
 

Clear the substrings contents.

Unbind the substring from its string and set the start and the end position to 0.

void Substring::destroy  )  throw ()
 

Clear the substrings contents.

Unbind the substring from its string and set the start and the end position to 0.

Index Substring::getFirstIndex  )  const throw (Substring::UnboundSubstring)
 

Return the first index of the substring.

This means the starting point in the bound string.

Index Substring::getLastIndex  )  const throw (Substring::UnboundSubstring)
 

Return the last index of the substring This means the end point in the bound string.

bool Substring::isValid  )  const throw ()
 

Return true, if the string is bound to a string and its indices are valid.

Valid indices means that the first index is not greater than the last index, both indices are non-negative and lesser than the size of the bound string.

Substring::operator String  )  const throw (Substring::UnboundSubstring)
 

Convert a substring to a string.

Return a copy of the substring's contents.

String Substring::toString  )  const throw (Substring::UnboundSubstring)
 

Convert a substring to a string.

Return a copy of the substring's contents.