template <typename Interface, size_t Reserve = sizeof(Interface), size_t Align = alignof(Interface)>
class inline_any
Defined at line 40 of file ../../sdk/lib/fit/include/lib/fit/inline_any.h
|inline_any| is a polymorphic container used to implement type erasure.
|inline_any| is movable and copyable, and any type placed inside of it must
also be movable and copyable.
A default constructed |inline_any| does not hold a value (it is empty).
Moving from an |inline_any| resets it back to the empty state.
It is similar to |std::any|, with the following notable differences:
* The contained object must implement (i.e. be a subclass of) |Interface|.
* It will never heap allocate.
This avoids additional memory allocations while using a virtual interface.
|Reserve| must be larger than the sizes of all of the individual |Interface|
implementations.
Public Methods
void inline_any<Interface, Reserve, Align> (const inline_any<Interface, Reserve, Align> & )
Defined at line 48 of file ../../sdk/lib/fit/include/lib/fit/inline_any.h
inline_any<Interface, Reserve, Align> & operator= (const inline_any<Interface, Reserve, Align> & )
Defined at line 49 of file ../../sdk/lib/fit/include/lib/fit/inline_any.h
void inline_any<Interface, Reserve, Align> (inline_any<Interface, Reserve, Align> && )
Defined at line 51 of file ../../sdk/lib/fit/include/lib/fit/inline_any.h
inline_any<Interface, Reserve, Align> & operator= (inline_any<Interface, Reserve, Align> && )
Defined at line 52 of file ../../sdk/lib/fit/include/lib/fit/inline_any.h