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