jsocketpp 1.0
A cross-platform C++20 socket library.
Loading...
Searching...
No Matches
jsocketpp::detail Namespace Reference

Implementation details and type traits for jsocketpp buffer management. More...

Classes

struct  is_byte_like
 Type trait to detect byte-like types. More...
struct  has_resize
 Detection helper for resize() member function. More...
struct  has_resize< T, std::void_t< decltype(std::declval< T & >().resize(std::size_t{}))> >
struct  has_data
 Detection helper for data() member function. More...
struct  has_data< T, std::void_t< decltype(std::declval< T & >().data())> >
struct  has_size
 Detection helper for size() member function. More...
struct  has_size< T, std::void_t< decltype(std::declval< const T & >().size())> >

Variables

template<typename T>
constexpr bool is_dynamic_buffer_v
 Type trait for dynamic buffer types.
template<typename T>
constexpr bool is_fixed_buffer_v
 Type trait for fixed-size buffer types.

Detailed Description

Implementation details and type traits for jsocketpp buffer management.

This namespace contains internal type traits and utilities used to validate and classify different types of buffers used throughout the jsocketpp library. It provides compile-time checks for buffer requirements and characteristics.

Key Components

  • Byte-type validation traits
  • Buffer capability detection (resize, data access, size)
  • Dynamic vs fixed buffer classification
Note
These are implementation details and not part of the public API.

Variable Documentation

◆ is_dynamic_buffer_v

template<typename T>
bool jsocketpp::detail::is_dynamic_buffer_v
inlineconstexpr
Initial value:
=
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

Type trait for dynamic buffer types.

Checks if type T meets all requirements for a dynamic buffer:

  • Has resize() member function
  • Has data() member function
  • Has size() member function
  • Has a byte-like value_type
Template Parameters
TThe type to check

◆ is_fixed_buffer_v

template<typename T>
bool jsocketpp::detail::is_fixed_buffer_v
inlineconstexpr
Initial value:

Type trait for fixed-size buffer types.

Checks if type T meets all requirements for a fixed buffer:

  • Has data() member function
  • Has size() member function
  • Does NOT have resize() member function
  • Has a byte-like value_type
Template Parameters
TThe type to check