xrpld
Loading...
Searching...
No Matches
xrpl::ZeroCopyInputStream< Buffers > Class Template Reference

Implements ZeroCopyInputStream around a buffer sequence. More...

#include <ZeroCopyStream.h>

Inheritance diagram for xrpl::ZeroCopyInputStream< Buffers >:
Collaboration diagram for xrpl::ZeroCopyInputStream< Buffers >:

Public Member Functions

 ZeroCopyInputStream (Buffers const &buffers)
bool Next (void const **data, int *size) override
void BackUp (int count) override
bool Skip (int count) override
google::protobuf::int64 ByteCount () const override

Private Types

using iterator = Buffers::const_iterator
using const_buffer = boost::asio::const_buffer

Private Attributes

google::protobuf::int64 count_ = 0
iterator last_
iterator first_
const_buffer pos_

Detailed Description

template<class Buffers>
class xrpl::ZeroCopyInputStream< Buffers >

Implements ZeroCopyInputStream around a buffer sequence.

Template Parameters
BuffersA type meeting the requirements of ConstBufferSequence.
See also
https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.io.zero_copy_stream

Definition at line 17 of file ZeroCopyStream.h.

Member Typedef Documentation

◆ iterator

template<class Buffers>
using xrpl::ZeroCopyInputStream< Buffers >::iterator = Buffers::const_iterator
private

Definition at line 20 of file ZeroCopyStream.h.

◆ const_buffer

template<class Buffers>
using xrpl::ZeroCopyInputStream< Buffers >::const_buffer = boost::asio::const_buffer
private

Definition at line 21 of file ZeroCopyStream.h.

Constructor & Destructor Documentation

◆ ZeroCopyInputStream()

template<class Buffers>
xrpl::ZeroCopyInputStream< Buffers >::ZeroCopyInputStream ( Buffers const & buffers)
explicit

Definition at line 50 of file ZeroCopyStream.h.

Member Function Documentation

◆ Next()

template<class Buffers>
bool xrpl::ZeroCopyInputStream< Buffers >::Next ( void const ** data,
int * size )
override

Definition at line 59 of file ZeroCopyStream.h.

◆ BackUp()

template<class Buffers>
void xrpl::ZeroCopyInputStream< Buffers >::BackUp ( int count)
override

Definition at line 72 of file ZeroCopyStream.h.

◆ Skip()

template<class Buffers>
bool xrpl::ZeroCopyInputStream< Buffers >::Skip ( int count)
override

Definition at line 81 of file ZeroCopyStream.h.

◆ ByteCount()

template<class Buffers>
google::protobuf::int64 xrpl::ZeroCopyInputStream< Buffers >::ByteCount ( ) const
nodiscardoverride

Definition at line 41 of file ZeroCopyStream.h.

Member Data Documentation

◆ count_

template<class Buffers>
google::protobuf::int64 xrpl::ZeroCopyInputStream< Buffers >::count_ = 0
private

Definition at line 23 of file ZeroCopyStream.h.

◆ last_

template<class Buffers>
iterator xrpl::ZeroCopyInputStream< Buffers >::last_
private

Definition at line 24 of file ZeroCopyStream.h.

◆ first_

template<class Buffers>
iterator xrpl::ZeroCopyInputStream< Buffers >::first_
private

Definition at line 25 of file ZeroCopyStream.h.

◆ pos_

template<class Buffers>
const_buffer xrpl::ZeroCopyInputStream< Buffers >::pos_
private

Definition at line 26 of file ZeroCopyStream.h.