Bluenet  5.7.0
Bluenet, firmware for nRF52 smart home devices
Loading...
Searching...
No Matches
func::detail::function_manager Struct Reference

#include <function.h>

Static Public Member Functions

template<typename T , typename Allocator >
static FUNC_CONSTEXPR function_manager create_default_manager ()
 
template<typename T , typename Allocator >
static void templated_call_move_and_destroy (manager_storage_type &lhs, manager_storage_type &&rhs)
 
template<typename T , typename Allocator >
static void templated_call_copy (manager_storage_type &lhs, const manager_storage_type &rhs)
 
template<typename T , typename Allocator >
static void templated_call_destroy (manager_storage_type &self)
 
template<typename T , typename Allocator >
static void templated_call_copy_functor_only (manager_storage_type &lhs, const manager_storage_type &rhs)
 
template<typename T , typename >
static const std::type_info & templated_call_type_id ()
 
template<typename T , typename Allocator >
static void * templated_call_target (const manager_storage_type &self, const std::type_info &type)
 

Public Attributes

void(*const call_move_and_destroy )(manager_storage_type &lhs, manager_storage_type &&rhs)
 
void(*const call_copy )(manager_storage_type &lhs, const manager_storage_type &rhs)
 
void(*const call_copy_functor_only )(manager_storage_type &lhs, const manager_storage_type &rhs)
 
void(*const call_destroy )(manager_storage_type &manager)
 
const std::type_info &(*const call_type_id )()
 
void *(*const call_target )(const manager_storage_type &manager, const std::type_info &type)
 

Member Function Documentation

◆ create_default_manager()

template<typename T , typename Allocator >
static FUNC_CONSTEXPR function_manager func::detail::function_manager::create_default_manager ( )
inlinestatic

◆ templated_call_copy()

template<typename T , typename Allocator >
static void func::detail::function_manager::templated_call_copy ( manager_storage_type lhs,
const manager_storage_type rhs 
)
inlinestatic

◆ templated_call_copy_functor_only()

template<typename T , typename Allocator >
static void func::detail::function_manager::templated_call_copy_functor_only ( manager_storage_type lhs,
const manager_storage_type rhs 
)
inlinestatic

◆ templated_call_destroy()

template<typename T , typename Allocator >
static void func::detail::function_manager::templated_call_destroy ( manager_storage_type self)
inlinestatic

◆ templated_call_move_and_destroy()

template<typename T , typename Allocator >
static void func::detail::function_manager::templated_call_move_and_destroy ( manager_storage_type lhs,
manager_storage_type &&  rhs 
)
inlinestatic

◆ templated_call_target()

template<typename T , typename Allocator >
static void * func::detail::function_manager::templated_call_target ( const manager_storage_type self,
const std::type_info &  type 
)
inlinestatic

◆ templated_call_type_id()

template<typename T , typename >
static const std::type_info & func::detail::function_manager::templated_call_type_id ( )
inlinestatic

Member Data Documentation

◆ call_copy

void(*const func::detail::function_manager::call_copy) (manager_storage_type &lhs, const manager_storage_type &rhs)

◆ call_copy_functor_only

void(*const func::detail::function_manager::call_copy_functor_only) (manager_storage_type &lhs, const manager_storage_type &rhs)

◆ call_destroy

void(*const func::detail::function_manager::call_destroy) (manager_storage_type &manager)

◆ call_move_and_destroy

void(*const func::detail::function_manager::call_move_and_destroy) (manager_storage_type &lhs, manager_storage_type &&rhs)

◆ call_target

void *(*const func::detail::function_manager::call_target) (const manager_storage_type &manager, const std::type_info &type)

◆ call_type_id

const std::type_info &(*const func::detail::function_manager::call_type_id) ()

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