Sequoia
Loading...
Searching...
No Matches
Classes | Functions | Variables
Nomenclator.hpp File Reference

Utilities for associating types with names. More...

#include <string>
#include <type_traits>

Go to the source code of this file.

Classes

struct  sequoia::object::nomenclator< T >
 
struct  sequoia::object::nomenclator< T >
 

Functions

template<class T >
requires has_intrinsic_nomenclator<T> || has_extrinsic_nomenclator<T>
std::string sequoia::object::nomenclature (const T &t)
 

Variables

template<class T >
constexpr bool sequoia::object::has_name_value
 
template<class T >
constexpr bool sequoia::object::has_name_function
 
template<class T >
constexpr bool sequoia::object::has_extrinsic_nomenclator
 
template<class T >
constexpr bool sequoia::object::has_intrinsic_nomenclator
 

Detailed Description

Utilities for associating types with names.

Variable Documentation

◆ has_extrinsic_nomenclator

template<class T >
constexpr bool sequoia::object::has_extrinsic_nomenclator
inlineconstexpr
Initial value:
{
requires { { nomenclator<T>{}() } -> std::convertible_to<std::string>; }
}

◆ has_intrinsic_nomenclator

template<class T >
constexpr bool sequoia::object::has_intrinsic_nomenclator
inlineconstexpr
Initial value:
{
requires(const T& t) { { nomenclator<T>{}(t) } -> std::convertible_to<std::string>; }
}

◆ has_name_function

template<class T >
constexpr bool sequoia::object::has_name_function
inlineconstexpr
Initial value:
{
requires(const T& t) { { t.name() } -> std::convertible_to<std::string>; }
}

◆ has_name_value

template<class T >
constexpr bool sequoia::object::has_name_value
inlineconstexpr
Initial value:
{
requires(const T& t) { { t.name } -> std::convertible_to<std::string>; }
}