Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-08-17 08:39:20

0001 //
0002 // Copyright (c) 2025 Klemens Morgenstern (klemens.morgenstern@gmx.net)
0003 //
0004 // Distributed under the Boost Software License, Version 1.0. (See accompanying
0005 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
0006 //
0007 
0008 #ifndef BOOST_COBALT_IO_STREAM_HPP
0009 #define BOOST_COBALT_IO_STREAM_HPP
0010 
0011 #include <boost/cobalt/io/detail/config.hpp>
0012 #include <boost/cobalt/io/buffer.hpp>
0013 #include <boost/cobalt/io/ops.hpp>
0014 
0015 namespace boost::cobalt::io
0016 {
0017 
0018 // tag::outline[]
0019 struct BOOST_SYMBOL_VISIBLE write_stream
0020 {
0021   virtual ~write_stream() = default;
0022   [[nodiscard]] virtual write_op write_some(const_buffer_sequence buffer) = 0;
0023 };
0024 
0025 struct BOOST_SYMBOL_VISIBLE read_stream
0026 {
0027   virtual ~read_stream() = default;
0028   [[nodiscard]] virtual read_op read_some(mutable_buffer_sequence buffer) = 0;
0029 };
0030 
0031 struct stream : read_stream, write_stream
0032 {
0033 };
0034 // end::outline[]
0035 
0036 }
0037 
0038 #endif //BOOST_COBALT_IO_STREAM_HPP