EnTT 3.16.0
Loading...
Searching...
No Matches
entt::meta_func Class Reference

Opaque wrapper for member functions. More...

#include <meta.hpp>

Public Types

using size_type = typename internal::meta_func_node::size_type
 Unsigned integer type.

Public Member Functions

 meta_func () noexcept=default
 Default constructor.
 meta_func (const meta_ctx &area, const internal::meta_func_node &curr) noexcept
 Context aware constructor for meta objects.
const char * name () const noexcept
 Returns the name assigned to a member function, if any.
size_type arity () const noexcept
 Returns the number of arguments accepted by a member function.
bool is_const () const noexcept
 Indicates whether a member function is constant or not.
bool is_static () const noexcept
 Indicates whether a member function is static or not.
meta_type ret () const noexcept
 Returns the return type of a member function.
meta_type arg (size_type index) const noexcept
 Returns the type of the i-th argument of a member function.
template<typename Instance = meta_handle>
meta_any invoke (Instance &&instance, meta_any *const args, const size_type sz) const
 Invokes the underlying function, if possible.
template<typename Instance = meta_handle, typename... Args>
meta_any invoke (Instance &&instance, Args &&...args) const
 Invokes the underlying function, if possible.
template<typename Type>
Type traits () const noexcept
 Returns all meta traits for a given meta object.
meta_custom custom () const noexcept
 Returns user defined data for a given meta object.
meta_func next () const
 Returns the next overload of a given function, if any.
 operator bool () const noexcept
 Returns true if an object is valid, false otherwise.
bool operator== (const meta_func &other) const noexcept
 Checks if two objects refer to the same type.

Detailed Description

Opaque wrapper for member functions.

Definition at line 925 of file meta.hpp.

Member Typedef Documentation

◆ size_type

using entt::meta_func::size_type = typename internal::meta_func_node::size_type

Unsigned integer type.

Definition at line 933 of file meta.hpp.

Constructor & Destructor Documentation

◆ meta_func()

entt::meta_func::meta_func ( const meta_ctx & area,
const internal::meta_func_node & curr )
inlinenoexcept

Context aware constructor for meta objects.

Parameters
areaThe context from which to search for meta types.
currThe underlying node with which to construct the instance.

Definition at line 943 of file meta.hpp.

Member Function Documentation

◆ arg()

meta_type entt::meta_func::arg ( size_type index) const
inlinenodiscardnoexcept

Returns the type of the i-th argument of a member function.

Parameters
indexIndex of the argument of which to return the type.
Returns
The type of the i-th argument of a member function.

Definition at line 1631 of file meta.hpp.

◆ arity()

size_type entt::meta_func::arity ( ) const
inlinenodiscardnoexcept

Returns the number of arguments accepted by a member function.

Returns
The number of arguments accepted by the member function.

Definition at line 959 of file meta.hpp.

◆ custom()

meta_custom entt::meta_func::custom ( ) const
inlinenodiscardnoexcept

Returns user defined data for a given meta object.

Returns
User defined arbitrary data.

Definition at line 1026 of file meta.hpp.

◆ invoke() [1/2]

template<typename Instance = meta_handle, typename... Args>
meta_any entt::meta_func::invoke ( Instance && instance,
Args &&... args ) const
inline

Invokes the underlying function, if possible.

Template Parameters
InstanceType of instance to operate on.
ArgsTypes of arguments to use to invoke the function.
Parameters
instanceAn instance that fits the underlying type.
argsParameters to use to invoke the function.
Returns
A wrapper containing the returned value, if any.

Definition at line 1015 of file meta.hpp.

◆ invoke() [2/2]

template<typename Instance = meta_handle>
meta_any entt::meta_func::invoke ( Instance && instance,
meta_any *const args,
const size_type sz ) const
inline

Invokes the underlying function, if possible.

Template Parameters
InstanceType of instance to operate on.
Parameters
instanceAn instance that fits the underlying type.
argsParameters to use to invoke the function.
szNumber of parameters to use to invoke the function.
Returns
A wrapper containing the returned value, if any.

Definition at line 1001 of file meta.hpp.

◆ is_const()

bool entt::meta_func::is_const ( ) const
inlinenodiscardnoexcept

Indicates whether a member function is constant or not.

Returns
True if the member function is constant, false otherwise.

Definition at line 967 of file meta.hpp.

◆ is_static()

bool entt::meta_func::is_static ( ) const
inlinenodiscardnoexcept

Indicates whether a member function is static or not.

Returns
True if the member function is static, false otherwise.

Definition at line 975 of file meta.hpp.

◆ name()

const char * entt::meta_func::name ( ) const
inlinenodiscardnoexcept

Returns the name assigned to a member function, if any.

Returns
The name assigned to the member function, if any.

Definition at line 951 of file meta.hpp.

◆ next()

meta_func entt::meta_func::next ( ) const
inlinenodiscard

Returns the next overload of a given function, if any.

Returns
The next overload of the given function, if any.

Definition at line 1034 of file meta.hpp.

◆ operator bool()

entt::meta_func::operator bool ( ) const
inlineexplicitnodiscardnoexcept

Returns true if an object is valid, false otherwise.

Returns
True if the object is valid, false otherwise.

Definition at line 1039 of file meta.hpp.

◆ operator==()

bool entt::meta_func::operator== ( const meta_func & other) const
inlinenodiscardnoexcept

Checks if two objects refer to the same type.

Parameters
otherThe object with which to compare.
Returns
True if the objects refer to the same type, false otherwise.

Definition at line 1044 of file meta.hpp.

◆ ret()

meta_type entt::meta_func::ret ( ) const
inlinenodiscardnoexcept

Returns the return type of a member function.

Returns
The return type of the member function.

Definition at line 1627 of file meta.hpp.

◆ traits()

template<typename Type>
Type entt::meta_func::traits ( ) const
inlinenodiscardnoexcept

Returns all meta traits for a given meta object.

Template Parameters
TypeThe type to convert the meta traits to.
Returns
The registered meta traits, if any.

Definition at line 1021 of file meta.hpp.


The documentation for this class was generated from the following file: