|
| | 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.