<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">https://github.com/boostorg/smart_ptr/issues/115
https://github.com/boostorg/smart_ptr/commit/e7433ba54596da97cb7859455cd37ca140305a9c

From e7433ba54596da97cb7859455cd37ca140305a9c Mon Sep 17 00:00:00 2001
From: Peter Dimov &lt;pdimov@gmail.com&gt;
Date: Mon, 13 Jan 2025 16:13:04 +0200
Subject: [PATCH] Fix operator&lt;&lt; for shared_ptr and intrusive_ptr. Fixes #115.

---
 include/boost/smart_ptr/intrusive_ptr.hpp | 2 +-
 include/boost/smart_ptr/shared_ptr.hpp    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git boost/smart_ptr/intrusive_ptr.hpp boost/smart_ptr/intrusive_ptr.hpp
index ddb20c0b0e..11b476513a 100644
--- a/boost/smart_ptr/intrusive_ptr.hpp
+++ b/boost/smart_ptr/intrusive_ptr.hpp
@@ -285,7 +285,7 @@ template&lt;class T, class U&gt; intrusive_ptr&lt;T&gt; dynamic_pointer_cast( intrusive_ptr&lt;
 
 // operator&lt;&lt;
 
-template&lt;class Y&gt; std::ostream &amp; operator&lt;&lt; (std::ostream &amp; os, intrusive_ptr&lt;Y&gt; const &amp; p)
+template&lt;class E, class T, class Y&gt; std::basic_ostream&lt;E, T&gt; &amp; operator&lt;&lt; (std::basic_ostream&lt;E, T&gt; &amp; os, intrusive_ptr&lt;Y&gt; const &amp; p)
 {
     os &lt;&lt; p.get();
     return os;
diff --git boost/smart_ptr/shared_ptr.hpp boost/smart_ptr/shared_ptr.hpp
index 2431a33590..2deed9b632 100644
--- a/boost/smart_ptr/shared_ptr.hpp
+++ b/boost/smart_ptr/shared_ptr.hpp
@@ -775,7 +775,7 @@ template&lt;class T&gt; inline typename shared_ptr&lt;T&gt;::element_type * get_pointer(shar
 
 // operator&lt;&lt;
 
-template&lt;class Y&gt; std::ostream &amp; operator&lt;&lt; (std::ostream &amp; os, shared_ptr&lt;Y&gt; const &amp; p)
+template&lt;class E, class T, class Y&gt; std::basic_ostream&lt;E, T&gt; &amp; operator&lt;&lt; (std::basic_ostream&lt;E, T&gt; &amp; os, shared_ptr&lt;Y&gt; const &amp; p)
 {
     os &lt;&lt; p.get();
     return os;

</pre></body></html>