source: flair-dev/trunk/include/FlairCore/IODataElement.h @ 13

Last change on this file since 13 was 13, checked in by Bayard Gildas, 5 years ago

formatting script + include reformatted

File size: 1.1 KB
Line 
1// %flair:license{
2// This file is part of the Flair framework distributed under the
3// CECILL-C License, Version 1.0.
4// %flair:license}
5/*!
6 * \file IODataElement.h
7 * \brief Abstract class for accessing an element of an io_data.
8 * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
9 * \date 2014/11/26
10 * \version 4.0
11 */
12
13#ifndef IODATAELEMENT_H
14#define IODATAELEMENT_H
15
16#include "io_data.h"
17
18namespace flair {
19namespace core {
20
21class DataType;
22
23/*! \class IODataElement
24*
25* \brief Abstract class for accessing an element of an io_data.
26*/
27class IODataElement : public Object {
28public:
29  /*!
30  * \brief Constructor
31  *
32  * Construct an IODataElement. \n
33  *
34  */
35  IODataElement(const io_data *parent, std::string name)
36      : Object(parent, name) {
37    this->parent = parent;
38  }
39  size_t Size() const { return size; }
40
41  virtual void CopyData(char *dst) const = 0;
42
43  /*!
44  * \brief DataType
45  *
46  * \return type of data
47  */
48  virtual DataType const &GetDataType(void) const = 0;
49
50protected:
51  size_t size;
52
53private:
54  const io_data *parent;
55};
56
57} // end namespace core
58} // end namespace framework
59
60#endif // IODATAELEMENT_H
Note: See TracBrowser for help on using the repository browser.