Template Class delegate< return_type(parameter_types…)>

Inheritance Relationships

Base Type

Class Documentation

template<typename return_type, typename ...parameter_types>
class legion::core::delegate<return_type(parameter_types...)> : private legion::core::delegate_base<return_type(parameter_types...)>

Public Functions

delegate() = default
delegate(delegate&&) = default
delegate &operator=(delegate&&) = default
delegate(const delegate &other) = default
inline bool isNull() const
inline bool operator==(void *ptr) const
inline bool operator!=(void *ptr) const
inline delegate(std::nullptr_t)
inline delegate &operator=(std::nullptr_t)
inline void clear()
template<typename lambda_type>
inline delegate(const lambda_type &lambda)
inline delegate &operator=(const delegate &other)
template<typename lambda_type>
inline delegate &operator=(const lambda_type &instance)
inline bool operator==(const delegate &other) const
inline bool operator!=(const delegate &other) const
inline bool operator==(const multicast_delegate<return_type(parameter_types...)> &other) const
inline bool operator!=(const multicast_delegate<return_type(parameter_types...)> &other) const
inline return_type operator()(parameter_types... arguments) const
inline return_type invoke(parameter_types... arguments) const

Public Static Functions

template<class owner_type, return_type(owner_type::*)(parameter_types...) func_type> static inline delegate create (owner_type *instance)
template<class owner_type, return_type(owner_type::*)(parameter_types...) const func_type> static inline delegate create (owner_type const *instance)
template<return_type(*)(parameter_types...) func_type> static inline delegate create ()
template<typename lambda_type>
static inline delegate create(const lambda_type &instance)