Helios Engine 0.1.0
A modular ECS based data-oriented C++23 game engine
 
Loading...
Searching...
No Matches
delegate.hpp File Reference
#include <helios/core_pch.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
 

Concepts

concept  helios::details::PolymorphicConvertible
 Concept to allow argument conversion with polymorphic relationships.
 

Functions

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