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

#include <Delegate.h>

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

Public Types

using target_type = R(P...)
 
using target_type = R(P...)
 

Public Member Functions

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

Static Public Member Functions

static R IRAM_ATTR vPtrToFunAPtrExec (void *self, P... args)
 
static R IRAM_ATTR vPtrToFunAPtrExec (void *self, P... args)
 

Protected Types

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

Protected Attributes

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

Member Typedef Documentation

◆ FunAPtr [1/2]

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

◆ FunAPtr [2/2]

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

◆ FunctionType

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

◆ FunPtr [1/2]

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

◆ FunPtr [2/2]

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

◆ FunVPPtr [1/2]

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

◆ FunVPPtr [2/2]

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

◆ target_type [1/2]

template<typename A , typename R , typename... P>
using delegate::detail::DelegatePImpl< A, R, P >::target_type = R(P...)

◆ target_type [2/2]

template<typename A , typename R , typename... P>
using delegate::detail::DelegatePImpl< A, R, P >::target_type = R(P...)

Member Enumeration Documentation

◆ anonymous enum

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

◆ anonymous enum

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

Constructor & Destructor Documentation

◆ DelegatePImpl() [1/16]

template<typename A , typename R , typename... P>
delegate::detail::DelegatePImpl< A, R, P >::DelegatePImpl ( )
inline

◆ DelegatePImpl() [2/16]

template<typename A , typename R , typename... P>
delegate::detail::DelegatePImpl< A, R, P >::DelegatePImpl ( std::nullptr_t  )
inline

◆ ~DelegatePImpl()

template<typename A , typename R , typename... P>
delegate::detail::DelegatePImpl< A, R, P >::~DelegatePImpl ( )
inline

◆ DelegatePImpl() [3/16]

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

◆ DelegatePImpl() [4/16]

template<typename A , typename R , typename... P>
delegate::detail::DelegatePImpl< A, R, P >::DelegatePImpl ( DelegatePImpl< A, R, P > &&  del)
inline

◆ DelegatePImpl() [5/16]

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

◆ DelegatePImpl() [6/16]

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

◆ DelegatePImpl() [7/16]

template<typename A , typename R , typename... P>
delegate::detail::DelegatePImpl< A, R, P >::DelegatePImpl ( FunPtr  fn)
inline

◆ DelegatePImpl() [8/16]

template<typename A , typename R , typename... P>
template<typename F >
delegate::detail::DelegatePImpl< A, R, P >::DelegatePImpl ( functional)
inline

◆ DelegatePImpl() [9/16]

template<typename A , typename R , typename... P>
delegate::detail::DelegatePImpl< A, R, P >::DelegatePImpl ( )
inline

◆ DelegatePImpl() [10/16]

template<typename A , typename R , typename... P>
delegate::detail::DelegatePImpl< A, R, P >::DelegatePImpl ( std::nullptr_t  )
inline

◆ DelegatePImpl() [11/16]

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

◆ DelegatePImpl() [12/16]

template<typename A , typename R , typename... P>
delegate::detail::DelegatePImpl< A, R, P >::DelegatePImpl ( DelegatePImpl< A, R, P > &&  del)
inline

◆ DelegatePImpl() [13/16]

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

◆ DelegatePImpl() [14/16]

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

◆ DelegatePImpl() [15/16]

template<typename A , typename R , typename... P>
delegate::detail::DelegatePImpl< A, R, P >::DelegatePImpl ( FunPtr  fn)
inline

◆ DelegatePImpl() [16/16]

template<typename A , typename R , typename... P>
template<typename F >
delegate::detail::DelegatePImpl< A, R, P >::DelegatePImpl ( functional)
inline

Member Function Documentation

◆ arg() [1/2]

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

◆ arg() [2/2]

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

◆ operator bool() [1/2]

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

◆ operator bool() [2/2]

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

◆ operator FunctionType()

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

◆ operator FunVPPtr() [1/2]

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

◆ operator FunVPPtr() [2/2]

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

◆ operator()() [1/2]

template<typename A , typename R , typename... P>
R IRAM_ATTR delegate::detail::DelegatePImpl< A, R, P >::operator() ( P...  args) const
inline

◆ operator()() [2/2]

template<typename A , typename R , typename... P>
R IRAM_ATTR delegate::detail::DelegatePImpl< A, R, P >::operator() ( P...  args) const
inline

◆ operator=() [1/8]

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

◆ operator=() [2/8]

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

◆ operator=() [3/8]

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

◆ operator=() [4/8]

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

◆ operator=() [5/8]

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

◆ operator=() [6/8]

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

◆ operator=() [7/8]

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

◆ operator=() [8/8]

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

◆ vPtrToFunAPtrExec() [1/2]

template<typename A , typename R , typename... P>
static R IRAM_ATTR delegate::detail::DelegatePImpl< A, R, P >::vPtrToFunAPtrExec ( void *  self,
P...  args 
)
inlinestatic

◆ vPtrToFunAPtrExec() [2/2]

template<typename A , typename R , typename... P>
static R IRAM_ATTR delegate::detail::DelegatePImpl< A, R, P >::vPtrToFunAPtrExec ( void *  self,
P...  args 
)
inlinestatic

Member Data Documentation

◆ 

union { ... } delegate::detail::DelegatePImpl< A, R, P >::@1

◆ 

union { ... } delegate::detail::DelegatePImpl< A, R, P >::@6

◆ fn

template<typename A , typename R , typename... P>
FunPtr delegate::detail::DelegatePImpl< A, R, P >::fn

◆ fnA

template<typename A , typename R , typename... P>
FunAPtr delegate::detail::DelegatePImpl< A, R, P >::fnA

◆ functional

template<typename A , typename R , typename... P>
FunctionType delegate::detail::DelegatePImpl< A, R, P >::functional

◆  [1/2]

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

◆  [2/2]

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

◆ obj

template<typename A , typename R , typename... P>
A delegate::detail::DelegatePImpl< A, R, P >::obj

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