实验性库头文件 <experimental/string_view>
来自cppreference.com
类
| 名字 | 说明 |
| std::experimental::basic_string_view (库基础 TS) | 表示到某个字符串的引用的类模板 (类模板) |
| std::experimental::string_view (库基础 TS) | std::experimental::basic_string_view<char> (typedef)
|
| std::experimental::wstring_view (库基础 TS) | std::experimental::basic_string_view<wchar_t> (typedef)
|
| std::experimental::u16string_view (库基础 TS) | std::experimental::basic_string_view<char16_t> (typedef)
|
| std::experimental::u32string_view (库基础 TS) | std::experimental::basic_string_view<char32_t> (typedef)
|
std::hash<std::experimental::string_view> (库基础 TS)
|
(类模板特化) |
std::hash<std::experimental::u16string_view> (库基础 TS)
|
(类模板特化) |
std::hash<std::experimental::u32string_view> (库基础 TS)
|
(类模板特化) |
std::hash<std::experimental::wstring_view> (库基础 TS)
|
(类模板特化) |
函数
| 以字典序比较两个视图 (函数模板) | |
输出 | |
| 进行视图的流输出 (函数模板) | |
概要
namespace std {
namespace experimental {
inline namespace fundamentals_v1 {
// 7.2,类模板 basic_string_view
template<class charT, class traits = char_traits<charT>>
class basic_string_view;
// 7.9,basic_string_view 的非成员比较函数
template<class charT, class traits>
constexpr bool operator==(basic_string_view<charT, traits> x,
basic_string_view<charT, traits> y) noexcept;
template<class charT, class traits>
constexpr bool operator!=(basic_string_view<charT, traits> x,
basic_string_view<charT, traits> y) noexcept;
template<class charT, class traits>
constexpr bool operator< (basic_string_view<charT, traits> x,
basic_string_view<charT, traits> y) noexcept;
template<class charT, class traits>
constexpr bool operator> (basic_string_view<charT, traits> x,
basic_string_view<charT, traits> y) noexcept;
template<class charT, class traits>
constexpr bool operator<=(basic_string_view<charT, traits> x,
basic_string_view<charT, traits> y) noexcept;
template<class charT, class traits>
constexpr bool operator>=(basic_string_view<charT, traits> x,
basic_string_view<charT, traits> y) noexcept;
// 见下文,充足的比较函数的额外重载
// 7.10,插入符与提取符
template<class charT, class traits>
basic_ostream<charT, traits>&
operator<<(basic_ostream<charT, traits>& os,
basic_string_view<charT, traits> str);
// basic_string_view typedef 名
typedef basic_string_view<char> string_view;
typedef basic_string_view<char16_t> u16string_view;
typedef basic_string_view<char32_t> u32string_view;
typedef basic_string_view<wchar_t> wstring_view;
} // namespace fundamentals_v1
} // namespace experimental
// 7.11,散列支持
template <class T> struct hash;
template <> struct hash<experimental::string_view>;
template <> struct hash<experimental::u16string_view>;
template <> struct hash<experimental::u32string_view>;
template <> struct hash<experimental::wstring_view>;
} // namespace std