#include <string.h>
Classes |
|
| class | InvalidSubstring |
| Exception thrown if an invalid substring
is accessed. More... |
|
| class | UnboundSubstring |
| Exception thrown if an unbound substring
is accessed. More... |
|
Public Member Functions |
|
|
Constructors and Destructors
|
|
| Substring () | |
| Default constructor. |
|
| Substring (const Substring &substring, bool deep=true) | |
| 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 () |
| Destructor. |
|
| void | destroy () |
| Clear the substrings contents.
|
|
| virtual void | clear () |
| 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
|
|
| Substring & | bind (const String &string, Index from=0, Size len=String::EndPos) throw (Exception::IndexUnderflow, Exception::IndexOverflow) |
| Bind the substring to a string.
|
|
| 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. |
|
| void | unbind () |
| unbinds the substring from the
string it is bound to |
|
| String * | getBoundString () |
| Return a pointer to the bound
String. |
|
| const String * | getBoundString () const |
| 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 Substring & | operator= (const String &string) throw (Substring::UnboundSubstring) |
| String assignment
operator. |
|
| const Substring & | operator= (const Substring &substring) throw (Substring::UnboundSubstring) |
| Substring assignment
operator. |
|
| const Substring & | operator= (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 |
| 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). |
|
| Substring & | toLower () throw (Substring::UnboundSubstring) |
| Converts the substring to lower case
characters. |
|
| Substring & | toUpper () throw (Substring::UnboundSubstring) |
| Converts the substring to lower case
characters. |
|
|
Predicates
|
|
| bool | isBound () const |
| Return true, if the substring is
bound to a String. |
|
| bool | isEmpty () const |
| Return true, if the substring is
empty or unbound. |
|
|
Debugging and Diagnostics
|
|
| bool | isValid () const |
| 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) |
| Writes the substring to a
stream. |
|
Comparison Operators |
|
| 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. |
|
| 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. |
|
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.
| BALL::Substring::Substring | ( | ) |
Default constructor.
Create an empty string.
| BALL::Substring::Substring | ( | const Substring & | substring, | |
| bool | deep =
true |
|||
| ) |
Copy constructor.
Create a substring from another substring.
| substring | the substring to be copied | |
| deep | ignored |
| BALL::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.
| 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 BALL::Substring::~Substring | ( | ) | [virtual] |
Destructor.
Destruct the substring.
| Substring& BALL::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.
| substring | the substring that is bound to a string |
| Substring& BALL::Substring::bind | ( | const String & | string, | |
| Index | from =
0, |
|||
| Size | len =
String::EndPos |
|||
| ) | throw (Exception::IndexUnderflow, Exception::IndexOverflow) |
Bind the substring to a string.
| 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 BALL::Substring::clear | ( | ) | [virtual] |
Clear the substrings contents.
Unbind the substring from its string and set the start and the end position to 0.
| void BALL::Substring::destroy | ( | ) |
Clear the substrings contents.
Unbind the substring from its string and set the start and the end position to 0.
| Index BALL::Substring::getFirstIndex | ( | ) | const throw (Substring::UnboundSubstring) |
Return the first index of the substring.
This means the starting point in the bound string.
| bool BALL::Substring::isValid | ( | ) | const |
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.
| BALL::Substring::operator String | ( | ) | const throw (Substring::UnboundSubstring) |
Convert a substring to a string.
Return a copy of the substring's contents.
| String BALL::Substring::toString | ( | ) | const throw (Substring::UnboundSubstring) |
Convert a substring to a string.
Return a copy of the substring's contents.
1.5.8