ase/member.hh file


Namespaces

namespace Ase
The Anklang C++ API namespace.
namespace Ase::Lib
Namespace for implementation internals.

Classes

template <typename C, typename R, typename ... Args>
struct Ase::Lib::FunctionTraits<R(C::*)(Args...)>
Match member function pointer.
template <typename C, typename R, typename ... Args>
struct Ase::Lib::FunctionTraits<R(C::*)(Args...) const>
Match const member function pointer.
template <auto Handler>
struct Ase::Lib::MemberFunctionTraits
Member function traits.
template <auto setter, auto getter = nullptr>
class Ase::Member
Implement C++ member field API with a 0-sized class from setter and getter, maybe combined with [[no_unique_address]].
template <auto accessor>
class Ase::Member<accessor, nullptr>
Member accessor class based on a single accessor, maybe combined with [[no_unique_address]].

Functions

template <class C, class M>
auto host_member_offset(ptrdiff_t* hmoffsetp, const M* member, C* host) →  C*
Resolve (or assign) host->Member offset distance (may be 0).