RobotsIO
Loading...
Searching...
No Matches
ParametersExtractor.h
1/*
2 * Copyright (C) 2019 Istituto Italiano di Tecnologia (IIT)
3 *
4 * This software may be modified and distributed under the terms of the
5 * BSD 3-Clause license. See the accompanying LICENSE file for details.
6 */
7
8#ifndef ROBOTSIO_PARAMETERS_EXTRACTOR_H
9#define ROBOTSIO_PARAMETERS_EXTRACTOR_H
10
11#include <string>
12
13namespace RobotsIO {
14 namespace Utils {
15 class ParametersExtractor;
16 class Parameters;
17 }
18}
19
20
22{
23public:
25
26 void extract_fields();
27
28 void extract_field(const std::string& key);
29
30 virtual void extract_field(const std::string& key, const std::string& value) = 0;
31
32 virtual void extract_field(const std::string& key, const std::size_t& value) = 0;
33
34 virtual void extract_field(const std::string& key, const int& value) = 0;
35
36 virtual void extract_field(const std::string& key, const double& value) = 0;
37
38 virtual void extract_field(const std::string& key, const bool& value) = 0;
39
40protected:
41 const RobotsIO::Utils::Parameters& parameters_;
42};
43
44#endif /* ROBOTSIO_PARAMETERS_EXTRACTOR_H */