|
dispenso 1.4.1
A library for task parallelism
|
#include <once_function.h>
Public Member Functions | |
| OnceFunction () | |
| template<typename F > | |
| OnceFunction (F &&f) | |
| OnceFunction (const OnceFunction &other)=delete | |
| OnceFunction (OnceFunction &&other) | |
A class fullfilling the void() signature, and operator() must be called exactly once for valid OnceFunctions. This class can be much more efficient than std::function for type erasing functors without too much state (currently < ~250 bytes).
Definition at line 53 of file once_function.h.
|
inline |
Construct a OnceFunction with invalid state.
Definition at line 58 of file once_function.h.
|
inline |
Construct a OnceFunction with a valid functor.
| f | A functor with signature void(). Ideally this should be a concrete functor (e.g. from lambda), though it will work with e.g. std::function. The downside in the latter case is extra overhead for double type erasure. |
Definition at line 74 of file once_function.h.
|
inline |
Move constructor.
Definition at line 79 of file once_function.h.