Skip to content

Class Ase::Member< accessor, nullptr >

template <auto accessor>

ClassList > Ase > Member< accessor, nullptr >

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

  • #include <member.hh>

Public Types

Type Name
typedef typename SetterTraits::ClassType Class
typedef typename std::decay< typename SetterTraits::ReturnType >::type R
typedef Lib::MemberFunctionTraits< accessor > SetterTraits
typedef typename std::decay< std::remove_pointer_t< typename std::tuple_element< 1, typename SetterTraits::Arguments >::type > >::type T
typedef T value_type

Public Static Attributes

Type Name
constexpr bool is_unique_per_member = = true

Public Functions

Type Name
Member (Class * o, const String & n="", const StringS & s={})
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)
T get () const
void notify () const
operator T () const
T operator() () const
bool operator() (const T & value)
bool operator= (const T & value)
bool set (const T & value)

Public Static Functions

Type Name
uint64_t hints ()
Class * host_ (const Member * m, Class * o=nullptr)
Resolve (or assign) host-> Member distance (may be 0).
String info (const String & key)
const StringS & infos ()
const MemberDetails & meta_ (const MemberDetails * n=nullptr)
Retrieve or assign property meta infos.

Public Types Documentation

typedef Class

using Ase::Member< accessor, nullptr >::Class =  typename SetterTraits::ClassType;

typedef R

using Ase::Member< accessor, nullptr >::R =  typename std::decay<typename SetterTraits::ReturnType>::type;

typedef SetterTraits

using Ase::Member< accessor, nullptr >::SetterTraits =  Lib::MemberFunctionTraits<accessor>;

typedef T

using Ase::Member< accessor, nullptr >::T =  typename std::decay<std::remove_pointer_t<typename std::tuple_element<1, typename SetterTraits::Arguments>::type> >::type;

typedef value_type

using Ase::Member< accessor, nullptr >::value_type =  T;

Public Static Attributes Documentation

variable is_unique_per_member

constexpr bool Ase::Member< accessor, nullptr >::is_unique_per_member;

Public Functions Documentation

function Member [1/3]

inline Ase::Member< accessor, nullptr >::Member (
    Class * o,
    const String & n="",
    const StringS & s={}
) 

function Member [2/3]

inline Ase::Member< accessor, nullptr >::Member (
    Class * o,
    const String & n,
    const ParamExtraVals & ev,
    const StringS & s={}
) 

function Member [3/3]

inline Ase::Member< accessor, nullptr >::Member (
    Class * o,
    const String & n,
    const ParamExtraVals & ev,
    uint64_t hints,
    const StringS & s
) 

function get

inline T Ase::Member< accessor, nullptr >::get () const

function notify

inline void Ase::Member< accessor, nullptr >::notify () const

function operator T

inline Ase::Member< accessor, nullptr >::operator T () const

function operator() [1/2]

inline T Ase::Member< accessor, nullptr >::operator() () const

function operator() [2/2]

inline bool Ase::Member< accessor, nullptr >::operator() (
    const T & value
) 

function operator=

inline bool Ase::Member< accessor, nullptr >::operator= (
    const T & value
) 

function set

inline bool Ase::Member< accessor, nullptr >::set (
    const T & value
) 

Public Static Functions Documentation

function hints

static inline uint64_t Ase::Member< accessor, nullptr >::hints () 

function host_

static inline Class * Ase::Member< accessor, nullptr >::host_ (
    const Member * m,
    Class * o=nullptr
) 

function info

static inline String Ase::Member< accessor, nullptr >::info (
    const String & key
) 

function infos

static inline const StringS & Ase::Member< accessor, nullptr >::infos () 

function meta_

static inline const MemberDetails & Ase::Member< accessor, nullptr >::meta_ (
    const MemberDetails * n=nullptr
) 


The documentation for this class was generated from the following file /__w/anklang/anklang/ase/member.hh