12 #ifndef PLSSVM_DETAIL_ARITHMETIC_TYPE_NAME_HPP_
13 #define PLSSVM_DETAIL_ARITHMETIC_TYPE_NAME_HPP_
16 #include <string_view>
23 #define PLSSVM_CREATE_ARITHMETIC_TYPE_NAME(type) \
25 [[nodiscard]] constexpr inline std::string_view arithmetic_type_name<type>() { return #type; } \
27 [[nodiscard]] constexpr inline std::string_view arithmetic_type_name<const type>() { return "const " #type; } \
29 [[nodiscard]] constexpr inline std::string_view arithmetic_type_name<volatile type>() { return "volatile " #type; } \
31 [[nodiscard]] constexpr inline std::string_view arithmetic_type_name<const volatile type>() { return "const volatile " #type; }
71 #undef PLSSVM_CREATE_ARITHMETIC_TYPE_NAME
#define PLSSVM_CREATE_ARITHMETIC_TYPE_NAME(type)
Defines a macro to create all possible conversion functions from arithmetic types to their name as st...
Definition: arithmetic_type_name.hpp:23
Namespace containing implementation details. Should not directly be used by users.
Definition: csvm.hpp:27
constexpr std::string_view arithmetic_type_name()=delete
Tries to convert the given type to its name as string representation including possible const and/or ...