#include <rutz/fstring.h>

Public Member Functions | |
| fstring () | |
| Construct an empty string. | |
| fstring (const fstring &other) throw () | |
| Copy constructor. | |
| ~fstring () throw () | |
| Destructory. | |
| fstring (const char *s) | |
| Construct by copying from a C-style null-terminated char array. | |
| fstring (char_range r) | |
| Construct from a character range (pointer plus length). | |
| void | swap (fstring &other) throw () |
| Swap contents with another fstring object. | |
| fstring & | operator= (const char *text) |
| Assign from a C-style null-terminated char array. | |
| fstring & | operator= (const fstring &other) throw () |
| Assignment operator. | |
| const char * | c_str () const throw () |
| Get a pointer to the const underlying data array. | |
| std::size_t | length () const throw () |
| Get the number of characters in the string (NOT INCLUDING the null terminator). | |
| bool | is_empty () const throw () |
| Query whether the length of the string is 0. | |
| bool | empty () const throw () |
| Same as is_empty(); for compatibility with std::string interface. | |
| char | operator[] (unsigned int i) const |
| Return the character at position i. | |
| void | clear () |
| Reset to an empty string. | |
| bool | ends_with (const fstring &ext) const throw () |
| Query whether the terminal substring matches the given string. | |
| bool | equals (const char *other) const throw () |
| Query for equality with a C-style string. | |
| bool | equals (const fstring &other) const throw () |
| Query for equality with another fstring object. | |
| bool | operator< (const char *other) const throw () |
| Query if string is lexicographically less-than another string. | |
| template<class string_type> | |
| bool | operator< (const string_type &other) const throw () |
| Query if string is lexicographically less-than another string. | |
| bool | operator> (const char *other) const throw () |
| Query if string is lexicographically greater-than another string. | |
| template<class string_type> | |
| bool | operator> (const string_type &other) const throw () |
| Query if string is lexicographically greater-than another string. | |
| void | read (std::istream &is) |
| Set the string by reading consecutive non-whitespace characters. | |
| void | readsome (std::istream &is, unsigned int count) |
| Set the string by reading exactly count characters. | |
| void | write (std::ostream &os) const |
| Write the string's contents to the ostream. | |
| void | readline (std::istream &is, char eol= '\n') |
| Set the string by reading characters up until newline or EOF. | |
| bool | operator== (const char *rhs) const throw () |
| Equality operator. | |
| bool | operator== (const fstring &rhs) const throw () |
| Equality operator. | |
| bool | operator!= (const char *rhs) const throw () |
| Inequality operator. | |
| bool | operator!= (const fstring &rhs) const throw () |
| Inequality operator. | |
| void | debug_dump () const throw () |
| Dump contents for debugging. | |
fstring is a simple string class that holds a pointer to a dynamically-allocated char array. The initializer does not have to reside in permanent storage, since a copy is made when the fstring is constructed. Assignment is allowed, with copy semantics. Also, a swap() operation is provided. The internal implementation uses reference counting to allow for efficient copies; however, to allow safe multi-threaded access to fstring, fstring's interface is read-only, except for a few functions (assignment operator, swap(), clear() read(), readline(), readsome()) which safely replace the entire string.
Definition at line 149 of file fstring.h.