From 38565ec406b0b57507cb67335a916765d8c31c37 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Del=20Pino?= <stephane.delpino44@gmail.com>
Date: Mon, 31 Jan 2022 18:05:59 +0100
Subject: [PATCH] Add a specialization to write complex data (EmbeddedData)

---
 src/language/utils/OStream.hpp | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/src/language/utils/OStream.hpp b/src/language/utils/OStream.hpp
index d9410e25e..bef02277e 100644
--- a/src/language/utils/OStream.hpp
+++ b/src/language/utils/OStream.hpp
@@ -23,6 +23,17 @@ class OStream
     return os;
   }
 
+  template <typename DataT>
+  friend std::shared_ptr<const OStream>
+  operator<<(const std::shared_ptr<const OStream>& os, const std::shared_ptr<const DataT>& t)
+  {
+    Assert(os.use_count() > 0, "non allocated stream");
+    if (os->m_ostream != nullptr) {
+      *os->m_ostream << *t;
+    }
+    return os;
+  }
+
   OStream(std::ostream& os) : m_ostream(&os) {}
   OStream() = default;
 
-- 
GitLab