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

Last change on this file since 9 was 2, checked in by Sanahuja Guillaume, 9 years ago

initial commit flaircore

File size: 1.4 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 { namespace core {
19
20 class DataType;
21
22 /*! \class IODataElement
23 *
24 * \brief Abstract class for accessing an element of an io_data.
25 */
26 class IODataElement: public Object
27 {
28 public:
29 /*!
30 * \brief Constructor
31 *
32 * Construct an IODataElement. \n
33 *
34 */
35 IODataElement(const io_data* parent,std::string name): Object(parent,name)
36 {
37 this->parent=parent;
38 }
39 size_t Size() const
40 {
41 return size;
42 }
43
44 virtual void CopyData(char* dst) const=0;
45
46 /*!
47 * \brief DataType
48 *
49 * \return type of data
50 */
51 virtual DataType const &GetDataType(void) const=0;
52
53 protected:
54 size_t size;
55
56 private:
57 const io_data* parent;
58
59 };
60
61} // end namespace core
62} // end namespace framework
63
64#endif // IODATAELEMENT_H
Note: See TracBrowser for help on using the repository browser.