VCCC  2024.05
VisualCamp Common C++ library
string_view.hpp File Reference
#include <algorithm>
#include <cstddef>
#include <cstdint>
#include <exception>
#include <functional>
#include <iterator>
#include <memory>
#include <stdexcept>
#include <string>
#include <ostream>
#include "vccc/__config.h"
#include "vccc/__functional/hash_array.hpp"
#include "vccc/__iterator/contiguous_iterator.hpp"
#include "vccc/__iterator/sized_sentinel_for.hpp"
#include "vccc/__iterator/iter_value_t.hpp"
#include "vccc/__memory/addressof.hpp"
#include "vccc/__memory/to_address.hpp"
#include "vccc/__ranges/borrowed_range.hpp"
#include "vccc/__ranges/contiguous_range.hpp"
#include "vccc/__ranges/data.hpp"
#include "vccc/__ranges/enable_view.hpp"
#include "vccc/__ranges/range_value_t.hpp"
#include "vccc/__ranges/size.hpp"
#include "vccc/__ranges/sized_range.hpp"
#include "vccc/__type_traits/conjunction.hpp"
#include "vccc/__type_traits/has_typename_type.hpp"
#include "vccc/__type_traits/negation.hpp"
#include "vccc/__type_traits/type_identity.hpp"
#include "vccc/__type_traits/remove_cvref.hpp"

Go to the source code of this file.

Classes

class  basic_string_view< CharT, Traits >
 The templated class vccc::basic_string_view provides a lightweight object that offers read-only access to a string or a part of a string using an interface similar to the interface of std::basic_string. More...
 
struct  enable_borrowed_range< basic_string_view< CharT, Traits > >
 
struct  enable_view< basic_string_view< CharT, Traits > >
 
struct  hash< vccc::string_view >
 
struct  hash< vccc::wstring_view >
 
struct  hash< vccc::u16string_view >
 
struct  hash< vccc::u32string_view >
 

Namespaces

 vccc
 
 vccc::literals
 
 vccc::literals::string_view_literals
 
 std
 

Typedefs

using string_view = basic_string_view< char >
 
using wstring_view = basic_string_view< wchar_t >
 
using u16string_view = basic_string_view< char16_t >
 
using u32string_view = basic_string_view< char32_t >
 

Functions

template<typename CharT , typename Traits >
constexpr bool operator== (basic_string_view< CharT, Traits > lhs, basic_string_view< CharT, Traits > rhs) noexcept
 
template<typename CharT , typename Traits >
constexpr bool operator!= (basic_string_view< CharT, Traits > lhs, basic_string_view< CharT, Traits > rhs) noexcept
 
template<typename CharT , typename Traits >
constexpr bool operator< (basic_string_view< CharT, Traits > lhs, basic_string_view< CharT, Traits > rhs) noexcept
 
template<typename CharT , typename Traits >
constexpr bool operator<= (basic_string_view< CharT, Traits > lhs, basic_string_view< CharT, Traits > rhs) noexcept
 
template<typename CharT , typename Traits >
constexpr bool operator> (basic_string_view< CharT, Traits > lhs, basic_string_view< CharT, Traits > rhs) noexcept
 
template<typename CharT , typename Traits >
constexpr bool operator>= (basic_string_view< CharT, Traits > lhs, basic_string_view< CharT, Traits > rhs) noexcept
 
template<typename CharT , typename Traits >
std::basic_ostream< CharT, Traits > & operator<< (std::basic_ostream< CharT, Traits > &os, basic_string_view< CharT, Traits > sv)
 
constexpr string_view operator""_sv (const char *str, std::size_t len) noexcept
 
constexpr u16string_view operator""_sv (const char16_t *str, std::size_t len) noexcept
 
constexpr u32string_view operator""_sv (const char32_t *str, std::size_t len) noexcept
 
constexpr wstring_view operator""_sv (const wchar_t *str, std::size_t len) noexcept