Header file field.hpp
namespace cpp
{
namespace static_reflection
{
namespace meta
{
template <typename SourceInfo_, typename Class, typename T, T Class::* field>
class Field<SourceInfo_, T Class::*, field>
{
public:
using type = T Class::*;
using value_type = T;
using class_type = Class;
using decay_t = cpp::meta::decay_t<value_type>;
using SourceInfo = SourceInfo_;
constexpr Field() = default;
static constexpr type get();
static constexpr const decay_t& get(const Class& object);
static constexpr decay_t& get(Class& object);
};
}
namespace codegen
{
template <typename FieldType, FieldType field>
class Field{};
}
template <typename FieldType, FieldType field>
class Field;
}
}
Class template cpp::static_reflection::Field<FieldType, field>
template <typename FieldType, FieldType field>
class Field
: public codegen::Field<FieldType, field>
{};
Returns static reflection information of a given pointer to member object
See cpp::static_reflection::meta::Field for specific informatio about the returned information
Parameters: