41 template <
class DataType>
50 virtual std::unique_ptr<DataFieldAccessor<DataType>> clone()
const = 0;
57 virtual DataType value() = 0;
65 virtual void setValue(
const DataType& value ) = 0;
71 virtual bool hasSetter()
const = 0;
77 virtual bool hasGetter()
const = 0;
85 template <
class DataType>
106 std::unique_ptr<DataFieldAccessor<DataType>>
clone()
const override 108 return std::make_unique<DataFieldDirectStorageAccessor<DataType>>( m_value );
111 DataType
value()
override {
return m_value; };
113 void setValue(
const DataType& value )
override { m_value = value; }
std::unique_ptr< DataFieldAccessor< DataType > > clone() const override
Clone the accessor using polymorphism.
Definition: cafDataFieldAccessor.h:106
DataType value() override
Get the field value.
Definition: cafDataFieldAccessor.h:111
Abstract but typed data field accessor. Inherit to create different storage mechanisms.
Definition: cafDataFieldAccessor.h:42
bool hasSetter() const override
Definition: cafDataFieldAccessor.h:116
DataFieldDirectStorageAccessor(const DataType &value)
Construct a new Data Field Direct Storage Accessor object with a default value.
Definition: cafDataFieldAccessor.h:100
bool hasGetter() const override
Definition: cafDataFieldAccessor.h:115
Basic non-typed interface which exists only to allow non-typed pointers.
Definition: cafDataFieldAccessor.h:30
void setValue(const DataType &value) override
Set the value with the accessor. Will throw a std::runtime_exception if the accessor has limits and t...
Definition: cafDataFieldAccessor.h:113
Main Caffa namespace.
Definition: cafApplication.h:30
Direct storage accessor, which stores data values in local memory.
Definition: cafDataFieldAccessor.h:86