Soldered L86 M33 GNSS Library 1.0.0
Arduino library for communication with Soldered L86-M33 GNSS module
Loading...
Searching...
No Matches
delegate::detail::DelegateImpl< A, R > Class Template Reference

#include <Delegate.h>

Inherited by delegate::detail::Delegate< A, R > [private].

Public Types

using target_type = R()
 
using target_type = R()
 

Public Member Functions

 DelegateImpl ()
 
 DelegateImpl (std::nullptr_t)
 
 ~DelegateImpl ()
 
 DelegateImpl (const DelegateImpl &del)
 
 DelegateImpl (DelegateImpl &&del)
 
 DelegateImpl (FunAPtr fnA, const A &obj)
 
 DelegateImpl (FunAPtr fnA, A &&obj)
 
 DelegateImpl (FunPtr fn)
 
template<typename F >
 DelegateImpl (F functional)
 
DelegateImploperator= (const DelegateImpl &del)
 
DelegateImploperator= (DelegateImpl &&del)
 
DelegateImploperator= (FunPtr fn)
 
DelegateImpl &IRAM_ATTR operator= (std::nullptr_t)
 
 operator bool () const
 
 operator FunVPPtr () const
 
void * arg () const
 
 operator FunctionType () const
 
R IRAM_ATTR operator() () const
 
 DelegateImpl ()
 
 DelegateImpl (std::nullptr_t)
 
 DelegateImpl (const DelegateImpl &del)
 
 DelegateImpl (DelegateImpl &&del)
 
 DelegateImpl (FunAPtr fnA, const A &obj)
 
 DelegateImpl (FunAPtr fnA, A &&obj)
 
 DelegateImpl (FunPtr fn)
 
template<typename F >
 DelegateImpl (F fn)
 
DelegateImploperator= (const DelegateImpl &del)
 
DelegateImploperator= (DelegateImpl &&del)
 
DelegateImploperator= (FunPtr fn)
 
DelegateImpl &IRAM_ATTR operator= (std::nullptr_t)
 
 operator bool () const
 
 operator FunVPPtr () const
 
void * arg () const
 
R IRAM_ATTR operator() () const
 

Static Public Member Functions

static R IRAM_ATTR vPtrToFunAPtrExec (void *self)
 
static R IRAM_ATTR vPtrToFunAPtrExec (void *self)
 

Protected Types

enum  { FUNC , FP , FPA }
 
enum  { FP , FPA }
 
using FunPtr = target_type *
 
using FunAPtr = R(*)(A)
 
using FunctionType = std::function< target_type >
 
using FunVPPtr = R(*)(void *)
 
using FunPtr = target_type *
 
using FunAPtr = R(*)(A)
 
using FunVPPtr = R(*)(void *)
 

Protected Attributes

union {
   FunctionType   functional
 
   FunPtr   fn
 
   struct {
      FunAPtr   fnA
 
      A   obj
 
   } 
 
}; 
 
enum delegate::detail::DelegateImpl:: { ... }  kind
 
union {
   FunPtr   fn
 
   FunAPtr   fnA
 
}; 
 
enum delegate::detail::DelegateImpl:: { ... }  kind
 

Member Typedef Documentation

◆ FunAPtr [1/2]

template<typename A , typename R >
using delegate::detail::DelegateImpl< A, R >::FunAPtr = R(*)(A)
protected

◆ FunAPtr [2/2]

template<typename A , typename R >
using delegate::detail::DelegateImpl< A, R >::FunAPtr = R(*)(A)
protected

◆ FunctionType

template<typename A , typename R >
using delegate::detail::DelegateImpl< A, R >::FunctionType = std::function<target_type>
protected

◆ FunPtr [1/2]

template<typename A , typename R >
using delegate::detail::DelegateImpl< A, R >::FunPtr = target_type*
protected

◆ FunPtr [2/2]

template<typename A , typename R >
using delegate::detail::DelegateImpl< A, R >::FunPtr = target_type*
protected

◆ FunVPPtr [1/2]

template<typename A , typename R >
using delegate::detail::DelegateImpl< A, R >::FunVPPtr = R(*)(void*)
protected

◆ FunVPPtr [2/2]

template<typename A , typename R >
using delegate::detail::DelegateImpl< A, R >::FunVPPtr = R(*)(void*)
protected

◆ target_type [1/2]

template<typename A , typename R >
using delegate::detail::DelegateImpl< A, R >::target_type = R()

◆ target_type [2/2]

template<typename A , typename R >
using delegate::detail::DelegateImpl< A, R >::target_type = R()

Member Enumeration Documentation

◆ anonymous enum

template<typename A , typename R >
anonymous enum
protected
Enumerator
FUNC 
FP 
FPA 

◆ anonymous enum

template<typename A , typename R >
anonymous enum
protected
Enumerator
FP 
FPA 

Constructor & Destructor Documentation

◆ DelegateImpl() [1/16]

template<typename A , typename R >
delegate::detail::DelegateImpl< A, R >::DelegateImpl ( )
inline

◆ DelegateImpl() [2/16]

template<typename A , typename R >
delegate::detail::DelegateImpl< A, R >::DelegateImpl ( std::nullptr_t  )
inline

◆ ~DelegateImpl()

template<typename A , typename R >
delegate::detail::DelegateImpl< A, R >::~DelegateImpl ( )
inline

◆ DelegateImpl() [3/16]

template<typename A , typename R >
delegate::detail::DelegateImpl< A, R >::DelegateImpl ( const DelegateImpl< A, R > &  del)
inline

◆ DelegateImpl() [4/16]

template<typename A , typename R >
delegate::detail::DelegateImpl< A, R >::DelegateImpl ( DelegateImpl< A, R > &&  del)
inline

◆ DelegateImpl() [5/16]

template<typename A , typename R >
delegate::detail::DelegateImpl< A, R >::DelegateImpl ( FunAPtr  fnA,
const A &  obj 
)
inline

◆ DelegateImpl() [6/16]

template<typename A , typename R >
delegate::detail::DelegateImpl< A, R >::DelegateImpl ( FunAPtr  fnA,
A &&  obj 
)
inline

◆ DelegateImpl() [7/16]

template<typename A , typename R >
delegate::detail::DelegateImpl< A, R >::DelegateImpl ( FunPtr  fn)
inline

◆ DelegateImpl() [8/16]

template<typename A , typename R >
template<typename F >
delegate::detail::DelegateImpl< A, R >::DelegateImpl ( functional)
inline

◆ DelegateImpl() [9/16]

template<typename A , typename R >
delegate::detail::DelegateImpl< A, R >::DelegateImpl ( )
inline

◆ DelegateImpl() [10/16]

template<typename A , typename R >
delegate::detail::DelegateImpl< A, R >::DelegateImpl ( std::nullptr_t  )
inline

◆ DelegateImpl() [11/16]

template<typename A , typename R >
delegate::detail::DelegateImpl< A, R >::DelegateImpl ( const DelegateImpl< A, R > &  del)
inline

◆ DelegateImpl() [12/16]

template<typename A , typename R >
delegate::detail::DelegateImpl< A, R >::DelegateImpl ( DelegateImpl< A, R > &&  del)
inline

◆ DelegateImpl() [13/16]

template<typename A , typename R >
delegate::detail::DelegateImpl< A, R >::DelegateImpl ( FunAPtr  fnA,
const A &  obj 
)
inline

◆ DelegateImpl() [14/16]

template<typename A , typename R >
delegate::detail::DelegateImpl< A, R >::DelegateImpl ( FunAPtr  fnA,
A &&  obj 
)
inline

◆ DelegateImpl() [15/16]

template<typename A , typename R >
delegate::detail::DelegateImpl< A, R >::DelegateImpl ( FunPtr  fn)
inline

◆ DelegateImpl() [16/16]

template<typename A , typename R >
template<typename F >
delegate::detail::DelegateImpl< A, R >::DelegateImpl ( fn)
inline

Member Function Documentation

◆ arg() [1/2]

template<typename A , typename R >
void * delegate::detail::DelegateImpl< A, R >::arg ( ) const
inline

