...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Determine if T
meets the
requirements of AsyncWriteStream.
Defined in header <boost/beast/core/type_traits.hpp>
template< class T> struct is_async_write_stream : public std::integral_constant< bool,...>
Metafunctions are used to perform compile time checking of template types.
This type will be std::true_type
if T
meets the requirements, else the type will be std::false_type
.
Use with static_assert
:
template<class AsyncWriteStream> void f(AsyncWriteStream& stream) { static_assert(is_async_write_stream<AsyncWriteStream>::value, "AsyncWriteStream requirements not met"); ...
Use with std::enable_if
(SFINAE):
template<class AsyncWriteStream> typename std::enable_if<is_async_write_stream<AsyncWriteStream>::value>::type f(AsyncWriteStream& stream);
Convenience header <boost/beast/core.hpp>