ARTS
2.2.66
|
The implementation for String, the ARTS string class. More...
#include <mystring.h>
Public Types | |
typedef Index | size_type |
Public Member Functions | |
my_basic_string () | |
Default constructor. More... | |
my_basic_string (Index n, char c=' ') | |
Constructor setting size. More... | |
my_basic_string (const std::basic_string< charT > &A, Index pos=0, Index numpos=my_basic_string< charT >::npos) | |
Construnctor from a 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... | |
void | insert_substr (const my_basic_string< charT > &searchstr, const my_basic_string< charT > &insstr) |
Insert string before all occurrences of the substring. More... | |
void | split (Array< my_basic_string< charT > > &aos, const my_basic_string< charT > &delim) const |
Split string into substrings. More... | |
void | toupper () |
Convert to upper case. More... | |
void | tolower () |
Convert to lower case. More... | |
void | trim () |
Trim leading and trailing whitespace. 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 string is just a typedef for basic_string<char>. Therefore, to make everything work correctly, we have to derive our own class from basic_string, not from string directly.
Definition at line 63 of file mystring.h.
typedef Index my_basic_string< charT >::size_type |
Definition at line 107 of file mystring.h.
|
inline |
Default constructor.
Definition at line 118 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 130 of file mystring.h.
|
inline |
Construnctor from a basic_string.
This is important for handling of expressions like this to work correctly:
String a = b+'.'+c
As for 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) |
numpos | How many characters to copy |
Definition at line 148 of file mystring.h.
|
inline |
Constructor from a C-style char array.
Definition at line 184 of file mystring.h.
|
inline |
Insert string before all occurrences of the substring.
[in] | searchstr | String to search for. |
[in] | insstr | String to insert. |
Definition at line 208 of file mystring.h.
Referenced by write_method_header_documentation().
|
inline |
Number of elements.
Definition at line 278 of file mystring.h.
Referenced by abs_linesReadFromHitran(), add_basedir(), ArrayOfLineMixingRecordReadAscii(), chk_griddedfield_gridname(), expand_path(), find_file(), get_dirname(), get_parameters(), get_wsv_group_ids(), main(), operator<<(), ArtsParser::parse_agenda(), ParticleType2abs_speciesAdd(), ParticleTypeAdd(), LineRecord::ReadFromArtscat3Stream(), LineRecord::ReadFromArtscat4Stream(), CIARecord::ReadFromCIA(), LineRecord::ReadFromHitran2001Stream(), LineRecord::ReadFromHitran2004Stream(), LineRecord::ReadFromJplStream(), LineRecord::ReadFromMytran2Stream(), SpeciesAuxData::ReadFromStream(), SpeciesTag::SpeciesTag(), my_basic_string< charT >::split(), my_basic_string< charT >::trim(), and write_method_header().
|
inline |
Assignment from another my_basic_string.
The two partners do not have to have the same size. Size of the target string is adjusted automatically, just as string does it.
Definition at line 195 of file mystring.h.
|
inline |
Non-constant index operator.
We redifine this here so that we can have range checking by assert.
[in] | n | Index |
Definition at line 308 of file mystring.h.
|
inline |
Constant index operator.
We redifine this here so that we can have range checking by assert.
[in] | n | Index |
Definition at line 293 of file mystring.h.
|
inline |
Split string into substrings.
[out] | aos | ArrayOfString containing the returned substrings. |
[in] | delim | Delimiter string. |
Definition at line 233 of file mystring.h.
References my_basic_string< charT >::nelem().
Referenced by abs_linesReadFromHitran(), get_dirname(), parse_part_material(), parse_part_size(), parse_partfield_name(), parse_psd_param(), and LineRecord::ReadFromHitran2004Stream().
|
inline |
Convert to lower case.
Definition at line 91 of file mystring.h.
Referenced by abs_linesReadFromHitran(), and my_basic_string< char >::tolower().
|
inline |
Convert to upper case.
Definition at line 87 of file mystring.h.
Referenced by atm_fields_compactFromMatrix(), chk_griddedfield_gridname(), and my_basic_string< char >::toupper().
void my_basic_string< charT >::trim |
Trim leading and trailing whitespace.
Definition at line 253 of file mystring.h.
References my_basic_string< charT >::nelem().
Referenced by ArrayOfLineMixingRecordReadAscii(), LineRecord::ReadFromArtscat4Stream(), LineRecord::ReadFromHitran2004Stream(), species_index_from_species_name(), and SpeciesTag::SpeciesTag().
|
static |
Define npos:
Definition at line 105 of file mystring.h.
Referenced by array_species_tag_from_string(), get_parameters(), get_short_wsv_description(), main(), parse_path_from_environment(), ArtsXMLTag::read_from_stream(), replace_all(), and SpeciesTag::SpeciesTag().