Caffa  1.1.0
C++ Application Framework for Embedded Systems with introspection
Public Types | Public Member Functions | Protected Attributes | List of all members
caffa::Field< DataType > Class Template Reference

#include <cafField.h>

Inheritance diagram for caffa::Field< DataType >:
Inheritance graph
[legend]
Collaboration diagram for caffa::Field< DataType >:
Collaboration graph
[legend]

Public Types

typedef DataFieldAccessor< DataType > DataAccessor
 
typedef DataFieldDirectStorageAccessor< DataType > DirectStorageAccessor
 
- Public Types inherited from caffa::TypedField< DataType >
using FieldDataType = DataType
 

Public Member Functions

 Field (const Field &other)=delete
 
 Field (const DataType &fieldValue)
 
 Field (std::unique_ptr< DataAccessor > accessor)
 
Fieldoperator= (const Field &other)=delete
 
Fieldoperator= (const DataType &fieldValue)
 
DataType value () const override
 
void setValue (const DataType &fieldValue) override
 
 operator DataType () const
 
DataType operator() () const
 
DataType operator* () const
 
auto operator (const DataType &fieldValue) const
 
bool isReadable () const override
 
bool isWritable () const override
 
void setAccessor (std::unique_ptr< DataAccessor > accessor)
 
void setUntypedAccessor (std::unique_ptr< DataFieldAccessorInterface > accessor) override
 
std::vector< const FieldValidator< DataType > * > valueValidators () const
 
std::vector< FieldValidator< DataType > * > valueValidators ()
 
void addValidator (std::unique_ptr< FieldValidator< DataType >> valueValidator)
 
void clearValidators ()
 
std::optional< DataType > defaultValue () const
 
void setDefaultValue (const DataType &val)
 
bool operator== (const Field< DataType > &rhs) const =delete
 
auto operator (const Field< DataType > &rhs) const =delete
 
- Public Member Functions inherited from caffa::TypedField< DataType >
std::string dataType () const override
 
- Public Member Functions inherited from caffa::DataField
void accept (Inspector *visitor) const override
 
void accept (Editor *editor) override
 
- Public Member Functions inherited from caffa::FieldHandle
std::string keyword () const
 
ObjectHandleownerObject ()
 
const ObjectHandleownerObject () const
 
void addCapability (std::unique_ptr< FieldCapability > capability)
 
template<typename CapabilityType >
CapabilityType * capability ()
 
template<typename CapabilityType >
const CapabilityType * capability () const
 
bool isDeprecated () const
 
void markDeprecated ()
 
void setDocumentation (const std::string &documentation)
 
const std::string & documentation () const
 

Protected Attributes

std::unique_ptr< DataAccessorm_fieldDataAccessor
 
std::vector< std::unique_ptr< FieldValidator< DataType > > > m_valueValidators
 
std::optional< DataType > m_defaultValue
 

Additional Inherited Members

- Protected Member Functions inherited from caffa::FieldHandle
bool isInitialized () const
 
std::list< FieldCapability * > capabilities ()
 

Detailed Description

template<typename DataType>
class caffa::Field< DataType >

Field class encapsulating data with input and output of this data read/write-FieldData is supposed to be specialized for types needing specialization

Member Function Documentation

◆ isReadable()

template<typename DataType>
bool caffa::Field< DataType >::isReadable ( ) const
inlineoverridevirtual

Can the field be read. A non-scriptable field cannot be read within the client.

Implements caffa::FieldHandle.

◆ isWritable()

template<typename DataType>
bool caffa::Field< DataType >::isWritable ( ) const
inlineoverridevirtual

Can the field be written to. A non-scriptable field cannot be written to within the client.

Implements caffa::FieldHandle.


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