mimic++ v4
Loading...
Searching...
No Matches
String.hpp File Reference
#include "mimic++/Fwd.hpp"
#include "mimic++/Utility.hpp"
#include <concepts>
#include <functional>
#include <ranges>
#include <string>
#include <string_view>
#include <type_traits>
Include dependency graph for String.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  mimicpp::is_character< T >
 Primary template, which always yields false. More...
 
struct  mimicpp::is_character< char >
 Specialization for char. More...
 
struct  mimicpp::is_character< signed char >
 Specialization for signed char. More...
 
struct  mimicpp::is_character< unsigned char >
 Specialization for unsigned char. More...
 
struct  mimicpp::is_character< wchar_t >
 Specialization for wchar_t. More...
 
struct  mimicpp::is_character< char8_t >
 Specialization for char8_t. More...
 
struct  mimicpp::is_character< char16_t >
 Specialization for char16_t. More...
 
struct  mimicpp::is_character< char32_t >
 Specialization for char32_t. More...
 
struct  mimicpp::string_traits< T >
 Specialization for character pointer types. More...
 
struct  mimicpp::string_traits< std::basic_string< Char, Traits, Allocator > >
 Specialization for std::basic_string types. More...
 
struct  mimicpp::string_traits< std::basic_string_view< Char, Traits > >
 Specialization for std::basic_string_view types. More...
 
struct  mimicpp::string_case_fold_converter< char >
 Specialized template for the char type. More...
 

Namespaces

namespace  mimicpp
 

Concepts

concept  mimicpp::string
 Determines, whether the given type can be used as a string-type.
 
concept  mimicpp::case_foldable_string
 Determines, whether the given type supports string normalization.
 

Typedefs

template<typename T >
using mimicpp::string_view_t = decltype(string_traits<std::remove_cvref_t<T>>::view(std::declval<T&>()))
 Computes the view type for the given string.
 
template<typename T >
using mimicpp::string_char_t = typename string_traits<std::remove_cvref_t<T>>::char_t
 Computes the character type for the given string.
 

Variables

template<typename T >
constexpr bool mimicpp::is_character_v {is_character<T>::value}
 Convenience boolean-constant to the result of is_character trait.
 
template<satisfies< is_character > Char>
constexpr StringViewT mimicpp::string_literal_prefix {}
 Primary template, yielding an empty string.
 
template<>
constexpr StringViewT mimicpp::string_literal_prefix< char > {}
 char specialization.
 
template<>
constexpr StringViewT mimicpp::string_literal_prefix< wchar_t > {"L"}
 wchar_t specialization.
 
template<>
constexpr StringViewT mimicpp::string_literal_prefix< char8_t > {"u8"}
 char8_t specialization.
 
template<>
constexpr StringViewT mimicpp::string_literal_prefix< char16_t > {"u"}
 char16_t specialization.
 
template<>
constexpr StringViewT mimicpp::string_literal_prefix< char32_t > {"U"}
 char32_t specialization.