MySQL 8.0.32
Source Code Documentation
classic_protocol::PartialBufferSequence< BufferSequence > Class Template Reference

partial buffer sequence. More...

#include <partial_buffer_sequence.h>

Public Types

using buffer_sequence_type = BufferSequence
 
using sequence_type = std::vector< net::const_buffer >
 

Public Member Functions

 PartialBufferSequence (const buffer_sequence_type &seq)
 
sequence_type prepare (size_t n) const noexcept
 prepare a buffer-sequence for consumption. More...
 
void consume (size_t n) noexcept
 consume n bytes of buffer-sequence. More...
 
size_t total_consumed () const noexcept
 

Private Attributes

const BufferSequence & seq_
 
decltype(net::buffer_sequence_begin(seq_)) seq_cur_
 
const decltype(net::buffer_sequence_begin(seq_)) seq_end_
 
size_t pos_ {}
 
size_t consumed_ {}
 

Detailed Description

template<class BufferSequence>
class classic_protocol::PartialBufferSequence< BufferSequence >

partial buffer sequence.

a sub-range of a buffer-sequence which returns a buffer-sequence itself.

  • consume() moves the position in the buffer-sequence forward.
  • prepare() returns a buffer-sequence from the current position up to n bytes (or end of sequence)

Member Typedef Documentation

◆ buffer_sequence_type

template<class BufferSequence >
using classic_protocol::PartialBufferSequence< BufferSequence >::buffer_sequence_type = BufferSequence

◆ sequence_type

template<class BufferSequence >
using classic_protocol::PartialBufferSequence< BufferSequence >::sequence_type = std::vector<net::const_buffer>

Constructor & Destructor Documentation

◆ PartialBufferSequence()

template<class BufferSequence >
classic_protocol::PartialBufferSequence< BufferSequence >::PartialBufferSequence ( const buffer_sequence_type seq)
inline

Member Function Documentation

◆ consume()

template<class BufferSequence >
void classic_protocol::PartialBufferSequence< BufferSequence >::consume ( size_t  n)
inlinenoexcept

consume n bytes of buffer-sequence.

moves the position in the buffer-sequence forward.

◆ prepare()

template<class BufferSequence >
sequence_type classic_protocol::PartialBufferSequence< BufferSequence >::prepare ( size_t  n) const
inlinenoexcept

prepare a buffer-sequence for consumption.

skips empty buffers.

◆ total_consumed()

template<class BufferSequence >
size_t classic_protocol::PartialBufferSequence< BufferSequence >::total_consumed ( ) const
inlinenoexcept

Member Data Documentation

◆ consumed_

template<class BufferSequence >
size_t classic_protocol::PartialBufferSequence< BufferSequence >::consumed_ {}
private

◆ pos_

template<class BufferSequence >
size_t classic_protocol::PartialBufferSequence< BufferSequence >::pos_ {}
private

◆ seq_

template<class BufferSequence >
const BufferSequence& classic_protocol::PartialBufferSequence< BufferSequence >::seq_
private

◆ seq_cur_

template<class BufferSequence >
decltype(net::buffer_sequence_begin(seq_)) classic_protocol::PartialBufferSequence< BufferSequence >::seq_cur_
private

◆ seq_end_

template<class BufferSequence >
const decltype(net::buffer_sequence_begin(seq_)) classic_protocol::PartialBufferSequence< BufferSequence >::seq_end_
private

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