diff options
Diffstat (limited to '3rdparty/asio/src/tests/unit/registered_buffer.cpp')
| -rw-r--r-- | 3rdparty/asio/src/tests/unit/registered_buffer.cpp | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/3rdparty/asio/src/tests/unit/registered_buffer.cpp b/3rdparty/asio/src/tests/unit/registered_buffer.cpp new file mode 100644 index 00000000000..09c33415a14 --- /dev/null +++ b/3rdparty/asio/src/tests/unit/registered_buffer.cpp @@ -0,0 +1,111 @@ +// +// registered_buffer.cpp +// ~~~~~~~~~~~~~~~~~~~~~ +// +// Copyright (c) 2003-2024 Christopher M. Kohlhoff (chris at kohlhoff 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) +// + +// Disable autolinking for unit tests. +#if !defined(BOOST_ALL_NO_LIB) +#define BOOST_ALL_NO_LIB 1 +#endif // !defined(BOOST_ALL_NO_LIB) + +// Test that header file is self-contained. +#include "asio/registered_buffer.hpp" + +#include "unit_test.hpp" + +//------------------------------------------------------------------------------ + +// registered_buffer_compile test +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// The following test checks that all the mutable_registered_buffer and +// const_registered_buffer classes compile and link correctly. Runtime +// failures are ignored. + +namespace registered_buffer_compile { + +using namespace asio; + +void test() +{ + try + { + // mutable_registered_buffer constructors. + + mutable_registered_buffer mb1; + mutable_registered_buffer mb2(mb1); + (void)mb2; + + // mutable_registered_buffer functions. + + mutable_buffer b1 = mb1.buffer(); + (void)b1; + + void* ptr1 = mb1.data(); + (void)ptr1; + + std::size_t n1 = mb1.size(); + (void)n1; + + registered_buffer_id id1 = mb1.id(); + (void)id1; + + // mutable_registered_buffer operators. + + mb1 += 128; + mb1 = mb2 + 128; + mb1 = 128 + mb2; + + // const_registered_buffer constructors. + + const_registered_buffer cb1; + const_registered_buffer cb2(cb1); + (void)cb2; + const_registered_buffer cb3(mb1); + (void)cb3; + + // const_registered_buffer functions. + + const_buffer b2 = cb1.buffer(); + (void)b2; + + const void* ptr2 = cb1.data(); + (void)ptr2; + + std::size_t n2 = cb1.size(); + (void)n2; + + registered_buffer_id id2 = cb1.id(); + (void)id2; + + // const_registered_buffer operators. + + cb1 += 128; + cb1 = cb2 + 128; + cb1 = 128 + cb2; + + // buffer function overloads. + + mb1 = buffer(mb2); + mb1 = buffer(mb2, 128); + cb1 = buffer(cb2); + cb1 = buffer(cb2, 128); + } + catch (std::exception&) + { + } +} + +} // namespace buffer_compile + +//------------------------------------------------------------------------------ + +ASIO_TEST_SUITE +( + "registered_buffer", + ASIO_COMPILE_TEST_CASE(registered_buffer_compile::test) +) |
