24 #ifndef COM_DAFER45_TBTK_FIELD
25 #define COM_DAFER45_TBTK_FIELD
29 #include <initializer_list>
34 template<
typename DataType,
typename ArgumentType>
38 Field(
bool isCompact =
false);
41 virtual DataType operator()(std::initializer_list<ArgumentType> argument)
const = 0;
45 bool getIsCompact()
const;
49 virtual const std::vector<ArgumentType>& getCoordinates()
const;
53 virtual ArgumentType getExtent()
const;
59 template<
typename DataType,
typename ArgumentType>
60 Field<DataType, ArgumentType>::Field(
bool isCompact){
61 this->isCompact = isCompact;
64 template<
typename DataType,
typename ArgumentType>
65 bool Field<DataType, ArgumentType>::getIsCompact()
const{
69 template<
typename DataType,
typename ArgumentType>
70 const std::vector<ArgumentType>& Field<DataType, ArgumentType>::getCoordinates()
const{
72 "Field::getCoordinates()",
73 "The Field is not compact.",
78 template<
typename DataType,
typename ArgumentType>
79 ArgumentType Field<DataType, ArgumentType>::getExtent()
const{
81 "Field::getCoordinates()",
82 "Field is not compact.",