Bitcoin Core 31.0.0
P2P Digital Currency
Loading...
Searching...
No Matches
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>
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 629 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 637 of file streams.h.

Here is the caller graph for this function:

Member Function Documentation

◆ operator>>()

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

Definition at line 658 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 641 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 632 of file streams.h.

◆ m_buf_pos

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

Definition at line 633 of file streams.h.

◆ m_src

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

Definition at line 631 of file streams.h.


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