...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Front Page / Sequences / Classes / string |
string is a variadic, bidirectional, extensible Integral Sequence Wrapper of characters that supports amortized constant-time insertion and removal of elements at both ends, and linear-time insertion and removal of elements in the middle. The parameters to string are multi-character literals, giving a somewhat readable syntax for compile-time strings. string can also be an argument to the c_str metafunction, which generates a null-terminated character array that facilitates interoperability with runtime string processing routines.
Sequence form | Header |
---|---|
Variadic | #include <boost/mpl/string.hpp> |
In the following table, s is an instance of string, pos and last are iterators into s, r is a Forward Sequence of characters, n and x are Integral Constants, and c1,c2,... cn are arbitrary (multi-)characters.
Expression | Semantics |
---|---|
string<c1,c2,... cn> |
string of characters c1,c2,... cn; see Variadic Sequence. |
string<c1,c2,... cn>::type |
Identical to string<c1,c2,... cn>; see Variadic Sequence. |
begin<s>::type | An iterator pointing to the beginning of s; see Bidirectional Sequence. |
end<s>::type | An iterator pointing to the end of s; see Bidirectional Sequence. |
size<s>::type | The size of s; see Bidirectional Sequence. |
empty<s>::type | A boolean Integral Constant c such that c::value == true if and only if the sequence is empty; see Bidirectional Sequence. |
front<s>::type | The first element in s; see Bidirectional Sequence. |
back<s>::type | The last element in s; see Bidirectional Sequence. |
insert<s,pos,x>::type | A new string of following elements: [begin<s>::type, pos), x, [pos, end<s>::type); see Extensible Sequence. |
insert_range<s,pos,r>::type | A new string of following elements: [begin<s>::type, pos), [begin<r>::type, end<r>::type) [pos, end<s>::type); see Extensible Sequence. |
erase<s,pos>::type | A new string of following elements: [begin<s>::type, pos), [next<pos>::type, end<s>::type); see Extensible Sequence. |
erase<s,pos,last>::type | A new string of following elements: [begin<s>::type, pos), [last, end<s>::type); see Extensible Sequence. |
clear<s>::type | An empty string; see Extensible Sequence. |
push_back<s,x>::type | A new string of following elements: [begin<s>::type, end<s>::type), x; see Back Extensible Sequence. |
pop_back<s>::type | A new string of following elements: [begin<s>::type, prior< end<s>::type >::type); see Back Extensible Sequence. |
push_front<s,x>::type | A new string of following elements: [begin<s>::type, end<s>::type), x; see Front Extensible Sequence. |
pop_front<s>::type | A new string of following elements: [next< begin<s>::type >::type, end<s>::type); see Front Extensible Sequence. |
c_str<s>::value | A null-terminated byte string such that c_str<s>::value[n] is equal to the n-th character in s, and c_str<s>::value[size<s>::type::value] is '\0'. |