25#include "friendly_name.hpp"
30namespace essence::meta {
41 explicit consteval fingerprint(std::type_identity<T>) noexcept
42 : typename_{friendly_name_v<T, original_name_cache_tag>}, friendly_name_{friendly_name_v<T>} {}
44 constexpr auto operator<=>(
const fingerprint&)
const noexcept =
default;
50 [[nodiscard]]
constexpr const char*
name() const noexcept {
51 return typename_.data();
59 return friendly_name_.empty() ? typename_.data() : friendly_name_.data();
63 std::string_view typename_;
64 std::string_view friendly_name_;