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

#include <Delegate.h>

Inherits delegate::detail::DelegatePImpl< A, R, P >.

Public Types

using target_type = R(P...)
 

Public Member Functions

 operator FunVPPtr ()
 
 operator FunctionType ()
 
 Delegate ()
 
 Delegate (std::nullptr_t)
 
 Delegate (const Delegate &del)
 
 Delegate (Delegate &&del)
 
 Delegate (FunAPtr fnA, const A &obj)
 
 Delegate (FunAPtr fnA, A &&obj)
 
 Delegate (FunPtr fn)
 
template<typename F >
 Delegate (F functional)
 
Delegateoperator= (const Delegate &del)
 
Delegateoperator= (Delegate &&del)
 
Delegateoperator= (FunPtr fn)
 
Delegate &IRAM_ATTR operator= (std::nullptr_t)
 

Protected Types

using FunPtr = target_type *
 
using FunAPtr = R(*)(A, P...)
 
using FunVPPtr = R(*)(void *, P...)
 
using FunctionType = std::function< target_type >
 

Additional Inherited Members

- Private Types inherited from delegate::detail::DelegatePImpl< A, R, P >
using target_type = R(P...)
 
using target_type = R(P...)
 
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...)
 
- Private Member Functions inherited from delegate::detail::DelegatePImpl< A, R, P >
 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 Private Member Functions inherited from delegate::detail::DelegatePImpl< A, R, P >
static R IRAM_ATTR vPtrToFunAPtrExec (void *self, P... args)
 
static R IRAM_ATTR vPtrToFunAPtrExec (void *self, P... args)
 
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 = void, typename R = void, typename... P>
using delegate::detail::Delegate< A, R, P >::FunAPtr = R(*)(A, P...)
protected

◆ FunctionType

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

◆ FunPtr

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

◆ FunVPPtr

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

◆ target_type

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

Constructor & Destructor Documentation

◆ Delegate() [1/8]

template<typename A = void, typename R = void, typename... P>
delegate::detail::Delegate< A, R, P >::Delegate ( )
inline

◆ Delegate() [2/8]

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

◆ Delegate() [3/8]

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

◆ Delegate() [4/8]

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

◆ Delegate() [5/8]

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

◆ Delegate() [6/8]

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

◆ Delegate() [7/8]

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

◆ Delegate() [8/8]

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

Member Function Documentation

◆ operator FunctionType()

template<typename A = void, typename R = void, typename... P>
delegate::detail::Delegate< A, R, P >::operator FunctionType ( )
inline

◆ operator FunVPPtr()

template<typename A = void, typename R = void, typename... P>
delegate::detail::Delegate< A, R, P >::operator FunVPPtr ( )
inline

◆ operator=() [1/4]

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

◆ operator=() [2/4]

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

◆ operator=() [3/4]

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

◆ operator=() [4/4]

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

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