template<typename Type>
struct aui::reflect::member< Type >
aui::reflect::member
provides metaprogramming capabilities to inspect the properties of class members. Depending on the actual kind of the member, different kinds of data available.
Fields (member variables)#
template <typename Type, typename Clazz>
struct member<Type(Clazz::*)> {
using type = Type;
using clazz = Clazz;
};
Methods (member functions)#
template <typename Type, typename Clazz, typename... Args>
struct member<Type (Clazz::*)(Args...)> {
using return_t = Type;
using clazz = Clazz;
using args = std::tuple<Args...>;
static constexpr bool is_const = false;
static constexpr bool is_noexcept = false;
};
- Note
- Use aui::tuple_visitor and aui::parameter_pack to introspect arguments.