Library: Strings
Header
The header <string> represents the Strings library of the Standard C++ Library. It defines the following entities:
the class template char_traits, and the specializations of char_traits on char and wchar_t
the class template basic_string, and the types string and wstring
a set of relational operators that C++ programs may use to perform equality and inequality tests on specializations of basic_string
a number of overloads of the function template operator+() specialized for basic_string
a specialization of the swap() algorithm for basic_string
specializations of operator<<() and operator>>() for basic_string, and two overloads of the function template getline() for basic_string
namespace std { template<class charT> struct char_traits; template <> struct char_traits<char>; template <> struct char_traits<wchar_t>; template<class charT, class traits = char_traits<charT>, class Allocator = allocator<charT> > class basic_string; template<class charT, class traits, class Allocator> basic_string<charT, traits, Allocator> operator+(const basic_string<charT, traits, Allocator>&, const basic_string<charT, traits, Allocator>&); template<class charT, class traits, class Allocator> basic_string<charT, traits, Allocator> operator+(const charT*, const basic_string<charT, traits, Allocator>&); template<class charT, class traits, class Allocator> basic_string<charT, traits, Allocator> operator+(charT, const basic_string<charT, traits, Allocator>&); template<class charT, class traits, class Allocator> basic_string<charT, traits, Allocator> operator+(const basic_string<charT, traits, Allocator>&, const charT*); template<class charT, class traits, class Allocator> basic_string<charT, traits, Allocator> operator+(const basic_string<charT, traits, Allocator>&, charT); template<class charT, class traits, class Allocator> bool operator==(const basic_string<charT, traits, Allocator>&, const basic_string<charT, traits, Allocator>&); template<class charT, class traits, class Allocator> bool operator==(const charT*, const basic_string<charT, traits, Allocator>&); template<class charT, class traits, class Allocator> bool operator==(const basic_string<charT, traits, Allocator>&, const charT*); template<class charT, class traits, class Allocator> bool operator!=(const basic_string<charT, traits, Allocator>&, const basic_string<charT, traits, Allocator>&); template<class charT, class traits, class Allocator> bool operator!=(const charT*, const basic_string<charT, traits, Allocator>&); template<class charT, class traits, class Allocator> bool operator!=(const basic_string<charT, traits, Allocator>&, const charT*); template<class charT, class traits, class Allocator> bool operator<(const basic_string<charT, traits, Allocator>&, const basic_string<charT, traits, Allocator>&); template<class charT, class traits, class Allocator> bool operator<(const basic_string<charT, traits, Allocator>&, const charT*); template<class charT, class traits, class Allocator> bool operator<(const charT*, const basic_string<charT, traits, Allocator>&); template<class charT, class traits, class Allocator> bool operator>(const basic_string<charT, traits, Allocator>&, const basic_string<charT, traits, Allocator>&); template<class charT, class traits, class Allocator> bool operator>(const basic_string<charT, traits, Allocator>&, const charT*); template<class charT, class traits, class Allocator> bool operator>(const charT*, const basic_string<charT, traits, Allocator>&); template<class charT, class traits, class Allocator> bool operator<=(const basic_string<charT, traits, Allocator>&, const basic_string<charT, traits, Allocator>&); template<class charT, class traits, class Allocator> bool operator<=(const basic_string<charT, traits, Allocator>&, const charT*); template<class charT, class traits, class Allocator> bool operator<=(const charT*, const basic_string<charT, traits, Allocator>&); template<class charT, class traits, class Allocator> bool operator>=(const basic_string<charT, traits, Allocator>&, const basic_string<charT, traits, Allocator>&); template<class charT, class traits, class Allocator> bool operator>=(const basic_string<charT, traits, Allocator>&, const charT*); template<class charT, class traits, class Allocator> bool operator>=(const charT*, const basic_string<charT, traits, Allocator>&); template<class charT, class traits, class Allocator> void swap(basic_string<charT, traits, Allocator>&, basic_string<charT, traits, Allocator>&); template<class charT, class traits, class Allocator> basic_istream<charT, traits>& operator>>(basic_istream<charT, traits>&, basic_string<charT, traits, Allocator>& ); template<class charT, class traits, class Allocator> basic_ostream<charT, traits>& operator<<(basic_ostream<charT, traits>&, const basic_string<charT, traits, Allocator>&); template<class charT, class traits, class Allocator> basic_istream<charT, traits>& getline(basic_istream<charT, traits>&, basic_string<charT, traits, Allocator>&, charT); template<class charT, class traits, class Allocator> basic_istream<charT, traits>& getline(basic_istream<charT, traits>&, basic_string<charT, traits, Allocator>&); typedef basic_string<char> string; typedef basic_string<wchar_t> wstring; }
Sequences, char_traits, basic_string
ISO/IEC 14882:1998 -- International Standard for Information Systems --Programming Language C++, Section 21.2