libstdc++
basic_string.h File Reference

Go to the source code of this file.

Classes

class  std::basic_string< _CharT, _Traits, _Alloc >
struct  std::hash< string >
struct  std::hash< u16string >
struct  std::hash< u32string >
struct  std::hash< wstring >

Namespaces

namespace  std
namespace  std::__detail
namespace  std::literals

Macros

#define __cpp_lib_constexpr_string
#define __cpp_lib_string_udls
#define _GLIBCXX_STRING_CONSTEXPR

Functions

template<typename _InputIterator, typename _CharT = typename iterator_traits<_InputIterator>::value_type, typename _Allocator = allocator<_CharT>, typename = _RequireInputIter<_InputIterator>, typename = _RequireAllocator<_Allocator>>
 std::basic_string (_InputIterator, _InputIterator, _Allocator=_Allocator()) -> basic_string< _CharT, char_traits< _CharT >, _Allocator >
template<typename _CharT, typename _Traits, typename _Allocator = allocator<_CharT>, typename = _RequireAllocator<_Allocator>>
 std::basic_string (basic_string_view< _CharT, _Traits >, const _Allocator &=_Allocator()) -> basic_string< _CharT, _Traits, _Allocator >
template<typename _CharT, typename _Traits, typename _Allocator = allocator<_CharT>, typename = _RequireAllocator<_Allocator>>
 std::basic_string (basic_string_view< _CharT, _Traits >, typename basic_string< _CharT, _Traits, _Allocator >::size_type, typename basic_string< _CharT, _Traits, _Allocator >::size_type, const _Allocator &=_Allocator()) -> basic_string< _CharT, _Traits, _Allocator >
