Helios Engine
A modular ECS based data-oriented C++23 game engine framework
Loading...
Searching...
No Matches
delegate.hpp File Reference
#include <helios/utils/common_traits.hpp>
#include <concepts>
#include <cstddef>
#include <functional>
#include <tuple>
#include <type_traits>
#include <utility>

Go to the source code of this file.

Classes

struct  helios::details::TupleToFunctionSignature< std::tuple< R, Args... > >
struct  helios::details::FreeFunctionTraits< R(*)(Args...)>
struct  helios::details::MemberFunctionTraits< R(C::*)(Args...)>
struct  helios::details::MemberFunctionTraits< R(C::*)(Args...) const >
class  helios::Delegate< ReturnType(Args...)>

Namespaces

namespace  helios
namespace  helios::details

Functions

template<auto Func>
requires (!std::is_member_function_pointer_v<decltype(Func)>)
constexpr auto helios::MakeDelegate () noexcept
 Helper to create delegate from free function pointer.
template<auto Func>
requires std::is_member_function_pointer_v<decltype(Func)>
constexpr auto helios::MakeDelegate (typename details::MemberFunctionTraits< decltype(Func)>::Class &instance) noexcept
 Helper to create delegate from member function pointer.