Anklang C++ API 0.0.0
Loading...
Searching...
No Matches
Member< accessor, nullptr >

#include "member.hh"

Public Types

usingClass = typename SetterTraits::ClassType
usingR = typename std::decay< typename SetterTraits::ReturnType >::type
usingSetterTraits = Lib::MemberFunctionTraits< accessor >
usingT = typename std::decay< std::remove_pointer_t< typename std::tuple_element< 1, typename SetterTraits::Arguments >::type > >::type
usingvalue_type = T

Public Member Functions

Tget () const
Member (Class *o, const String &n, const ParamExtraVals &ev, const StringS &s={})
Member (Class *o, const String &n, const ParamExtraVals &ev, uint64_t hints, const StringS &s)
Member (Class *o, const String &n="", const StringS &s={})
voidnotify () const
operator T () const
Toperator() () const
booloperator() (const T &value)
booloperator= (const T &value)
boolset (const T &value)

Static Public Member Functions

static uint64_thints ()
static Class *host_ (const Member *m, Class *o=nullptr)
static Stringinfo (const String &key)
static const StringS &infos ()
static const MemberDetails &meta_ (const MemberDetails *n=nullptr)

Static Public Attributes

static constexpr boolis_unique_per_member

Detailed Description

template<auto accessor>
class Ase::Member< accessor, nullptr >

Member accessor class based on a single accessor, maybe combined with `[[no_unique_address]]`.

Member Typedef Documentation

SetterTraits

template<auto accessor>
using SetterTraits = Lib::MemberFunctionTraits<accessor>

R

template<auto accessor>
using R = typename std::decay<typename SetterTraits::ReturnType>::type

Class

template<auto accessor>
using Class = typename SetterTraits::ClassType

T

template<auto accessor>
using T = typename std::decay<std::remove_pointer_t<typename std::tuple_element<1, typename SetterTraits::Arguments>::type> >::type

value_type

template<auto accessor>
using value_type = T

Constructor & Destructor Documentation

Member() [1/3]

template<auto accessor>
Member ( Class * o,
const String & n = "",
const StringS & s = {}
)

Member() [2/3]

template<auto accessor>
Member ( Class * o,
const String & n,
const ParamExtraVals & ev,
const StringS & s = {}
)

Member() [3/3]

template<auto accessor>
Member ( Class * o,
const String & n,
const ParamExtraVals & ev,
uint64_t hints,
const StringS & s
)

Member Function Documentation

host_()

template<auto accessor>
static Class * host_ ( const Member< accessor, nullptr > * m,
Class * o = nullptr
)
static

Resolve (or assign) `host->Member` distance (may be 0).

meta_()

template<auto accessor>
static const MemberDetails & meta_ ( const MemberDetails * n = nullptr)
static

Retrieve or assign property meta infos.

get()

template<auto accessor>
T get ( ) const

set()

template<auto accessor>
bool set ( const T & value)

operator()() [1/2]

template<auto accessor>
T operator() ( ) const

operator()() [2/2]

template<auto accessor>
bool operator() ( const T & value)

operator T()

template<auto accessor>
operator T ( ) const

operator=()

template<auto accessor>
bool operator= ( const T & value)

notify()

template<auto accessor>
void notify ( ) const

hints()

template<auto accessor>
static uint64_t hints ( )
static

infos()

template<auto accessor>
static const StringS & infos ( )
static

info()

template<auto accessor>
static String info ( const String & key)
static

Member Data Documentation

is_unique_per_member

template<auto accessor>
constexpr bool is_unique_per_member
staticconstexpr