summaryrefslogtreecommitdiff
path: root/include/CommonAPI/TypeOutputStream.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/CommonAPI/TypeOutputStream.hpp')
-rw-r--r--include/CommonAPI/TypeOutputStream.hpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/include/CommonAPI/TypeOutputStream.hpp b/include/CommonAPI/TypeOutputStream.hpp
index ec44864..28f9d01 100644
--- a/include/CommonAPI/TypeOutputStream.hpp
+++ b/include/CommonAPI/TypeOutputStream.hpp
@@ -69,6 +69,10 @@ public:
return get()->writeType(_value);
}
+ inline TypeOutputStream &writeType(const Version &_value) {
+ return get()->writeType(_value);
+ }
+
template<typename _Type>
TypeOutputStream &writeType(const Enumeration<_Type> &_value) {
_Type tmpValue;
@@ -80,6 +84,11 @@ public:
return get()->writeType(_value);
}
+ template<class _PolymorphicStruct>
+ TypeOutputStream &writeType(const std::shared_ptr<_PolymorphicStruct> &_value) {
+ return get()->writeType(_value);
+ }
+
template<typename... _Types>
TypeOutputStream &writeType(const Variant<_Types...> &_value) {
return get()->writeType(_value);
@@ -176,6 +185,11 @@ TypeOutputStream<_Derived> &operator<<(TypeOutputStream<_Derived> &_output, cons
return _output.writeType(_value);
}
+template<class _Derived, class _PolymorphicStruct>
+TypeOutputStream<_Derived> &operator<<(TypeOutputStream<_Derived> &_output, const std::shared_ptr<_PolymorphicStruct> &_value) {
+ return _output.writeType(_value);
+}
+
template<class _Derived, typename... _Types>
TypeOutputStream<_Derived> &operator<<(TypeOutputStream<_Derived> &_output, const Variant<_Types...> &_value) {
return _output.writeType(_value);