MySQL 8.3.0
Source Code Documentation
classic_protocol::impl::EncodeBase< T > Class Template Reference

CRTP base for the Codec's encode part. More...

#include <classic_protocol_codec_base.h>

Inheritance diagram for classic_protocol::impl::EncodeBase< T >:
[legend]

Public Member Functions

constexpr EncodeBase (capabilities::value_type caps)
 
constexpr size_t size () const noexcept
 
stdx::expected< size_t, std::error_code > encode (net::mutable_buffer buffer) const
 
constexpr capabilities::value_type caps () const noexcept
 

Private Attributes

const capabilities::value_type caps_
 

Detailed Description

template<class T>
class classic_protocol::impl::EncodeBase< T >

CRTP base for the Codec's encode part.

derived classes must provide a 'accumulate_fields()' which maps each field by the Mapper and returns the result

used by .size() and .encode() as both have to process the same fields in the same order, just with different mappers

Constructor & Destructor Documentation

◆ EncodeBase()

template<class T >
constexpr classic_protocol::impl::EncodeBase< T >::EncodeBase ( capabilities::value_type  caps)
inlineexplicitconstexpr

Member Function Documentation

◆ caps()

template<class T >
constexpr capabilities::value_type classic_protocol::impl::EncodeBase< T >::caps ( ) const
inlineconstexprnoexcept

◆ encode()

template<class T >
stdx::expected< size_t, std::error_code > classic_protocol::impl::EncodeBase< T >::encode ( net::mutable_buffer  buffer) const
inline

◆ size()

template<class T >
constexpr size_t classic_protocol::impl::EncodeBase< T >::size ( ) const
inlineconstexprnoexcept

Member Data Documentation

◆ caps_

template<class T >
const capabilities::value_type classic_protocol::impl::EncodeBase< T >::caps_
private

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