modm API documentation
modm::inplace_function< R (Args...), Capacity, Alignment > Class Template Reference

#include <modm/utils/inplace_function.hpp>

Public Typedefs

using capacity = std::integral_constant< size_t, Capacity >
 
using alignment = std::integral_constant< size_t, Alignment >
 

Public Member Functions

template<class T , class C = std::decay_t<T>, class = std::enable_if_t< !inplace_function_detail::is_inplace_function<C>::value && std::is_invocable_r_v<R, C&, Args...> >>
 inplace_function (T &&closure)
 
template<size_t Cap, size_t Align>
 inplace_function (const inplace_function< R (Args...), Cap, Align > &other)
 
template<size_t Cap, size_t Align>
 inplace_function (inplace_function< R (Args...), Cap, Align > &&other) noexcept
 
 inplace_function (std::nullptr_t) noexcept
 
 inplace_function (const inplace_function &other)
 
 inplace_function (inplace_function &&other) noexcept
 
inplace_function & operator= (std::nullptr_t) noexcept
 
inplace_function & operator= (inplace_function other) noexcept
 
operator () (Args...args) const
 
constexpr bool operator== (std::nullptr_t) const noexcept
 
constexpr bool operator!= (std::nullptr_t) const noexcept
 
constexpr operator bool () const noexcept
 
void swap (inplace_function &other) noexcept
 

Friends

void swap (inplace_function &lhs, inplace_function &rhs) noexcept
 

Detailed Description

template<class R, class... Args, size_t Capacity, size_t Alignment>
class modm::inplace_function< R (Args...), Capacity, Alignment >

Non-allocating std::function replacement


The documentation for this class was generated from the following file: