EasyDelegate
2.0
Delegate and deferred callers for C++11.
|
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. | |
Namespace containing all EasyDelegate functionality.
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