BALL
1.4.2
|
#include <BALL/DATATYPE/string.h>
Classes | |
class | InvalidSubstring |
class | UnboundSubstring |
Public Member Functions | |
Constructors and Destructors | |
Substring () | |
Substring (const Substring &substring, bool deep=true) | |
Substring (const String &string, Index from=0, Size len=String::EndPos) | |
virtual | ~Substring () |
void | destroy () |
virtual void | clear () |
Converters | |
operator String () const | |
String | toString () const |
Binding and Unbinding Substrings | |
Substring & | bind (const String &string, Index from=0, Size len=String::EndPos) |
Substring & | bind (const Substring &substring, Index from=0, Size len=String::EndPos) |
void | unbind () |
unbinds the substring from the string it is bound to More... | |
String * | getBoundString () |
Return a pointer to the bound String. More... | |
const String * | getBoundString () const |
Retunrs a const pointer to the bound String. More... | |
Assignment | |
void | set (const String &string) |
void | set (const Substring &s) |
void | set (const char *char_ptr, Size size=String::EndPos) |
const Substring & | operator= (const String &string) |
const Substring & | operator= (const Substring &substring) |
const Substring & | operator= (const char *char_ptr) |
Accessors and Mutators | |
char * | c_str () |
const char * | c_str () const |
Index | getFirstIndex () const |
Index | getLastIndex () const |
Size | size () const |
Return the substring size. More... | |
char & | operator[] (Index index) |
char | operator[] (Index index) const |
Substring & | toLower () |
Substring & | toUpper () |
Predicates | |
bool | isBound () const |
Return true, if the substring is bound to a String. More... | |
bool | isEmpty () const |
Return true, if the substring is empty or unbound. More... | |
Debugging and Diagnostics | |
bool | isValid () const |
void | dump (std::ostream &s=std::cout, Size depth=0) const |
Protected Member Functions | |
void | validateRange_ (Index &from, Size &len) const |
Private Attributes | |
String * | bound_ |
Index | from_ |
Index | to_ |
Friends | |
class | String |
Stream I/O | |
BALL_EXPORT friend std::ostream & | operator<< (std::ostream &s, const Substring &substring) |
Writes the substring to a stream. More... | |
Comparison Operators | |
BALL_EXPORT friend bool | operator== (const String &string, const Substring &substring) |
BALL_EXPORT friend bool | operator!= (const String &string, const Substring &substring) |
bool | operator== (const Substring &substring) const |
bool | operator!= (const Substring &substring) 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== (char c) const |
bool | operator!= (char c) const |
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.
BALL::Substring::Substring | ( | ) |
Default constructor. Create an empty string.
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 |
||
) |
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) |
Exception::IndexUnderflow | if from < 0 |
Exception::IndexOverflow | if from || len >= size() |
|
virtual |
Destructor. Destruct the substring.
Substring& BALL::Substring::bind | ( | const String & | string, |
Index | from = 0 , |
||
Size | len = String::EndPos |
||
) |
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) |
Exception::IndexUnderflow | if index < 0 |
Exception::IndexOverflow | if index >= size() |
Substring& BALL::Substring::bind | ( | const Substring & | substring, |
Index | from = 0 , |
||
Size | len = String::EndPos |
||
) |
Bind the substring to the same string another substring is bound to.
substring | the substring that is bound to a string |
Exception::IndexUnderflow | if index < 0 |
Exception::IndexOverflow | if index >= size() |
char* BALL::Substring::c_str | ( | ) |
Return a pointer to the substring's contents
Substring::UnboundSubstring | if this Substring is not correctly bound |
const char* BALL::Substring::c_str | ( | ) | const |
Return a const pointer to the substring's contents
Substring::UnboundSubstring | if this Substring is not correctly bound |
|
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.
void BALL::Substring::dump | ( | std::ostream & | s = std::cout , |
Size | depth = 0 |
||
) | const |
Dumps the substring object (including the values of its private members)
Substring::UnboundSubstring | if this Substring is not correctly bound |
const String* BALL::Substring::getBoundString | ( | ) | const |
Retunrs a const pointer to the bound String.
Index BALL::Substring::getFirstIndex | ( | ) | const |
Return the first index of the substring. This means the starting point in the bound string.
Substring::UnboundSubstring | if this Substring is not correctly bound |
Index BALL::Substring::getLastIndex | ( | ) | const |
Return the last index of the substring This means the end point in the bound string.
Substring::UnboundSubstring | if this Substring is not correctly bound |
bool BALL::Substring::isEmpty | ( | ) | const |
Return true, if the substring is empty or unbound.
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 |
Convert a substring to a string. Return a copy of the substring's contents.
Substring::UnboundSubstring | if this Substring is not correctly bound |
Return true, if the contents of the two substrings are not equal
Substring::UnboundSubstring | if this Substring is not correctly bound |
Return true, if the contents of the substring and the string are not equal
Substring::UnboundSubstring | if this Substring is not correctly bound |
bool BALL::Substring::operator!= | ( | const char * | char_ptr | ) | const |
Return true, if the contents of the substring are not equal to the contents of the C-string
Exception::NullPointer | if delimiters == NULL |
Substring::UnboundSubstring | if this Substring is not correctly bound |
bool BALL::Substring::operator!= | ( | char | c | ) | const |
Return true, if the substring is differnet from the given char
Substring::UnboundSubstring | if this Substring is not correctly bound |
String assignment operator
Substring::UnboundSubstring | if this Substring is not correctly bound |
Substring assignment operator
Substring::UnboundSubstring | if this Substring is not correctly bound |
const Substring& BALL::Substring::operator= | ( | const char * | char_ptr | ) |
char pointer assignment operator
Exception::NullPointer | if char_ptr == NULL |
Substring::UnboundSubstring | if this Substring is not correctly bound |
returns true, if the contents of the two substrings are equal
Substring::UnboundSubstring | if this Substring is not correctly bound |
Return true, if the contents of the substring and the string are equal
Substring::UnboundSubstring | if this Substring is not correctly bound |
bool BALL::Substring::operator== | ( | const char * | char_ptr | ) | const |
Return true, if the contents of the substring are equal to the contents of the C-string
Exception::NullPointer | if delimiters == NULL |
Substring::UnboundSubstring | if this Substring is not correctly bound |
bool BALL::Substring::operator== | ( | char | c | ) | const |
Return true, if the substring has length 1 and contains the given char
Substring::UnboundSubstring | if this Substring is not correctly bound |
char& BALL::Substring::operator[] | ( | Index | index | ) |
Mutable random access to a character of the substring
Exception::IndexUnderflow | if index < 0 |
Exception::IndexOverflow | if index >= size() |
Substring::UnboundSubstring | if this Substring is not correctly bound |
char BALL::Substring::operator[] | ( | Index | index | ) | const |
Random access to a character of the substring (const method).
Exception::IndexUnderflow | if index < 0 |
Exception::IndexOverflow | if index >= size() |
Substring::UnboundSubstring | if this Substring is not correctly bound |
void BALL::Substring::set | ( | const String & | string | ) |
Sets the substring to a certain string
Substring::UnboundSubstring | if this Substring is not correctly bound |
void BALL::Substring::set | ( | const Substring & | s | ) |
Copies a substring from another substring
Substring::UnboundSubstring | if this Substring is not correctly bound |
void BALL::Substring::set | ( | const char * | char_ptr, |
Size | size = String::EndPos |
||
) |
Assigns a substring from a char pointer
Substring::UnboundSubstring | if this Substring is not correctly bound |
Exception::IndexUnderflow | |
Exception::NullPointer | if char_ptr == NULL |
Size BALL::Substring::size | ( | ) | const |
Return the substring size.
Substring& BALL::Substring::toLower | ( | ) |
Converts the substring to lower case characters
Substring::UnboundSubstring | if this Substring is not correctly bound |
String BALL::Substring::toString | ( | ) | const |
Convert a substring to a string. Return a copy of the substring's contents.
Substring::UnboundSubstring | if this Substring is not correctly bound |
Substring& BALL::Substring::toUpper | ( | ) |
Converts the substring to lower case characters
Substring::UnboundSubstring | if this Substring is not correctly bound |
void BALL::Substring::unbind | ( | ) |
unbinds the substring from the string it is bound to
|
friend |
Return true, if the contents of the substring and the string are not equal
Substring::UnboundSubstring | if this Substring is not correctly bound |
|
friend |
Writes the substring to a stream.
|
friend |
Return true, if the contents of the substring and the string are equal
Substring::UnboundSubstring | if this Substring is not correctly bound |