author | František Kučera <franta-hg@frantovo.cz> |
Sun, 22 Jul 2018 10:26:22 +0200 | |
branch | v_0 |
changeset 15 | 8fd6c4d44071 |
parent 9 | 0a40752e401d |
child 16 | 3613617d3076 |
permissions | -rw-r--r-- |
1 | 1 |
#pragma once |
2 |
||
3 |
#include "DataTypeWriterBase.h" |
|
4 |
||
5 |
namespace relpipe { |
|
6 |
namespace writer { |
|
7 |
||
8 |
template<typename T> class DataTypeWriter : public DataTypeWriterBase { |
|
9 |
public: |
|
10 |
||
15
8fd6c4d44071
use more TypeId enum
František Kučera <franta-hg@frantovo.cz>
parents:
9
diff
changeset
|
11 |
DataTypeWriter(const TypeId typeId, const string_t typeCode) : DataTypeWriterBase(typeId, typeCode) { |
1 | 12 |
} |
13 |
||
14 |
virtual ~DataTypeWriter() { |
|
15 |
}; |
|
16 |
||
17 |
virtual void writeValue(std::ostream& output, const T& value) = 0; |
|
18 |
||
9
0a40752e401d
shared library with pure abstract class (interface)
František Kučera <franta-hg@frantovo.cz>
parents:
5
diff
changeset
|
19 |
void writeString(std::ostream& output, const string_t &stringValue) override { |
0a40752e401d
shared library with pure abstract class (interface)
František Kučera <franta-hg@frantovo.cz>
parents:
5
diff
changeset
|
20 |
writeValue(output, toValue(stringValue)); |
0a40752e401d
shared library with pure abstract class (interface)
František Kučera <franta-hg@frantovo.cz>
parents:
5
diff
changeset
|
21 |
} |
1 | 22 |
|
23 |
virtual T toValue(const string_t &stringValue) = 0; |
|
24 |
||
25 |
}; |
|
26 |
||
27 |
} |
|
28 |
} |