equal
deleted
inserted
replaced
1 #pragma once |
1 #pragma once |
|
2 |
|
3 #include <sstream> |
|
4 #include <functional> |
2 |
5 |
3 #include "DataTypeReaderBase.h" |
6 #include "DataTypeReaderBase.h" |
4 |
7 |
5 namespace relpipe { |
8 namespace relpipe { |
6 namespace reader { |
9 namespace reader { |
18 |
21 |
19 virtual string_t readString(std::istream &input) { |
22 virtual string_t readString(std::istream &input) { |
20 return toString(readValue(input)); |
23 return toString(readValue(input)); |
21 } |
24 } |
22 |
25 |
|
26 virtual void read(std::istream &input, std::function<void(const void *, const std::type_info&) > handler) override { |
|
27 T value = readValue(input); |
|
28 handler(&value, typeid (T)); |
|
29 } |
|
30 |
|
31 virtual void read(std::istream &input, std::function<void(const string_t&, const void *, const std::type_info&) > handler) override { |
|
32 T value = readValue(input); |
|
33 handler(toString(value), &value, typeid (T)); |
|
34 } |
|
35 |
23 virtual string_t toString(const T& value) = 0; |
36 virtual string_t toString(const T& value) = 0; |
24 |
37 |
25 }; |
38 }; |
26 |
39 |
27 } |
40 } |