Bitcoin Core  26.99.0
P2P Digital Currency
Public Member Functions | Private Attributes | List of all members
CDataStream Class Reference

#include <streams.h>

Inheritance diagram for CDataStream:
[legend]
Collaboration diagram for CDataStream:
[legend]

Public Member Functions

 CDataStream (int nTypeIn, int nVersionIn)
 
 CDataStream (Span< const uint8_t > sp, int type, int version)
 
 CDataStream (Span< const value_type > sp, int nTypeIn, int nVersionIn)
 
int GetType () const
 
void SetVersion (int n)
 
int GetVersion () const
 
template<typename T >
CDataStreamoperator<< (const T &obj)
 
template<typename T >
CDataStreamoperator>> (T &&obj)
 
- Public Member Functions inherited from DataStream
 DataStream ()
 
 DataStream (Span< const uint8_t > sp)
 
 DataStream (Span< const value_type > sp)
 
std::string str () const
 
const_iterator begin () const
 
iterator begin ()
 
const_iterator end () const
 
iterator end ()
 
size_type size () const
 
bool empty () const
 
void resize (size_type n, value_type c=value_type{})
 
void reserve (size_type n)
 
const_reference operator[] (size_type pos) const
 
reference operator[] (size_type pos)
 
void clear ()
 
value_typedata ()
 
const value_typedata () const
 
void Compact ()
 
bool Rewind (std::optional< size_type > n=std::nullopt)
 
bool eof () const
 
int in_avail () const
 
void read (Span< value_type > dst)
 
void ignore (size_t num_ignore)
 
void write (Span< const value_type > src)
 
template<typename T >
DataStreamoperator<< (const T &obj)
 
template<typename T >
DataStreamoperator>> (T &&obj)
 
void Xor (const std::vector< unsigned char > &key)
 XOR the contents of this stream with a certain key. More...
 

Private Attributes

int nType
 
int nVersion
 

Additional Inherited Members

- Public Types inherited from DataStream
typedef vector_type::allocator_type allocator_type
 
typedef vector_type::size_type size_type
 
typedef vector_type::difference_type difference_type
 
typedef vector_type::reference reference
 
typedef vector_type::const_reference const_reference
 
typedef vector_type::value_type value_type
 
typedef vector_type::iterator iterator
 
typedef vector_type::const_iterator const_iterator
 
typedef vector_type::reverse_iterator reverse_iterator
 
- Protected Types inherited from DataStream
using vector_type = SerializeData
 
- Protected Attributes inherited from DataStream
vector_type vch
 
vector_type::size_type m_read_pos {0}
 

Detailed Description

Definition at line 282 of file streams.h.

Constructor & Destructor Documentation

◆ CDataStream() [1/3]

CDataStream::CDataStream ( int  nTypeIn,
int  nVersionIn 
)
inlineexplicit

Definition at line 289 of file streams.h.

◆ CDataStream() [2/3]

CDataStream::CDataStream ( Span< const uint8_t >  sp,
int  type,
int  version 
)
inlineexplicit

Definition at line 293 of file streams.h.

◆ CDataStream() [3/3]

CDataStream::CDataStream ( Span< const value_type sp,
int  nTypeIn,
int  nVersionIn 
)
inlineexplicit

Definition at line 294 of file streams.h.

Member Function Documentation

◆ GetType()

int CDataStream::GetType ( ) const
inline

Definition at line 299 of file streams.h.

◆ GetVersion()

int CDataStream::GetVersion ( ) const
inline

Definition at line 301 of file streams.h.

◆ operator<<()

template<typename T >
CDataStream& CDataStream::operator<< ( const T obj)
inline

Definition at line 304 of file streams.h.

Here is the call graph for this function:

◆ operator>>()

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

Definition at line 311 of file streams.h.

Here is the call graph for this function:

◆ SetVersion()

void CDataStream::SetVersion ( int  n)
inline

Definition at line 300 of file streams.h.

Here is the caller graph for this function:

Member Data Documentation

◆ nType

int CDataStream::nType
private

Definition at line 285 of file streams.h.

◆ nVersion

int CDataStream::nVersion
private

Definition at line 286 of file streams.h.


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