ARTS
1.0.222
|
The implementation for String, the ARTS string class. More...
#include <mystring.h>
Public Member Functions | |
my_basic_string () | |
Default constructor. More... | |
my_basic_string (Index n, char c=' ') | |
Constructor setting size. More... | |
my_basic_string (const basic_string< charT > &A, Index pos=0, Index npos=my_basic_string< charT >::npos) | |
Construnctor from another my_basic_string. More... | |
my_basic_string (const char A[]) | |
Constructor from a C-style char array. More... | |
my_basic_string & | operator= (const my_basic_string< charT > &A) |
Assignment from another my_basic_string. More... | |
Index | nelem () const |
Number of elements. More... | |
char | operator[] (Index n) const |
Constant index operator. More... | |
char & | operator[] (Index n) |
Non-constant index operator. More... | |
Static Public Attributes | |
static const Index | npos = static_cast<Index>(std::basic_string<charT>::npos) |
Define npos: More... | |
The implementation for String, the ARTS string class.
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.
|
inline |
Default constructor.
Definition at line 98 of file mystring.h.
|
inlineexplicit |
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.
|
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.
|
inline |
Constructor from a C-style char array.
Definition at line 165 of file mystring.h.
|
inline |
Number of elements.
Definition at line 185 of file mystring.h.
|
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.
|
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.
|
inline |
Constant index operator.
We redifine this here so that we can have range checking by assert.
Definition at line 236 of file mystring.h.
|
static |
Define npos:
Definition at line 87 of file mystring.h.