rippled
Public Member Functions | Private Types | Private Attributes | List of all members
ripple::ZeroCopyInputStream< Buffers > Class Template Reference

Implements ZeroCopyInputStream around a buffer sequence. More...

Inheritance diagram for ripple::ZeroCopyInputStream< Buffers >:
Inheritance graph
[legend]
Collaboration diagram for ripple::ZeroCopyInputStream< Buffers >:
Collaboration graph
[legend]

Public Member Functions

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

Private Types

using iterator = typename 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 ripple::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 35 of file ZeroCopyStream.h.

Member Typedef Documentation

◆ iterator

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

Definition at line 38 of file ZeroCopyStream.h.

◆ const_buffer

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

Definition at line 39 of file ZeroCopyStream.h.

Constructor & Destructor Documentation

◆ ZeroCopyInputStream()

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

Definition at line 68 of file ZeroCopyStream.h.

Member Function Documentation

◆ Next()

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

Definition at line 77 of file ZeroCopyStream.h.

◆ BackUp()

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

Definition at line 90 of file ZeroCopyStream.h.

◆ Skip()

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

Definition at line 99 of file ZeroCopyStream.h.

◆ ByteCount()

template<class Buffers >
google::protobuf::int64 ripple::ZeroCopyInputStream< Buffers >::ByteCount ( ) const
override

Definition at line 59 of file ZeroCopyStream.h.

Member Data Documentation

◆ count_

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

Definition at line 41 of file ZeroCopyStream.h.

◆ last_

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

Definition at line 42 of file ZeroCopyStream.h.

◆ first_

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

Definition at line 43 of file ZeroCopyStream.h.

◆ pos_

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

Definition at line 44 of file ZeroCopyStream.h.