◆ arg() [2/2]

template<typename A , typename R >
void * delegate::detail::DelegateImpl< A, R >::arg ( ) const
inline

◆ operator bool() [1/2]

template<typename A , typename R >
delegate::detail::DelegateImpl< A, R >::operator bool ( ) const
inline

◆ operator bool() [2/2]

template<typename A , typename R >
delegate::detail::DelegateImpl< A, R >::operator bool ( ) const
inline

◆ operator FunctionType()

template<typename A , typename R >
delegate::detail::DelegateImpl< A, R >::operator FunctionType ( ) const
inline

◆ operator FunVPPtr() [1/2]

template<typename A , typename R >
delegate::detail::DelegateImpl< A, R >::operator FunVPPtr ( ) const
inline

◆ operator FunVPPtr() [2/2]

template<typename A , typename R >
delegate::detail::DelegateImpl< A, R >::operator FunVPPtr ( ) const
inline

◆ operator()() [1/2]

template<typename A , typename R >
R IRAM_ATTR delegate::detail::DelegateImpl< A, R >::operator() ( ) const
inline

◆ operator()() [2/2]

template<typename A , typename R >
R IRAM_ATTR delegate::detail::DelegateImpl< A, R >::operator() ( ) const
inline

◆ operator=() [1/8]

template<typename A , typename R >
DelegateImpl & delegate::detail::DelegateImpl< A, R >::operator= ( const DelegateImpl< A, R > &  del)
inline

◆ operator=() [2/8]

template<typename A , typename R >
DelegateImpl & delegate::detail::DelegateImpl< A, R >::operator= ( const DelegateImpl< A, R > &  del)
inline

◆ operator=() [3/8]

template<typename A , typename R >
DelegateImpl & delegate::detail::DelegateImpl< A, R >::operator= ( DelegateImpl< A, R > &&  del)
inline

◆ operator=() [4/8]

template<typename A , typename R >
DelegateImpl & delegate::detail::DelegateImpl< A, R >::operator= ( DelegateImpl< A, R > &&  del)
inline

◆ operator=() [5/8]

template<typename A , typename R >
DelegateImpl & delegate::detail::DelegateImpl< A, R >::operator= ( FunPtr  fn)
inline

◆ operator=() [6/8]

template<typename A , typename R >
DelegateImpl & delegate::detail::DelegateImpl< A, R >::operator= ( FunPtr  fn)
inline

◆ operator=() [7/8]

template<typename A , typename R >
DelegateImpl &IRAM_ATTR delegate::detail::DelegateImpl< A, R >::operator= ( std::nullptr_t  )
inline

◆ operator=() [8/8]

template<typename A , typename R >
DelegateImpl &IRAM_ATTR delegate::detail::DelegateImpl< A, R >::operator= ( std::nullptr_t  )
inline

◆ vPtrToFunAPtrExec() [1/2]

template<typename A , typename R >
static R IRAM_ATTR delegate::detail::DelegateImpl< A, R >::vPtrToFunAPtrExec ( void *  self)
inlinestatic

◆ vPtrToFunAPtrExec() [2/2]

template<typename A , typename R >
static R IRAM_ATTR delegate::detail::DelegateImpl< A, R >::vPtrToFunAPtrExec ( void *  self)
inlinestatic

Member Data Documentation

◆ 

union { ... } delegate::detail::DelegateImpl< A, R >::@12

◆ 

union { ... } delegate::detail::DelegateImpl< A, R >::@17

◆ fn

template<typename A , typename R >
FunPtr delegate::detail::DelegateImpl< A, R >::fn

◆ fnA

template<typename A , typename R >
FunAPtr delegate::detail::DelegateImpl< A, R >::fnA

◆ functional

template<typename A , typename R >
FunctionType delegate::detail::DelegateImpl< A, R >::functional

◆  [1/2]

enum { ... } delegate::detail::DelegateImpl< A, R >::kind

◆  [2/2]

enum { ... } delegate::detail::DelegateImpl< A, R >::kind

◆ obj

template<typename A , typename R >
A delegate::detail::DelegateImpl< A, R >::obj

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