EasyDelegate  2.0
Delegate and deferred callers for C++11.
Classes | Typedefs
EasyDelegate Namespace Reference

Namespace containing all EasyDelegate functionality. More...

Classes

class  DeferredMemberCaller
 A deferred caller type for class member methods. More...
 
class  DeferredStaticCaller
 A deferred caller type for static methods. More...
 
class  DelegateException
 A general base exception type for all exceptions that is thrown by the EasyDelegate library. More...
 
class  DelegateSet
 A set of delegate instances that provides helper methods to invoke all contained delegates. More...
 
struct  gens
 Part of a helper template that is used to statically unpack tuples for the deferring calling system.
 
struct  gens< 0, S...>
 Part of a helper template that is used to statically unpack tuples for the deferring calling system.
 
class  IDeferredCaller
 The most generic of the deferred caller types. All deferred callers eventually trace back to this class in their hierarchy, therefore it is possible to cast them to this type and use the EasyDelegate::IDeferredCaller::genericDispatch method. More...
 
class  IDelegate
 A type that can represent any delegate type, but it cannot be invoked without casting to a delegate type that knows the proper method signature. More...
 
class  InvalidMethodPointerException
 An exception type that is thrown by the EasyDelegate library when any delegate type has attempted to make a call against a NULL method pointer. More...
 
class  InvalidThisPointerException
 An exception type that is thrown by the EasyDelegate library when a member delegate type has attempted to make a call using a NULL 'this' pointer. More...
 
class  ITypedDeferredCaller
 A less generic deferred caller type that retains return type information. Use this if you don't care about signature information and want to call the methods and get their return values. More...
 
class  ITypedDelegate
 Base delegate type. More...
 
class  MemberDelegate
 A delegate of a class member method. More...
 
struct  seq
 Part of a helper template that is used to statically unpack tuples for the deferring calling system.
 
class  StaticDelegate
 A delegate of a static method. More...
 

Typedefs

template<typename... typenames>
using NoReferenceTuple = std::tuple< typename std::remove_reference< typenames >::type...>
 A helper typedef for an std::tuple that removes the reference from referenced types. More...
 
template<typename returnType , typename... parameters>
using StaticMethodPointer = returnType(*)(parameters...)
 Helper typedef to a pointer of a static method with the given signature.
 
template<typename className , typename returnType , typename... parameters>
using MemberMethodPointer = returnType(className::*)(parameters...)
 Helper typedef to a pointer of a class member method with the given signature.
 

Detailed Description

Namespace containing all EasyDelegate functionality.

Typedef Documentation

template<typename... typenames>
using EasyDelegate::NoReferenceTuple = typedef std::tuple<typename std::remove_reference<typenames>::type...>

A helper typedef for an std::tuple that removes the reference from referenced types.

Taken from the chosen answer of http://stackoverflow.com/questions/12742877/remove-reference-from-stdtuple-members