#include <mystring.h>
Public Member Functions | |
my_basic_string () | |
Default constructor. | |
my_basic_string (Index n, char c=' ') | |
Constructor setting size. | |
my_basic_string (const basic_string< charT > &A, Index pos=0, Index npos=my_basic_string< charT >::npos) | |
Construnctor from another my_basic_string. | |
my_basic_string (const char A[]) | |
Constructor from a C-style char array. | |
my_basic_string & | operator= (const my_basic_string< charT > &A) |
Assignment from another my_basic_string. | |
Index | nelem () const |
Number of elements. | |
const char | operator[] (Index n) const |
Find function for char. | |
char & | operator[] (Index n) |
Non-constant index operator. | |
Static Public Attributes | |
static const Index | npos = static_cast<Index>(std::basic_string<charT>::npos) |
Define npos:. |
This adds some additional functionality to the standard stl string class, notably:
a) Range checking by assert
b) nelem() member function, return the size of the String of type Index.
The type std::string is just a typedef for std::basic_string<char>. Therefore, to make everything work correctly, we have to derive our own class from std::basic_string, not from std::string directly.
Definition at line 60 of file mystring.h.
my_basic_string< charT >::my_basic_string | ( | ) | [inline] |
my_basic_string< charT >::my_basic_string | ( | Index | n, | |
char | c = ' ' | |||
) | [inline, explicit] |
Constructor setting size.
You may give as a second argument a character with which to fill the new string. Per default this is zero.
n | Number of characters | |
c | Optional fill character |
Definition at line 109 of file mystring.h.
my_basic_string< charT >::my_basic_string | ( | const basic_string< charT > & | A, | |
Index | pos = 0 , |
|||
Index | npos = my_basic_string<charT>::npos | |||
) | [inline] |
Construnctor from another my_basic_string.
Construnctor from a basic_string. This is important for handling of expressions like this to work correctly:
String a = b+'.'+c
As for std::basic_string, this constructor can also be used to initialize the new string from a subrange of the original string.
A | The original string | |
pos | Start position (0 means from the beginning) | |
npos | How many characters to copy |
Definition at line 131 of file mystring.h.
my_basic_string< charT >::my_basic_string | ( | const char | A[] | ) | [inline] |
my_basic_string< charT > & my_basic_string< charT >::operator= | ( | const my_basic_string< charT > & | A | ) | [inline] |
Assignment from another my_basic_string.
Note that my_basic_string behaves differently from Vector, Matrix, and Array here. The two partners do not have to have the same size. Size of the target string is adjusted automatically, just as std::string does it.
Definition at line 177 of file mystring.h.
Index my_basic_string< charT >::nelem | ( | ) | const [inline] |
const char my_basic_string< charT >::operator[] | ( | Index | n | ) | const [inline] |
Find function for char.
c | What character to find. |
c | What string to find. |
Definition at line 236 of file mystring.h.
char & my_basic_string< charT >::operator[] | ( | Index | n | ) | [inline] |
Non-constant index operator.
We redifine this here so that we can have range checking by assert.
Definition at line 246 of file mystring.h.
const Index my_basic_string< charT >::npos = static_cast<Index>(std::basic_string<charT>::npos) [static] |