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...)>

函数

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)

变量

  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).