delegate.h File Reference

Classes

class  DelegateBase
 
class  Delegate< T >
 
struct  MethodDelegateType< typename >
 
struct  MethodDelegateType< RESULT(*)(OBJECT *, ARGS...)>
 
struct  MethodDelegateThisType< REF >
 
class  Delegate< RESULT(ARGS...)>
 
struct  Delegate< RESULT(ARGS...)>::PTMFWrapper< OBJECT >
 
struct  Delegate< RESULT(ARGS...)>::ObjectPointerWrapper< OBJECT >
 
struct  GenericCastMemberTrait< ParameterPack< TO, TO_REST... >, ParameterPack< FROM, FROM_REST... >, SAFE >
 
struct  GenericCastMemberTrait< Delegate< RESULT_TO(ARGS_TO...)>, Delegate< RESULT_FROM(ARGS_FROM...)>, SAFE >
 

Namespaces

 maxon
 
 maxon::details
 

Macros

#define MAXON_METHOD_DELEGATE(obj, interface, method)
 
#define yield_scope
 
#define yield_return
 

Typedefs

template<typename... T>
using ValueReceiver = Delegate< Result< Bool >(T...)>
 

Functions

template<typename I , typename = typename I::NonvirtualInterfaceMarker>
const void * MethodDelegateMTable (const void *)
 
template<typename I , typename = typename I::InterfaceMarker>
const void * MethodDelegateMTable (const ObjectInterface *object)
 
template<typename I , typename METHOD , typename T >
MethodDelegateType< METHOD >::type GetMethodDelegate (T &&object, Int offset)
 
void operator% (const Result< Bool > &res, Result< Bool > &yieldResult)
 
void operator% (const Result< void > &res, Result< Bool > &yieldResult)
 

Variables

 ALLOC
 
 DESTRUCT_AND_RELEASE
 
 COPY
 
 MOVE_AND_DESTRUCT
 
struct maxon::details::MethodDelegateType< RESULT(*)(OBJECT *, ARGS...)> MAXON_ENUM_ORDERED_LIST_CLASS
 

Macro Definition Documentation

◆ MAXON_METHOD_DELEGATE

#define MAXON_METHOD_DELEGATE (   obj,
  interface,
  method 
)

◆ yield_scope

#define yield_scope

◆ yield_return

#define yield_return

Variable Documentation

◆ ALLOC

ALLOC

Allocates memory for an object.

◆ DESTRUCT_AND_RELEASE

DESTRUCT_AND_RELEASE

Destructs the object to which dst points and releases the memory.

◆ COPY

COPY

Copies the object from src to dst and returns the size on success (0 on failure).

◆ MOVE_AND_DESTRUCT

MOVE_AND_DESTRUCT

Moves the object from src to dst and returns the size (only used for internal storage, cannot fail).