|
| FixedSizeFunction () noexcept=default |
| Create an empty function.
|
|
| FixedSizeFunction (std::nullptr_t) noexcept |
| Create an empty function.
|
|
| FixedSizeFunction (const FixedSizeFunction &)=delete |
|
template<typename Callable , typename Fn = Decay<Callable>, IntIfValidConversion< Callable > = 0> |
| FixedSizeFunction (Callable &&callable) |
| Forwards the passed Callable into the internal storage buffer.
|
|
| FixedSizeFunction (FixedSizeFunction &&other) noexcept |
| Move constructor.
|
|
template<size_t otherLen, std::enable_if_t<(otherLen< len), int > = 0> |
| FixedSizeFunction (FixedSizeFunction< otherLen, Ret(Args...)> &&other) noexcept |
| Converting constructor from smaller FixedSizeFunctions.
|
|
FixedSizeFunction & | operator= (std::nullptr_t) noexcept |
| Nulls this instance.
|
|
FixedSizeFunction & | operator= (const FixedSizeFunction &)=delete |
|
template<typename Callable , IntIfValidConversion< Callable > = 0> |
FixedSizeFunction & | operator= (Callable &&callable) |
| Assigns a new callable to this instance.
|
|
template<size_t otherLen, std::enable_if_t<(otherLen< len), int > = 0> |
FixedSizeFunction & | operator= (FixedSizeFunction< otherLen, Ret(Args...)> &&other) noexcept |
| Move assignment from smaller FixedSizeFunctions.
|
|
FixedSizeFunction & | operator= (FixedSizeFunction &&other) noexcept |
| Move assignment operator.
|
|
| ~FixedSizeFunction () noexcept |
| Destructor.
|
|
Ret | operator() (Args... args) const |
| If this instance is currently storing a callable object, calls that object, otherwise throws std::bad_function_call .
|
|
| operator bool () const noexcept |
| Returns true if this instance currently holds a callable.
|
|
template<size_t len, typename Ret, typename... Args>
class FixedSizeFunction< len, Ret(Args...)>
A type similar to std::function
that holds a callable object.
Unlike std::function
, the callable object will always be stored in a buffer of size len
that is internal to the FixedSizeFunction instance. This in turn means that creating a FixedSizeFunction instance will never allocate, making FixedSizeFunctions suitable for use in realtime contexts.
template<size_t len, typename Ret , typename... Args>
template<typename Callable , typename Fn = Decay<Callable>, IntIfValidConversion< Callable > = 0>
FixedSizeFunction< len, Ret(Args...)>::FixedSizeFunction |
( |
Callable && | callable | ) |
|
Forwards the passed Callable into the internal storage buffer.
References jassert.
template<size_t len, typename Ret , typename... Args>
template<size_t otherLen, std::enable_if_t<(otherLen< len), int > = 0>
FixedSizeFunction< len, Ret(Args...)>::FixedSizeFunction |
( |
FixedSizeFunction< otherLen, Ret(Args...)> && | other | ) |
|
|
noexcept |
Converting constructor from smaller FixedSizeFunctions.