MySQL 8.3.0
Source Code Documentation
net::socket_option::option_base< Level, Name, T, V > Class Template Reference

base-class of socket options. More...

#include <socket.h>

Public Types

using value_type = T
 
using storage_type = V
 

Public Member Functions

constexpr option_base ()
 
constexpr option_base (value_type v)
 
value_type value () const
 
template<typename Protocol >
constexpr int level (const Protocol &) const noexcept
 
template<typename Protocol >
constexpr int name (const Protocol &) const noexcept
 
template<typename Protocol >
const storage_typedata (const Protocol &) const
 
template<typename Protocol >
storage_typedata (const Protocol &)
 
template<typename Protocol >
constexpr size_t size (const Protocol &) const
 
template<class Protocol >
void resize (const Protocol &, size_t s)
 

Private Attributes

storage_type value_
 

Detailed Description

template<int Level, int Name, class T, class V = T>
class net::socket_option::option_base< Level, Name, T, V >

base-class of socket options.

can be used to implement type safe socket options.

See also
socket_option::integer
socket_option::boolean

Member Typedef Documentation

◆ storage_type

template<int Level, int Name, class T , class V = T>
using net::socket_option::option_base< Level, Name, T, V >::storage_type = V

◆ value_type

template<int Level, int Name, class T , class V = T>
using net::socket_option::option_base< Level, Name, T, V >::value_type = T

Constructor & Destructor Documentation

◆ option_base() [1/2]

template<int Level, int Name, class T , class V = T>
constexpr net::socket_option::option_base< Level, Name, T, V >::option_base ( )
inlineconstexpr

◆ option_base() [2/2]

template<int Level, int Name, class T , class V = T>
constexpr net::socket_option::option_base< Level, Name, T, V >::option_base ( value_type  v)
inlineexplicitconstexpr

Member Function Documentation

◆ data() [1/2]

template<int Level, int Name, class T , class V = T>
template<typename Protocol >
storage_type * net::socket_option::option_base< Level, Name, T, V >::data ( const Protocol )
inline

◆ data() [2/2]

template<int Level, int Name, class T , class V = T>
template<typename Protocol >
const storage_type * net::socket_option::option_base< Level, Name, T, V >::data ( const Protocol ) const
inline

◆ level()

template<int Level, int Name, class T , class V = T>
template<typename Protocol >
constexpr int net::socket_option::option_base< Level, Name, T, V >::level ( const Protocol ) const
inlineconstexprnoexcept

◆ name()

template<int Level, int Name, class T , class V = T>
template<typename Protocol >
constexpr int net::socket_option::option_base< Level, Name, T, V >::name ( const Protocol ) const
inlineconstexprnoexcept

◆ resize()

template<int Level, int Name, class T , class V = T>
template<class Protocol >
void net::socket_option::option_base< Level, Name, T, V >::resize ( const Protocol ,
size_t  s 
)
inline

◆ size()

template<int Level, int Name, class T , class V = T>
template<typename Protocol >
constexpr size_t net::socket_option::option_base< Level, Name, T, V >::size ( const Protocol ) const
inlineconstexpr

◆ value()

template<int Level, int Name, class T , class V = T>
value_type net::socket_option::option_base< Level, Name, T, V >::value ( ) const
inline

Member Data Documentation

◆ value_

template<int Level, int Name, class T , class V = T>
storage_type net::socket_option::option_base< Level, Name, T, V >::value_
private

The documentation for this class was generated from the following file: