]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/boost/beast/core/ostream.hpp
import new upstream nautilus stable release 14.2.8
[ceph.git] / ceph / src / boost / boost / beast / core / ostream.hpp
index 1f00289bd1a8279138345518b8ecad714c3c1ef9..46899b6041ec4d74394d423edf7ce16bbcefc52f 100644 (file)
@@ -1,5 +1,5 @@
 //
-// Copyright (c) 2016-2017 Vinnie Falco (vinnie dot falco at gmail dot com)
+// Copyright (c) 2016-2019 Vinnie Falco (vinnie dot falco at gmail dot com)
 //
 // Distributed under the Boost Software License, Version 1.0. (See accompanying
 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 #define BOOST_BEAST_WRITE_OSTREAM_HPP
 
 #include <boost/beast/core/detail/config.hpp>
-#include <boost/beast/core/type_traits.hpp>
 #include <boost/beast/core/detail/ostream.hpp>
 #include <type_traits>
 #include <streambuf>
 #include <utility>
 
+#ifdef BOOST_BEAST_ALLOW_DEPRECATED
+#include <boost/beast/core/make_printable.hpp>
+#endif
+
 namespace boost {
 namespace beast {
 
-/** Return an object representing a @b ConstBufferSequence.
-
-    This function wraps a reference to a buffer sequence and permits
-    the following operation:
-
-    @li `operator<<` to `std::ostream`. No character translation is
-        performed; unprintable and null characters will be transferred
-        as-is to the output stream.
+/** Return an output stream that formats values into a <em>DynamicBuffer</em>.
 
-    @par Example
-    @code
-        multi_buffer b;
-        ...
-        std::cout << buffers(b.data()) << std::endl;
-    @endcode
-
-    @param b An object meeting the requirements of @b ConstBufferSequence
-    to be streamed. The implementation will make a copy of this object.
-    Ownership of the underlying memory is not transferred, the application
-    is still responsible for managing its lifetime.
-*/
-template<class ConstBufferSequence>
-#if BOOST_BEAST_DOXYGEN
-implementation_defined
-#else
-detail::buffers_helper<ConstBufferSequence>
-#endif
-buffers(ConstBufferSequence const& b)
-{
-    static_assert(boost::asio::is_const_buffer_sequence<
-        ConstBufferSequence>::value,
-            "ConstBufferSequence requirements not met");
-    return detail::buffers_helper<
-        ConstBufferSequence>{b};
-}
-
-/** Return an output stream that formats values into a @b DynamicBuffer.
-
-    This function wraps the caller provided @b DynamicBuffer into
+    This function wraps the caller provided <em>DynamicBuffer</em> into
     a `std::ostream` derived class, to allow `operator<<` stream style
     formatting operations.
 
@@ -70,7 +37,7 @@ buffers(ConstBufferSequence const& b)
     @note Calling members of the underlying buffer before the output
     stream is destroyed results in undefined behavior.
 
-    @param buffer An object meeting the requirements of @b DynamicBuffer
+    @param buffer An object meeting the requirements of <em>DynamicBuffer</em>
     into which the formatted output will be placed.
 
     @return An object derived from `std::ostream` which redirects output
@@ -82,7 +49,7 @@ buffers(ConstBufferSequence const& b)
 */
 template<class DynamicBuffer>
 #if BOOST_BEAST_DOXYGEN
-implementation_defined
+__implementation_defined__
 #else
 detail::ostream_helper<
     DynamicBuffer, char, std::char_traits<char>,
@@ -91,13 +58,32 @@ detail::ostream_helper<
 ostream(DynamicBuffer& buffer)
 {
     static_assert(
-        boost::asio::is_dynamic_buffer<DynamicBuffer>::value,
-        "DynamicBuffer requirements not met");
+        net::is_dynamic_buffer<DynamicBuffer>::value,
+        "DynamicBuffer type requirements not met");
     return detail::ostream_helper<
         DynamicBuffer, char, std::char_traits<char>,
             detail::basic_streambuf_movable::value>{buffer};
 }
 
+//------------------------------------------------------------------------------
+
+#ifdef BOOST_BEAST_ALLOW_DEPRECATED
+template<class T>
+detail::make_printable_adaptor<T>
+buffers(T const& t)
+{
+    return make_printable(t);
+}
+#else
+template<class T>
+void buffers(T const&)
+{
+    static_assert(sizeof(T) == 0,
+        "The function buffers() is deprecated, use make_printable() instead, "
+        "or define BOOST_BEAST_ALLOW_DEPRECATED to silence this error.");
+}
+#endif
+
 } // beast
 } // boost