cpp-reflect
C++ Reflection and Annotations Library
Loading...
Searching...
No Matches
refl::field< T, I > Struct Template Referenceexport
module reflect

Public Types

using type = typename packtl::get<I, typename static_type_info<T>::field_types>::type
 
template<std::size_t J>
using metadata_type
 

Static Public Member Functions

template<typename MetadataType, std::size_t StartFrom>
requires (not has_metadata<MetadataType>)
static int find_metadata ()
 
template<typename MetadataType, std::size_t StartFrom>
requires (has_metadata<MetadataType> and StartFrom < metadata_count)
static consteval MetadataType find_metadata ()
 
static const std::remove_reference_t< type > & from_instance (const T &instance)
 
static std::remove_reference_t< type > & from_instance (T &instance)
 

Static Public Attributes

static constexpr std::size_t index = I
 
static constexpr const char * name = static_type_info<T>::field_names[I]
 
static constexpr type_id_t type_id = refl::type_id<type>
 
static constexpr std::size_t size
 
static constexpr std::size_t offset
 
static constexpr access_spec access
 
static constexpr bool is_reference = std::is_reference_v<type>
 
static constexpr bool is_pointer = std::is_pointer_v<type>
 
static constexpr std::size_t metadata_offset
 
static constexpr std::size_t metadata_count
 
template<std::size_t J>
static constexpr decltype(std::get< metadata_offset+J >(static_type_info< T >::field_metadata)) metadata_item = std::get<metadata_offset + J>(static_type_info<T>::field_metadata)
 
template<typename MetadataType>
static constexpr bool has_metadata
 
template<typename MetadataType>
static constexpr MetadataType get_metadata = find_metadata<MetadataType, 0>()
 

Detailed Description

template<refl::Reflected T, std::size_t I>
struct refl::field< T, I >

Definition at line 40 of file accessors.cppm.

Member Function Documentation

◆ find_metadata() [1/2]

template<refl::Reflected T, std::size_t I>
template<typename MetadataType, std::size_t StartFrom>
requires (not has_metadata<MetadataType>)
static int refl::field< T, I >::find_metadata ( )
inlinestaticexport

Definition at line 81 of file accessors.cppm.

+ Here is the caller graph for this function:

◆ find_metadata() [2/2]

template<refl::Reflected T, std::size_t I>
template<typename MetadataType, std::size_t StartFrom>
requires (has_metadata<MetadataType> and StartFrom < metadata_count)
static consteval MetadataType refl::field< T, I >::find_metadata ( )
inlinestaticconstevalexport

Definition at line 87 of file accessors.cppm.

+ Here is the call graph for this function:

◆ from_instance() [1/2]

template<refl::Reflected T, std::size_t I>
static const std::remove_reference_t< type > & refl::field< T, I >::from_instance ( const T & instance)
inlinestaticexport

Definition at line 98 of file accessors.cppm.

◆ from_instance() [2/2]

template<refl::Reflected T, std::size_t I>
static std::remove_reference_t< type > & refl::field< T, I >::from_instance ( T & instance)
inlinestaticexport

Definition at line 103 of file accessors.cppm.


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