neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
i_setting_value.hpp File Reference

Go to the source code of this file.

Classes

struct  neolib::get_setting_type< setting_type::Boolean >
 
struct  neolib::get_setting_type< setting_type::Int8 >
 
struct  neolib::get_setting_type< setting_type::Int16 >
 
struct  neolib::get_setting_type< setting_type::Int32 >
 
struct  neolib::get_setting_type< setting_type::Int64 >
 
struct  neolib::get_setting_type< setting_type::Uint8 >
 
struct  neolib::get_setting_type< setting_type::Uint16 >
 
struct  neolib::get_setting_type< setting_type::Uint32 >
 
struct  neolib::get_setting_type< setting_type::Uint64 >
 
struct  neolib::get_setting_type< setting_type::Float32 >
 
struct  neolib::get_setting_type< setting_type::Float64 >
 
struct  neolib::get_setting_type< setting_type::String >
 
struct  neolib::setting_type_name< T, typename >
 
class  neolib::i_setting_value
 
struct  neolib::i_setting_value::not_set
 

Namespaces

namespace  neolib
 

Macros

#define define_setting_type(T)   using neolib::setting_type_name; template<> struct setting_type_name<T> { static const neolib::string& name() { static neolib::string sTypeName = #T; return sTypeName; } };
 
#define define_setting_type_as(T, Name)   using neolib::setting_type_name; template<> struct setting_type_name<T> { static const neolib::string& name() { static neolib::string sTypeName = #Name; return sTypeName; } };
 

Typedefs

template<setting_type ST>
using neolib::setting_type_t = typename get_setting_type< ST >::type
 

Enumerations

enum class  neolib::setting_type : uint32_t {
  neolib::Boolean , neolib::Int8 , neolib::Int16 , neolib::Int32 ,
  neolib::Int64 , neolib::Uint8 , neolib::Uint16 , neolib::Uint32 ,
  neolib::Uint64 , neolib::Float32 , neolib::Float64 , neolib::String ,
  neolib::Enum , neolib::Custom
}
 

Functions

 neolib::define_setting_type (bool) define_setting_type(int8_t) define_setting_type(int16_t) define_setting_type(int32_t) define_setting_type(int64_t) define_setting_type(uint8_t) define_setting_type(uint16_t) define_setting_type(uint32_t) define_setting_type(uint64_t) define_setting_type(float) define_setting_type(double) define_setting_type(string) template< typename T > struct setting_type_name< T
 

Variables

template<typename T , typename = sfinae>
constexpr setting_type neolib::setting_type_v = setting_type::Custom
 
template<>
constexpr setting_type neolib::setting_type_v< bool > = setting_type::Boolean
 
template<>
constexpr setting_type neolib::setting_type_v< int8_t > = setting_type::Int8
 
template<>
constexpr setting_type neolib::setting_type_v< int16_t > = setting_type::Int16
 
template<>
constexpr setting_type neolib::setting_type_v< int32_t > = setting_type::Int32
 
template<>
constexpr setting_type neolib::setting_type_v< int64_t > = setting_type::Int64
 
template<>
constexpr setting_type neolib::setting_type_v< uint8_t > = setting_type::Uint8
 
template<>
constexpr setting_type neolib::setting_type_v< uint16_t > = setting_type::Uint16
 
template<>
constexpr setting_type neolib::setting_type_v< uint32_t > = setting_type::Uint32
 
template<>
constexpr setting_type neolib::setting_type_v< uint64_t > = setting_type::Uint64
 
template<>
constexpr setting_type neolib::setting_type_v< float > = setting_type::Float32
 
template<>
constexpr setting_type neolib::setting_type_v< double > = setting_type::Float64
 
template<>
constexpr setting_type neolib::setting_type_v< string > = setting_type::String
 
template<typename T >
const string neolib::setting_type_name_v = setting_type_name<T>::name()
 

Macro Definition Documentation

◆ define_setting_type

#define define_setting_type (   T)    using neolib::setting_type_name; template<> struct setting_type_name<T> { static const neolib::string& name() { static neolib::string sTypeName = #T; return sTypeName; } };

Definition at line 95 of file i_setting_value.hpp.

◆ define_setting_type_as

#define define_setting_type_as (   T,
  Name 
)    using neolib::setting_type_name; template<> struct setting_type_name<T> { static const neolib::string& name() { static neolib::string sTypeName = #Name; return sTypeName; } };

Definition at line 96 of file i_setting_value.hpp.