C++ Essence Library 0.1.0
A Utility Library for Modern C++ Programming
Loading...
Searching...
No Matches
essence::meta::name_of< T > Struct Template Reference

Static Public Attributes

static constexpr auto value
 

Member Data Documentation

◆ value

template<typename T >
auto essence::meta::name_of< T >::value
staticconstexpr
Initial value:
= [] {
constexpr std::string_view qualified_name{qualified_name_of_v<T>};
constexpr auto template_argument_beginning_token_index = qualified_name.find_first_of(U8('<'));
constexpr auto scope_token_index = qualified_name.rfind(U8("::"), template_argument_beginning_token_index);
constexpr auto class_name_index = scope_token_index != std::string_view::npos ? scope_token_index + 2 : 0;
constexpr auto result = qualified_name.substr(class_name_index);
return meta::literal_string{std::span<const char, result.size()>{result.data(), result.size()}};
}()
A literal type of collection of chars.
Definition literal_string.hpp:41

The documentation for this struct was generated from the following file: