12template <
typename TCallable,
typename TReturn,
typename... TArgs>
57 if constexpr (std::is_class_v<TCallable>)
59 return typeid(callable).hash_code();
63 return std::hash<TCallable>{}(callable);
69 if constexpr (std::is_class_v<TCallable>)
Base class for all functions contained in a FunctionContainer.
Definition BaseFunction.hpp:10
static FunctionID GetCallableID(TCallable callable)
Get the ID of the callable object.
Definition CallableFunction.hpp:55
~CallableFunction() override=default
Destructor for CallableFunction.
FunctionID GetID() const override
Returns the unique ID of the callable object.
Definition CallableFunction.hpp:41
std::string _name
Definition CallableFunction.hpp:82
TCallable _callable
Definition CallableFunction.hpp:80
TReturn operator()(TArgs... args) const override
Calls the stored callable object with the provided arguments.
Definition CallableFunction.hpp:35
static std::string GetCallableName(TCallable callable)
Definition CallableFunction.hpp:67
std::string GetName() const override
Returns the name of the callable object.
Definition CallableFunction.hpp:47
CallableFunction(TCallable callable)
Constructor for CallableFunction.
Definition CallableFunction.hpp:19
FunctionID _id
Definition CallableFunction.hpp:81
Definition BaseFunction.hpp:6
std::size_t FunctionID
FunctionID class to represent a unique identifier for functions.
Definition FunctionID.hpp:9
std::string DemangleTypeName(const std::type_info &typeInfo)
Definition Demangle.hpp:13