Strings library

From Cppreference

< cpp
Jump to: navigation, search


[edit] Null terminated narrow string management

[edit] Null-terminated wide string management

[edit] basic_string

Defined in header <string>


    typename CharT,
    typename Traits = std::char_traits<CharT>,
    typename Allocator = std::allocator<CharT> >

> class basic_string;

The class basic_string generalizes the way how sequences of characters are manipulated and stored.

Several specializations of the class basic_string are provided:

Defined in header <string>
Type Definition
string basic_string<char>
wstring basic_string<wchar_t>
u16string basic_string<char16_t>
u32string basic_string<char32_t>

[edit] Hash support

The following specializations of class template hash are defined. These specializations provide hash support for default string types.

Defined in header <string>

template<> class hash<std::string>;

template<> class hash<std::wstring>;
template<> class hash<std::u16string>;

template<> class hash<std::u32string>;
(C++11 feature)
(C++11 feature)
(C++11 feature)
(C++11 feature)

[edit] char_traits

Strings library provides class template char_traits, defining types and functions for a character container. The following specializations are defined:

Defined in header <string>

template<> class char_traits<std::string>;

template<> class char_traits<std::wstring>;
template<> class char_traits<std::u16string>;

template<> class char_traits<std::u32string>;

(C++11 feature)
(C++11 feature)