repr 0.1
Reconstructable string representations and more
Loading...
Searching...
No Matches
librepr::category::DataMember< Member, Parent, Index > Struct Template Reference

#include <aggregate.h>

Inheritance diagram for librepr::category::DataMember< Member, Parent, Index >:
[legend]
Collaboration diagram for librepr::category::DataMember< Member, Parent, Index >:
[legend]

Public Types

using descend = Member
 
using type = typename Member::type
 
using parent = Parent
 
using parent_type = typename Parent::type
 
using accessor = Accessor< T >
 
using class_type = typename accessor::class_type
 

Public Member Functions

std::string_view name () const
 
template<typename Obj >
requires (std::same_as<std::decay_t<Obj>, class_type>)
constexpr decltype(auto) operator() (Obj &&obj) noexcept
 

Public Attributes

Accessor< T > value
 
const_string< Nname {}
 

Member Typedef Documentation

◆ accessor

template<typename T , std::size_t N>
using librepr::Member< T, N >::accessor = Accessor<T>
inherited

◆ class_type

template<typename T , std::size_t N>
using librepr::Member< T, N >::class_type = typename accessor::class_type
inherited

◆ descend

◆ parent

◆ parent_type

◆ type

Member Function Documentation

◆ name()

◆ operator()()

template<typename T , std::size_t N>
template<typename Obj >
requires (std::same_as<std::decay_t<Obj>, class_type>)
constexpr decltype(auto) librepr::Member< T, N >::operator() ( Obj &&  obj)
inlineconstexprnoexceptinherited

Member Data Documentation

◆ name

template<typename T , std::size_t N>
const_string<N> librepr::Member< T, N >::name {}
inherited

◆ value

template<typename T , std::size_t N>
Accessor<T> librepr::Member< T, N >::value
inherited

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