Bitcoin Core 29.99.0
P2P Digital Currency
Public Member Functions | Private Attributes | List of all members
BufferedReader< S > Class Template Reference

Wrapper that buffers reads from an underlying stream. More...

#include <streams.h>

Public Member Functions

 BufferedReader (S &&stream LIFETIMEBOUND, size_t size=1<< 16)
 Requires stream ownership to prevent leaving the stream at an unexpected position after buffered reads. More...
 
void read (std::span< std::byte > dst)
 
template<typename T >
BufferedReaderoperator>> (T &&obj)
 

Private Attributes

Sm_src
 
DataBuffer m_buf
 
size_t m_buf_pos
 

Detailed Description

template<typename S>
class BufferedReader< S >

Wrapper that buffers reads from an underlying stream.

Requires underlying stream to support read() and detail_fread() calls to support fixed-size and variable-sized reads, respectively.

Definition at line 628 of file streams.h.

Constructor & Destructor Documentation

◆ BufferedReader()

template<typename S >
BufferedReader< S >::BufferedReader ( S &&stream  LIFETIMEBOUND,
size_t  size = 1 << 16 
)
inlineexplicit

Requires stream ownership to prevent leaving the stream at an unexpected position after buffered reads.

Definition at line 636 of file streams.h.

Member Function Documentation

◆ operator>>()

template<typename S >
template<typename T >
BufferedReader & BufferedReader< S >::operator>> ( T &&  obj)
inline

Definition at line 657 of file streams.h.

Here is the call graph for this function:

◆ read()

template<typename S >
void BufferedReader< S >::read ( std::span< std::byte >  dst)
inline

Definition at line 640 of file streams.h.

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ m_buf

template<typename S >
DataBuffer BufferedReader< S >::m_buf
private

Definition at line 631 of file streams.h.

◆ m_buf_pos

template<typename S >
size_t BufferedReader< S >::m_buf_pos
private

Definition at line 632 of file streams.h.

◆ m_src

template<typename S >
S& BufferedReader< S >::m_src
private

Definition at line 630 of file streams.h.


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