BitShares-Core  7.0.2
BitShares blockchain node software and command-line wallet software
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
fc::field_reflection< Index, Container, Member, field > Struct Template Reference

A template to store compile-time information about a field in a reflected struct. More...

#include <reflect.hpp>

Public Types

using container = Container
 
using type = Member
 
using reflector = fc::reflector< type >
 

Static Public Member Functions

static typeget (container &c)
 Given a reference to the container type, get a reference to the field. More...
 
static const typeget (const container &c)
 
static const char * get_name ()
 Get the name of the field. More...
 

Static Public Attributes

constexpr static std::size_t index = Index
 
constexpr static bool is_derived = false
 
constexpr static type container::* pointer = field
 

Detailed Description

template<std::size_t Index, typename Container, typename Member, Member Container::* field>
struct fc::field_reflection< Index, Container, Member, field >

A template to store compile-time information about a field in a reflected struct.

Template Parameters
ContainerThe type of the struct or class containing the field
MemberThe type of the field
fieldA pointer-to-member for the reflected field

Definition at line 41 of file reflect.hpp.

Member Typedef Documentation

◆ container

template<std::size_t Index, typename Container , typename Member , Member Container::* field>
using fc::field_reflection< Index, Container, Member, field >::container = Container

Definition at line 42 of file reflect.hpp.

◆ reflector

template<std::size_t Index, typename Container , typename Member , Member Container::* field>
using fc::field_reflection< Index, Container, Member, field >::reflector = fc::reflector<type>

Definition at line 44 of file reflect.hpp.

◆ type

template<std::size_t Index, typename Container , typename Member , Member Container::* field>
using fc::field_reflection< Index, Container, Member, field >::type = Member

Definition at line 43 of file reflect.hpp.

Member Function Documentation

◆ get() [1/2]

template<std::size_t Index, typename Container , typename Member , Member Container::* field>
static const type& fc::field_reflection< Index, Container, Member, field >::get ( const container c)
inlinestatic

Definition at line 51 of file reflect.hpp.

◆ get() [2/2]

template<std::size_t Index, typename Container , typename Member , Member Container::* field>
static type& fc::field_reflection< Index, Container, Member, field >::get ( container c)
inlinestatic

Given a reference to the container type, get a reference to the field.

Definition at line 50 of file reflect.hpp.

◆ get_name()

template<std::size_t Index, typename Container , typename Member , Member Container::* field>
static const char* fc::field_reflection< Index, Container, Member, field >::get_name ( )
inlinestatic

Get the name of the field.

Definition at line 53 of file reflect.hpp.

Member Data Documentation

◆ index

template<std::size_t Index, typename Container , typename Member , Member Container::* field>
constexpr static std::size_t fc::field_reflection< Index, Container, Member, field >::index = Index
staticconstexpr

Definition at line 45 of file reflect.hpp.

◆ is_derived

template<std::size_t Index, typename Container , typename Member , Member Container::* field>
constexpr static bool fc::field_reflection< Index, Container, Member, field >::is_derived = false
staticconstexpr

Definition at line 46 of file reflect.hpp.

◆ pointer

template<std::size_t Index, typename Container , typename Member , Member Container::* field>
constexpr static type container::* fc::field_reflection< Index, Container, Member, field >::pointer = field
staticconstexpr

Definition at line 47 of file reflect.hpp.


The documentation for this struct was generated from the following file: