CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
Function.hpp File Reference
#include "CeresEngine/DataTypes.hpp"
#include "CeresEngine/Macros.hpp"
#include <function2/function2.hpp>

Go to the source code of this file.

Namespaces

namespace  CeresEngine
 

Typedefs

template<bool IsOwning, bool IsCopyable, typename Capacity , bool IsThrowing, bool HasStrongExceptGuarantee, typename... Signatures>
using CeresEngine::FunctionBase = fu2::function_base< IsOwning, IsCopyable, Capacity, IsThrowing, HasStrongExceptGuarantee, Signatures... >
 An adaptable function wrapper base for arbitrary functional types.
 
template<typename... Signatures>
using CeresEngine::Function = FunctionBase< true, true, fu2::capacity_default, true, false, Signatures... >
 An owning copyable function wrapper for arbitrary callable types.
 
template<typename... Signatures>
using CeresEngine::UniqueFunction = FunctionBase< true, false, fu2::capacity_default, true, false, Signatures... >
 An owning non copyable function wrapper for arbitrary callable types.
 
template<typename... Signatures>
using CeresEngine::FunctionView = FunctionBase< false, true, fu2::capacity_default, true, false, Signatures... >
 A non owning copyable function wrapper for arbitrary callable types.
 
using CeresEngine::BadFunctionCall = fu2::bad_function_call
 Exception type that is thrown when invoking empty function objects and exception support isn't disabled.
 

Functions

template<typename... T>
constexpr auto CeresEngine::overload (T &&... callables)
 Returns a callable object, which unifies all callable objects that were passed to this function.