Scanframe Modular Application 0.1.0
Loading...
Searching...
No Matches
sf::TVariableHandler< T > Class Template Reference

Template for linking pointers of member function to Variable instances. More...

#include <VariableHandler.h>

Inheritance diagram for sf::TVariableHandler< T >:
[legend]
Collaboration diagram for sf::TVariableHandler< T >:
[legend]

Public Types

typedef void(T::* TPmf) (EEvent event, const Variable &caller, Variable &link, bool sameInst)
 Required event handler type.
Public Types inherited from sf::VariableTypes
enum  EEvent : int {
  veConvert = 64000 , veNewId = -32000 , veUserGlobal , veFirstLocal = 0 ,
  veFlagsChange = 1 , veValueChange = 2 , veInvalid = 3 , veConverted = 4 ,
  veUserLocal = 5 , veFirstPrivate = 16000 , veIdChanged = 16001 , veDesiredId = 16002 ,
  veRemove = 16003 , veGetOwner = 16004 , veLostOwner = 16005 , veLinked = 16006 ,
  veUnlinked = 16007 , veSetup = 16008 , veUserPrivate = 16009
}
 Events sent to the handler set with #Variable::setHandler.
For broadcast events the variable parameter is not the variable that called the #Variable::setHandler method, and the param parameter isn't also the one passed to function #Variable::setHandler either. More...
enum  EField : int {
  vfId = 0 , vfName , vfUnit , vfFlags ,
  vfDescription , vfType , vfConversionType , vfRound ,
  vfDefault , vfMinimum , vfMaximum , vfFirstState
}
 Enumeration of the fields order in the setup string. More...
enum  EFlag : flags_type {
  flgReadonly = 1 << 0 , flgArchive = 1 << 1 , flgShare = 1 << 2 , flgLink = 1 << 3 ,
  flgFunction = 1 << 4 , flgParameter = 1 << 5 , flgHidden = 1 << 6 , flgExport = 1 << 7 ,
  flgWriteable = 1 << 8
}
 Enumeration type for specifying flags. More...
enum  EStringType : int {
  stNormal = 0 , stMulti , stPath , stDirectory ,
  stFilename , stSubdirectory
}
 Enumeration of string types used for filtering. More...
typedef TVector< Variable * > PtrVector
 Vector for pointers to variables.
typedef TVector< Variable > Vector
 Vector for instances of variables.
typedef TVector< VariableReference * > ReferenceVector
 Types for internal use.
Public Types inherited from sf::InformationTypes
typedef unsigned long long id_type
 Type used for the identifying integer (64-bits).
typedef int32_t flags_type
 Type used for the flag integer.
typedef size_t size_type
 Type used for size of vectors.
typedef ssize_t ssize_type
 Same as size_type but a signed version.
typedef uintptr_t data_type
 Type used for containing a single data element which is the largest integer.
typedef intptr_t sdata_type
 Type used for containing a single data element which is the largest signed integer.
typedef TVector< id_type > IdVector
 Vector for lists of information ID's.
typedef TVector< InformationBase * > Vector
 Vector for containing different information base derived classes.

Public Member Functions

 TVariableHandler (T *self, TPmf pmf)
 Constructor for assigning the pointer of the member function.
 TVariableHandler (const TVariableHandler &)=delete
 Prevent copying by not implementing copy constructor.
TVariableHandler & operator= (const VariableHandler &)=delete
 Prevent copying by not implementing assignment operator.
Public Member Functions inherited from sf::VariableHandler
virtual ~VariableHandler ()
 Destructor clears the link with variable instances so no errors occur when the link is destructed before the variable is.

Additional Inherited Members

Static Public Member Functions inherited from sf::InformationTypes
template<typename T>
static constexpr std::enable_if_t<(sizeof(T)<=sizeof(data_type)), data_type > toDataType (T value)
 Casts any type to a data_type value.
template<typename T>
static constexpr std::enable_if_t<(sizeof(T)<=sizeof(data_type)||std::is_reference_v< T >), T > fromDataType (data_type value)
 Casts a data_type value to a given type. Reference types are also possible since they are the same size as a pointer underwater.
Static Public Attributes inherited from sf::InformationTypes
static constexpr size_t npos = std::numeric_limits<size_type>::max()
 Unsigned size value indicating not found or no index.

Detailed Description

template<typename T>
class sf::TVariableHandler< T >

Template for linking pointers of member function to Variable instances.

Template Parameters
T

Member Typedef Documentation

◆ TPmf

template<typename T>
typedef void(T::* sf::TVariableHandler< T >::TPmf) (EEvent event, const Variable &caller, Variable &link, bool sameInst)

Required event handler type.

Constructor & Destructor Documentation

◆ TVariableHandler() [1/2]

template<typename T>
sf::TVariableHandler< T >::TVariableHandler ( T * self,
TPmf pmf )

Constructor for assigning the pointer of the member function.

◆ TVariableHandler() [2/2]

template<typename T>
sf::TVariableHandler< T >::TVariableHandler ( const TVariableHandler< T > & )
delete

Prevent copying by not implementing copy constructor.

Member Function Documentation

◆ operator=()

template<typename T>
TVariableHandler & sf::TVariableHandler< T >::operator= ( const VariableHandler & )
delete

Prevent copying by not implementing assignment operator.


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