Bitcoin Core 32.99.0
P2P Digital Currency
Loading...
Searching...
No Matches
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.
 
void read (std::span< std::byte > dst)
 
template<typename T >
BufferedReader & operator>> (T &&obj)
 

Private Attributes

S & m_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 651 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 659 of file streams.h.

Here is the call graph for this function:

Member Function Documentation

◆ operator>>()

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

Definition at line 680 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 663 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 654 of file streams.h.

◆ m_buf_pos

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

Definition at line 655 of file streams.h.

◆ m_src

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

Definition at line 653 of file streams.h.


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