diff options
Diffstat (limited to 'include/CommonAPI/TypeOutputStream.hpp')
-rw-r--r-- | include/CommonAPI/TypeOutputStream.hpp | 14 |
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); |