source: flair-src/trunk/lib/FlairCore/src/unexported/io_data_impl.h @ 2

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

flaircore

File size: 1.3 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 io_data_impl.h
7 * \brief Abstract class for data types.
8 * \author Guillaume Sanahuja, Copyright Heudiasyc UMR UTC/CNRS 7253
9 * \date 2012/03/21
10 * \version 4.0
11 */
12
13#ifndef IO_DATA_IMPL_H
14#define IO_DATA_IMPL_H
15
16#include "io_data.h"
17
18/*! \class io_data_impl
19* \brief Abstract class for data types.
20*
21* Use this class to define a custom data type. Data types ares used for logging and graphs. \n
22* The reimplemented class must call SetSize() in its constructor. \n
23* io_data can be constructed with n samples (see io_data::io_data).
24* In this case, old samples can be accessed throug io_data::Prev.
25*/
26class io_data_impl
27{
28    public:
29                io_data_impl(flair::core::io_data* self,int n);
30                ~io_data_impl();
31                void Circle(void);
32                bool IsConsistent(void);
33                void SetConsistent(bool status);
34                void WriteLogDescriptor(std::fstream& desc_file,int *index);
35                void PrintLogDescriptor(void);
36        void AppendLogDescription(std::string description,flair::core::DataType const &datatype);
37        size_t size;
38        flair::core::Time time;
39        void** circle_ptr;
40
41    private:
42        flair::core::io_data* self;
43        int n;
44        bool is_consistent;
45        std::vector<std::string> descriptors;
46};
47
48#endif // IO_DATA_IMPL_H
Note: See TracBrowser for help on using the repository browser.