buffer_sequence_end(const _Cont& __c) -> decltype(__c.end())
{ return __c.end(); }
- // @}
+ /// @}
/** @brief buffer type traits
template<typename _Tp>
constexpr bool is_dynamic_buffer_v = is_dynamic_buffer<_Tp>::value;
- // @}
+ /// @}
/// buffer size
template<typename _ConstBufferSequence>
return net::read(__stream, __b, __completion_condition, __ec);
}
- // @}
+ /// @}
/** @brief asynchronous read operations
* @{
std::forward<_CompletionToken>(__token));
}
- // @}
+ /// @}
#if 0
/** @brief synchronous write operations:
size_t write(_SyncWriteStream& __stream, _DynamicBuffer&& __b,
_CompletionCondition __completion_condition, error_code& __ec);
- // @}
+ /// @}
/** @brief asynchronous write operations
* @{
_CompletionCondition __completion_condition,
_CompletionToken&& __token);
- // @}
+ /// @}
/** @brief synchronous delimited read operations
* @{
size_t read_until(_SyncReadStream& __s, _DynamicBuffer&& __b,
string_view __delim, error_code& __ec);
- // @}
+ /// @}
/** @brief asynchronous delimited read operations
* @{
_DynamicBuffer&& __b, string_view __delim,
_CompletionToken&& __token);
- // @}
+ /// @}
#endif
/// @}