8 template <
class ReturnType >
11 template <
class Impl >
14 return data.template get< Impl >()();
21 std::enable_if_t< !std::is_constructible< callable_t, T >::value >* =
nullptr >
24 : call_( &call<
std::decay_t< T > > ), impl_(
std::forward< T >( value ) )
29 std::enable_if_t< !std::is_constructible< callable_t, T >::value >* =
nullptr >
33 return *
this =
callable_t( std::forward< T >( value ) );
36 explicit operator bool() const noexcept
45 return call_( impl_ );
50 call_t call_{
nullptr};
ReturnType operator()() const
Definition: callable.hpp:41
Definition: callable.hpp:9
Definition: beat_duration.hpp:106
#define SEQUENCER_ASSERT(cond)
Definition: assert.hpp:8
Definition: type_erased_storage.hpp:11
callable_t() noexcept=default
callable_t & operator=(T &&value)
Definition: callable.hpp:30
callable_t(T &&value)
Definition: callable.hpp:23