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