template<typename _CharT, typename _Traits, typename _Alloc>
basic_istream< _CharT, _Traits > & std::getline (basic_istream< _CharT, _Traits > &&__is, basic_string< _CharT, _Traits, _Alloc > &__str)
template<typename _CharT, typename _Traits, typename _Alloc>
basic_istream< _CharT, _Traits > & std::getline (basic_istream< _CharT, _Traits > &&__is, basic_string< _CharT, _Traits, _Alloc > &__str, _CharT __delim)
template<typename _CharT, typename _Traits, typename _Alloc>
basic_istream< _CharT, _Traits > & std::getline (basic_istream< _CharT, _Traits > &__is, basic_string< _CharT, _Traits, _Alloc > &__str)
template<typename _CharT, typename _Traits, typename _Alloc>
basic_istream< _CharT, _Traits > & std::getline (basic_istream< _CharT, _Traits > &__is, basic_string< _CharT, _Traits, _Alloc > &__str, _CharT __delim)
template<>
basic_istream< char > & std::getline (basic_istream< char > &__in, basic_string< char > &__str, char __delim)
template<>
basic_istream< wchar_t > & std::getline (basic_istream< wchar_t > &__in, basic_string< wchar_t > &__str, wchar_t __delim)
template<typename _CharT, typename _Traits, typename _Alloc>
bool std::operator!= (const _CharT *__lhs, const basic_string< _CharT, _Traits, _Alloc > &__rhs)
template<typename _CharT, typename _Traits, typename _Alloc>
bool std::operator!= (const basic_string< _CharT, _Traits, _Alloc > &__lhs, const _CharT *__rhs)
template<typename _CharT, typename _Traits, typename _Alloc>
bool std::operator!= (const basic_string< _CharT, _Traits, _Alloc > &__lhs, const basic_string< _CharT, _Traits, _Alloc > &__rhs) noexcept
constexpr basic_string< char > std::literals::operator""s (const char *__str, size_t __len)
constexpr basic_string< char16_t > std::literals::operator""s (const char16_t *__str, size_t __len)
constexpr basic_string< char32_t > std::literals::operator""s (const char32_t *__str, size_t __len)
constexpr basic_string< wchar_t > std::literals::operator""s (const wchar_t *__str, size_t __len)
template<typename _CharT, typename _Traits, typename _Alloc>
constexpr basic_string< _CharT, _Traits, _Alloc > std::operator+ (_CharT __lhs, basic_string< _CharT, _Traits, _Alloc > &&__rhs)
template<typename _CharT, typename _Traits, typename _Alloc>
constexpr basic_string< _CharT, _Traits, _Alloc > std::operator+ (_CharT __lhs, const basic_string< _CharT, _Traits, _Alloc > &__rhs)
template<typename _CharT, typename _Traits, typename _Alloc>
constexpr basic_string< _CharT, _Traits, _Alloc > std::operator+ (basic_string< _CharT, _Traits, _Alloc > &&__lhs, _CharT __rhs)
template<typename _CharT, typename _Traits, typename _Alloc>
constexpr basic_string< _CharT, _Traits, _Alloc > std::operator+ (basic_string< _CharT, _Traits, _Alloc > &&__lhs, basic_string< _CharT, _Traits, _Alloc > &&__rhs)
template<typename _CharT, typename _Traits, typename _Alloc>
constexpr basic_string< _CharT, _Traits, _Alloc > std::operator+ (basic_string< _CharT, _Traits, _Alloc > &&__lhs, const _CharT *__rhs)
template<typename _CharT, typename _Traits, typename _Alloc>
constexpr basic_string< _CharT, _Traits, _Alloc > std::operator+ (basic_string< _CharT, _Traits, _Alloc > &&__lhs, const basic_string< _CharT, _Traits, _Alloc > &__rhs)
template<typename _CharT, typename _Traits, typename _Alloc>
constexpr basic_string< _CharT, _Traits, _Alloc > std::operator+ (const _CharT *__lhs, basic_string< _CharT, _Traits, _Alloc > &&__rhs)
template<typename _CharT, typename _Traits, typename _Alloc>
constexpr basic_string< _CharT, _Traits, _Alloc > std::operator+ (const _CharT *__lhs, const basic_string< _CharT, _Traits, _Alloc > &__rhs)
template<typename _CharT, typename _Traits, typename _Alloc>
constexpr basic_string< _CharT, _Traits, _Alloc > std::operator+ (const basic_string< _CharT, _Traits, _Alloc > &__lhs, _CharT __rhs)
template<typename _CharT, typename _Traits, typename _Alloc>
constexpr basic_string< _CharT, _Traits, _Alloc > std::operator+ (const basic_string< _CharT, _Traits, _Alloc > &__lhs, basic_string< _CharT, _Traits, _Alloc > &&__rhs)
template<typename _CharT, typename _Traits, typename _Alloc>
constexpr basic_string< _CharT, _Traits, _Alloc > std::operator+ (const basic_string< _CharT, _Traits, _Alloc > &__lhs, const _CharT *__rhs)
template<typename _CharT, typename _Traits, typename _Alloc>
constexpr basic_string< _CharT, _Traits, _Alloc > std::operator+ (const basic_string< _CharT, _Traits, _Alloc > &__lhs, const basic_string< _CharT, _Traits, _Alloc > &__rhs)
template<typename _CharT, typename _Traits, typename _Alloc>
bool std::operator< (const _CharT *__lhs, const basic_string< _CharT, _Traits, _Alloc > &__rhs)
template<typename _CharT, typename _Traits, typename _Alloc>
bool std::operator< (const basic_string< _CharT, _Traits, _Alloc > &__lhs, const _CharT *__rhs)
template<typename _CharT, typename _Traits, typename _Alloc>
bool std::operator< (const basic_string< _CharT, _Traits, _Alloc > &__lhs, const basic_string< _CharT, _Traits, _Alloc > &__rhs) noexcept
template<typename _CharT, typename _Traits, typename _Alloc>
basic_ostream< _CharT, _Traits > & std::operator<< (basic_ostream< _CharT, _Traits > &__os, const basic_string< _CharT, _Traits, _Alloc > &__str)
template<typename _CharT, typename _Traits, typename _Alloc>
bool std::operator<= (const _CharT *__lhs, const basic_string< _CharT, _Traits, _Alloc > &__rhs)
template<typename _CharT, typename _Traits, typename _Alloc>
bool std::operator<= (const basic_string< _CharT, _Traits, _Alloc > &__lhs, const _CharT *__rhs)
template<typename _CharT, typename _Traits, typename _Alloc>
bool std::operator<= (const basic_string< _CharT, _Traits, _Alloc > &__lhs, const basic_string< _CharT, _Traits, _Alloc > &__rhs) noexcept
template<typename _CharT, typename _Traits, typename _Alloc>
bool std::operator== (const _CharT *__lhs, const basic_string< _CharT, _Traits, _Alloc > &__rhs)
template<typename _CharT>
constexpr __gnu_cxx::__enable_if< __is_char< _CharT >::__value, bool >::__type std::operator== (const basic_string< _CharT > &__lhs, const basic_string< _CharT > &__rhs) noexcept
template<typename _CharT, typename _Traits, typename _Alloc>
constexpr bool std::operator== (const basic_string< _CharT, _Traits, _Alloc > &__lhs, const _CharT *__rhs)
template<typename _CharT, typename _Traits, typename _Alloc>
constexpr bool std::operator== (const basic_string< _CharT, _Traits, _Alloc > &__lhs, const basic_string< _CharT, _Traits, _Alloc > &__rhs) noexcept
template<typename _CharT, typename _Traits, typename _Alloc>
bool std::operator> (const _CharT *__lhs, const basic_string< _CharT, _Traits, _Alloc > &__rhs)
template<typename _CharT, typename _Traits, typename _Alloc>
bool std::operator> (const basic_string< _CharT, _Traits, _Alloc > &__lhs, const _CharT *__rhs)
template<typename _CharT, typename _Traits, typename _Alloc>
bool std::operator> (const basic_string< _CharT, _Traits, _Alloc > &__lhs, const basic_string< _CharT, _Traits, _Alloc > &__rhs) noexcept
template<typename _CharT, typename _Traits, typename _Alloc>
bool std::operator>= (const _CharT *__lhs, const basic_string< _CharT, _Traits, _Alloc > &__rhs)
template<typename _CharT, typename _Traits, typename _Alloc>
bool std::operator>= (const basic_string< _CharT, _Traits, _Alloc > &__lhs, const _CharT *__rhs)
template<typename _CharT, typename _Traits, typename _Alloc>
bool std::operator>= (const basic_string< _CharT, _Traits, _Alloc > &__lhs, const basic_string< _CharT, _Traits, _Alloc > &__rhs) noexcept
template<typename _CharT, typename _Traits, typename _Alloc>
basic_istream< _CharT, _Traits > & std::operator>> (basic_istream< _CharT, _Traits > &__is, basic_string< _CharT, _Traits, _Alloc > &__str)
template<>
basic_istream< char > & std::operator>> (basic_istream< char > &__is, basic_string< char > &__str)
double std::stod (const string &__str, size_t *__idx=0)
double std::stod (const wstring &__str, size_t *__idx=0)
float std::stof (const string &__str, size_t *__idx=0)
float std::stof (const wstring &__str, size_t *__idx=0)
int std::stoi (const string &__str, size_t *__idx=0, int __base=10)
int std::stoi (const wstring &__str, size_t *__idx=0, int __base=10)
long std::stol (const string &__str, size_t *__idx=0, int __base=10)
long std::stol (const wstring &__str, size_t *__idx=0, int __base=10)
long double std::stold (const string &__str, size_t *__idx=0)
long double std::stold (const wstring &__str, size_t *__idx=0)
long long std::stoll (const string &__str, size_t *__idx=0, int __base=10)
long long std::stoll (const wstring &__str, size_t *__idx=0, int __base=10)
unsigned long std::stoul (const string &__str, size_t *__idx=0, int __base=10)
unsigned long std::stoul (const wstring &__str, size_t *__idx=0, int __base=10)
unsigned long long std::stoull (const string &__str, size_t *__idx=0, int __base=10)
unsigned long long std::stoull (const wstring &__str, size_t *__idx=0, int __base=10)
template<typename _CharT, typename _Traits, typename _Alloc>
constexpr void std::swap (basic_string< _CharT, _Traits, _Alloc > &__lhs, basic_string< _CharT, _Traits, _Alloc > &__rhs) noexcept(/*conditional */)
string std::to_string (double __val)
string std::to_string (float __val)
string std::to_string (int __val) noexcept
string std::to_string (long __val) noexcept
string std::to_string (long double __val)
string std::to_string (long long __val)
string std::to_string (unsigned __val) noexcept
string std::to_string (unsigned long __val) noexcept
string std::to_string (unsigned long long __val)
wstring std::to_wstring (double __val)
wstring std::to_wstring (float __val)
wstring std::to_wstring (int __val)
wstring std::to_wstring (long __val)
wstring std::to_wstring (long double __val)
wstring std::to_wstring (long long __val)
wstring std::to_wstring (unsigned __val)
wstring std::to_wstring (unsigned long __val)
wstring std::to_wstring (unsigned long long __val)

Detailed Description

This is an internal header file, included by other library headers. Do not attempt to use it directly. Instead, include <string>.

Definition in file basic_string.h.

Macro Definition Documentation

◆ __cpp_lib_constexpr_string

#define __cpp_lib_constexpr_string

Definition at line 60 of file basic_string.h.

◆ __cpp_lib_string_udls

#define __cpp_lib_string_udls

Definition at line 4324 of file basic_string.h.

◆ _GLIBCXX_STRING_CONSTEXPR

#define _GLIBCXX_STRING_CONSTEXPR

Definition at line 4334 of file basic_string.h.