69struct is_byte_like : std::bool_constant<std::is_same_v<T, char> || std::is_same_v<T, unsigned char> ||
70 std::is_same_v<T, std::byte> || std::is_same_v<T, std::uint8_t>>
82template <
typename,
typename =
void>
struct has_resize : std::false_type
86struct has_resize<T, std::void_t<decltype(std::declval<T&>().resize(std::size_t{}))>> : std::true_type
98template <
typename,
typename =
void>
struct has_data : std::false_type
101template <
typename T>
struct has_data<T, std::void_t<decltype(std::declval<T&>().data())>> : std::true_type
113template <
typename,
typename =
void>
struct has_size : std::false_type
116template <
typename T>
struct has_size<T, std::void_t<decltype(std::declval<const T&>().size())>> : std::true_type
Implementation details and type traits for jsocketpp buffer management.
constexpr bool is_fixed_buffer_v
Type trait for fixed-size buffer types.
Definition buffer_traits.hpp:147
constexpr bool is_dynamic_buffer_v
Type trait for dynamic buffer types.
Definition buffer_traits.hpp:132
Detection helper for data() member function.
Definition buffer_traits.hpp:99
Detection helper for resize() member function.
Definition buffer_traits.hpp:83
Detection helper for size() member function.
Definition buffer_traits.hpp:114
Type trait to detect byte-like types.
Definition buffer_traits.hpp:71