diff --git a/boost_boilerplate/CMakeLists.txt b/boost_boilerplate/CMakeLists.txt index 49c5ca2..8088393 100644 --- a/boost_boilerplate/CMakeLists.txt +++ b/boost_boilerplate/CMakeLists.txt @@ -68,3 +68,8 @@ add_executable(input_buffer src/chapter02_io/input_buffer.cpp src/sdk.h) target_link_libraries(input_buffer PRIVATE Threads::Threads) + +add_executable(stream_oriented_buffers + src/chapter02_io/stream_oriented_buffers.cpp + src/sdk.h) +target_link_libraries(stream_oriented_buffers PRIVATE Threads::Threads) diff --git a/boost_boilerplate/src/chapter02_io/stream_oriented_buffers.cpp b/boost_boilerplate/src/chapter02_io/stream_oriented_buffers.cpp new file mode 100644 index 0000000..68cb36a --- /dev/null +++ b/boost_boilerplate/src/chapter02_io/stream_oriented_buffers.cpp @@ -0,0 +1,24 @@ +#include "../sdk.h" +#include +#include + +using namespace boost; +namespace sys = boost::system; +using namespace std; + +int main() +{ + asio::streambuf buf; + ostream output(&buf); + + output << "Message1\nMessage2"s; + istream input(&buf); + + string message1; + + std::getline(input, message1); + + assert(message1 == "Message1"s); + + return EXIT_SUCCESS; +}