Elements 6.1.2
A C++ base framework for the Euclid Software.
Loading...
Searching...
No Matches
DataSourceUser.h
Go to the documentation of this file.
1
27#ifndef ELEMENTSEXAMPLES_ELEMENTSEXAMPLES_DATASOURCEUSER_H_
28#define ELEMENTSEXAMPLES_ELEMENTSEXAMPLES_DATASOURCEUSER_H_
29
30#include <cstdlib> // for std::size_t
31
32#include "ElementsKernel/Export.h" // For ELEMENTS_API
33
34namespace Elements {
35namespace Examples {
36
47
48public:
55 virtual std::size_t countRecords() const = 0;
56
68 virtual double getRecordValue(std::size_t index) const = 0;
69
70 virtual ~DataSourceInterface() = default;
71};
72
79
80public:
90 double sumRecords(const DataSourceInterface& data_source);
91};
92
93} // namespace Examples
94} // namespace Elements
95
96#endif // ELEMENTSEXAMPLES_ELEMENTSEXAMPLES_DATASOURCEUSER_H_
97
defines the macros to be used for explicit export of the symbols
This class has been created to demonstrate unit testing. It is an Interface over a DataSource (a File...
virtual double getRecordValue(std::size_t index) const =0
Fetch the value of the n-th record of the DataSource.
virtual std::size_t countRecords() const =0
Count the number of records into the DataSource.
This class has been created to demonstrate unit testing. It manipulates an object implementing DataSo...
#define ELEMENTS_API
Dummy definitions for the backward compatibility mode.
Definition: Export.h:74