Soldered 125kHz RFID board Arduino library 1.0.0
Library for Soldered 125kHz RFID board.
Loading...
Searching...
No Matches
delegate::detail::DelegatePImpl< A, R, P > Class Template Reference

#include <Delegate.h>

Public Types

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>
 

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

template<typename A , typename R , typename... P>
typedef R(* delegate::detail::DelegatePImpl< A, R, P >::FunAPtr)(A, P...) = 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

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

◆ FunVPPtr

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

◆ target_type

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 ( F 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 ( F 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]

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

◆ [union]

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

◆ 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: