SpiecsEngine
 
Loading...
Searching...
No Matches
ClassTraits.h File Reference

The ClassTraits Class Definitions and Implementation. More...

#include "Core/Core.h"
#include "FieldTraits.h"
#include "Core/Container/Tuple.h"
#include <string>

Go to the source code of this file.

Namespaces

namespace  Spices
 

Macros

#define UCLASS()
 
#define UCONSTRUCT(T, N)   field_traits<T>{ nullptr, #N }
 
#define UDECONSTRUCT(T, N)   field_traits<T>{ nullptr, #N }
 
#define UFUNCTIONS(...)   static constexpr auto functions = std::make_tuple(__VA_ARGS__);
 
#define UPROPERTYS(...)   static constexpr auto properties = std::make_tuple(__VA_ARGS__);
 
#define UFUNCTION_T(T, N)   field_traits<T>{ nullptr, #N }
 
#define UFUNCTION(N)   field_traits<decltype(&CLASS_SCOPE::N)>{ nullptr, #N }
 
#define UPROPERTY(N)   field_traits<decltype(&CLASS_SCOPE::N)>{ nullptr, #N, offsetof(CLASS_SCOPE, N) }
 
#define UPROPERTY_S(N)   field_traits<decltype(&CLASS_SCOPE::N)>{ &CLASS_SCOPE::N, #N, 0 }
 
#define END_CLASS   };
 

Enumerations

enum class  Spices::ClassItemType { Spices::UnSetted = 0 , Spices::Member = 1 , Spices::NonMember = 2 }
 class property/function type. More...
 

Functions

template<typename T >
auto Spices::class_traits_i (T &inst)
 Get class_traits instance of class.
 

Detailed Description

The ClassTraits Class Definitions and Implementation.

Author
VisualGMQ.

Definition in file ClassTraits.h.