28 #include <boost/shared_array.hpp> 54 virtual size_t size()
const = 0;
66 MIFI_DEPRECATED(
virtual const boost::shared_array<char> asConstChar()
const) = 0;
68 virtual boost::shared_array<char>
asChar()
const = 0;
73 MIFI_DEPRECATED(
virtual const boost::shared_array<short> asConstShort()
const) = 0;
75 virtual boost::shared_array<short>
asShort()
const = 0;
80 MIFI_DEPRECATED(
virtual const boost::shared_array<int> asConstInt()
const) = 0;
82 virtual boost::shared_array<int>
asInt()
const = 0;
87 MIFI_DEPRECATED(
virtual const boost::shared_array<long long> asConstInt64()
const) = 0;
89 virtual boost::shared_array<long long>
asInt64()
const = 0;
94 MIFI_DEPRECATED(
virtual const boost::shared_array<unsigned char> asConstUChar()
const) = 0;
96 virtual boost::shared_array<unsigned char>
asUChar()
const = 0;
98 MIFI_DEPRECATED(
virtual const boost::shared_array<unsigned short> asConstUShort()
const) = 0;
100 virtual boost::shared_array<unsigned short>
asUShort()
const = 0;
102 MIFI_DEPRECATED(
virtual const boost::shared_array<unsigned int> asConstUInt()
const) = 0;
104 virtual boost::shared_array<unsigned int>
asUInt()
const = 0;
106 MIFI_DEPRECATED(
virtual const boost::shared_array<unsigned long long> asConstUInt64()
const) = 0;
108 virtual boost::shared_array<unsigned long long>
asUInt64()
const = 0;
110 MIFI_DEPRECATED(
virtual const boost::shared_array<float> asConstFloat()
const) = 0;
112 virtual boost::shared_array<float>
asFloat()
const = 0;
114 MIFI_DEPRECATED(
virtual const boost::shared_array<double> asConstDouble()
const) = 0;
116 virtual boost::shared_array<double>
asDouble()
const = 0;
118 virtual boost::shared_array<std::string>
asStrings()
const = 0;
128 virtual double getDouble(
size_t pos) = 0;
137 virtual void setValue(
size_t pos,
double val) = 0;
145 virtual void setValues(
size_t startPos,
const Data& data,
size_t first = 0,
size_t end = -1) = 0;
178 virtual DataPtr convertDataType(
double oldFill,
double oldScale,
double oldOffset, boost::shared_ptr<UnitsConverter> unitConverter,
CDMDataType newType,
double newFill,
double newScale,
double newOffset) = 0;
258 DataPtr createData(
size_t length, boost::shared_array<unsigned long long> array);
292 template<
class InputIterator>
306 template<
class InputIterator>
312 case CDM_FLOAT: { boost::shared_array<float> ary(
new float[length]);
std::copy(first, last, ary.get());
return createData(length, ary); }
313 case CDM_INT64: { boost::shared_array<long long> ary(
new long long[length]);
std::copy(first, last, ary.get());
return createData(length, ary); }
314 case CDM_INT: { boost::shared_array<int> ary(
new int[length]);
std::copy(first, last, ary.get());
return createData(length, ary); }
315 case CDM_SHORT: { boost::shared_array<short> ary(
new short[length]);
std::copy(first, last, ary.get());
return createData(length, ary); }
316 case CDM_CHAR: { boost::shared_array<char> ary(
new char[length]);
std::copy(first, last, ary.get());
return createData(length, ary); }
317 case CDM_UINT64: { boost::shared_array<unsigned long long> ary(
new unsigned long long[length]);
std::copy(first, last, ary.get());
return createData(length, ary); }
318 case CDM_UINT: { boost::shared_array<unsigned int> ary(
new unsigned int[length]);
std::copy(first, last, ary.get());
return createData(length, ary); }
319 case CDM_USHORT: { boost::shared_array<unsigned short> ary(
new unsigned short[length]);
std::copy(first, last, ary.get());
return createData(length, ary); }
320 case CDM_UCHAR: { boost::shared_array<unsigned char> ary(
new unsigned char[length]);
std::copy(first, last, ary.get());
return createData(length, ary); }
324 return createData(0, boost::shared_array<char>(
new char[0]));
Definition: CDMDataType.h:38
basic_string< char > string
Definition: CDMDataType.h:40
virtual double getDouble(size_t pos)=0
get a value at the desired position
virtual boost::shared_array< unsigned long long > asUInt64() const =0
retrieve data as uint64
boost::shared_ptr< Data > DataPtr
Definition: DataDecl.h:39
DataPtr createData(CDMDataType datatype, size_t length, double val=0)
create a Data-pointer of the datatype
virtual boost::shared_array< short > asShort() const =0
retrieve data as short
virtual void setValue(size_t pos, double val)=0
set a value at the desired position
virtual boost::shared_array< double > asDouble() const =0
retrieve data as double
Definition: CDMDataType.h:36
Definition: CDMDataType.h:43
virtual std::string asString(std::string separator="") const =0
retrieve the whole array as a string (with possible separator)
virtual boost::shared_array< char > asChar() const =0
retrieve data as char
basic_ostream< char > ostream
virtual boost::shared_array< unsigned char > asUChar() const =0
retrieve data as uchar
Definition: CDMDataType.h:44
virtual void setValues(size_t startPos, const Data &data, size_t first=0, size_t end=-1)=0
virtual void toStream(std::ostream &, std::string separator="") const =0
printing of the current data to ostream, with optional separator
Definition: C_CDMReader.h:35
virtual CDMDataType getDataType() const =0
virtual int bytes_for_one() const =0
sizeof the data-impl datatype
virtual DataPtr slice(std::vector< size_t > orgDimSize, std::vector< size_t > startDims, std::vector< size_t > outputDimSize)=0
get a multi-dimensional slice of the data
Definition: CDMDataType.h:37
_OutputIterator copy(_InputIterator __first, _InputIterator __last, _OutputIterator __result)
virtual boost::shared_array< unsigned short > asUShort() const =0
retrieve data as short
virtual DataPtr clone() const =0
duplicate the data
iterator_traits< _InputIterator >::difference_type distance(_InputIterator __first, _InputIterator __last)
virtual void setAllValues(double val)=0
virtual size_t size() const =0
size of the data
virtual boost::shared_array< unsigned int > asUInt() const =0
retrieve data as uint
virtual DataPtr convertDataType(double oldFill, double oldScale, double oldOffset, CDMDataType newType, double newFill, double newScale, double newOffset)=0
convert the datatype from one type,fill,scale,offset to another
DataPtr createDataSlice(CDMDataType datatype, const Data &data, size_t dataStartPos, size_t dataSize)
create a one-dimensional dataslice from another Data object
virtual boost::shared_array< float > asFloat() const =0
retrieve data as float (eventually copy)
Definition: CDMDataType.h:47
virtual void * getDataPtr()=0
virtual boost::shared_array< int > asInt() const =0
retrieve data as int
Definition: CDMDataType.h:45
Definition: CDMDataType.h:41
Definition: CDMDataType.h:39
CDMDataType
Definition: CDMDataType.h:35
virtual boost::shared_array< long long > asInt64() const =0
retrieve data as int64
MIFI_DEPRECATED(virtual const boost::shared_array< char > asConstChar() const)=0
retrieve data as char
virtual boost::shared_array< std::string > asStrings() const =0
retrieve data as array of strings
Definition: CDMDataType.h:46
virtual long long getLongLong(size_t pos)=0
get a value at the desired position