Bitcoin ABC  0.26.3
P2P Digital Currency
Public Member Functions | Protected Attributes | Static Protected Attributes | Friends | List of all members
base_blob< BITS > Class Template Reference

Template base class for fixed-sized opaque blobs. More...

#include <uint256.h>

Public Member Functions

constexpr base_blob ()
 
constexpr base_blob (uint8_t v)
 
 base_blob (const std::vector< uint8_t > &vch)
 
bool IsNull () const
 
void SetNull ()
 
int Compare (const base_blob &other) const
 
std::string GetHex () const
 
void SetHex (const char *psz)
 
void SetHex (const std::string &str)
 
std::string ToString () const
 
const uint8_t * data () const
 
uint8_t * data ()
 
uint8_t * begin ()
 
uint8_t * end ()
 
const uint8_t * begin () const
 
const uint8_t * end () const
 
unsigned int size () const
 
uint64_t GetUint64 (int pos) const
 
template<typename Stream >
void Serialize (Stream &s) const
 
template<typename Stream >
void Unserialize (Stream &s)
 

Protected Attributes

uint8_t m_data [WIDTH]
 

Static Protected Attributes

static constexpr int WIDTH = BITS / 8
 

Friends

bool operator== (const base_blob &a, const base_blob &b)
 
bool operator!= (const base_blob &a, const base_blob &b)
 
bool operator< (const base_blob &a, const base_blob &b)
 
bool operator<= (const base_blob &a, const base_blob &b)
 
bool operator> (const base_blob &a, const base_blob &b)
 
bool operator>= (const base_blob &a, const base_blob &b)
 

Detailed Description

template<unsigned int BITS>
class base_blob< BITS >

Template base class for fixed-sized opaque blobs.

Definition at line 16 of file uint256.h.

Constructor & Destructor Documentation

◆ base_blob() [1/3]

template<unsigned int BITS>
constexpr base_blob< BITS >::base_blob ( )
inlineconstexpr

Definition at line 23 of file uint256.h.

◆ base_blob() [2/3]

template<unsigned int BITS>
constexpr base_blob< BITS >::base_blob ( uint8_t  v)
inlineexplicitconstexpr

Definition at line 26 of file uint256.h.

◆ base_blob() [3/3]

template<unsigned int BITS>
base_blob< BITS >::base_blob ( const std::vector< uint8_t > &  vch)
explicit

Definition at line 11 of file uint256.cpp.

Here is the call graph for this function:

Member Function Documentation

◆ begin() [1/2]

template<unsigned int BITS>
uint8_t* base_blob< BITS >::begin ( )
inline

Definition at line 83 of file uint256.h.

◆ begin() [2/2]

template<unsigned int BITS>
const uint8_t* base_blob< BITS >::begin ( ) const
inline

Definition at line 87 of file uint256.h.

◆ Compare()

template<unsigned int BITS>
int base_blob< BITS >::Compare ( const base_blob< BITS > &  other) const
inline

Definition at line 41 of file uint256.h.

◆ data() [1/2]

template<unsigned int BITS>
uint8_t* base_blob< BITS >::data ( )
inline

Definition at line 81 of file uint256.h.

◆ data() [2/2]

template<unsigned int BITS>
const uint8_t* base_blob< BITS >::data ( ) const
inline

Definition at line 80 of file uint256.h.

Here is the caller graph for this function:

◆ end() [1/2]

template<unsigned int BITS>
uint8_t* base_blob< BITS >::end ( )
inline

Definition at line 85 of file uint256.h.

Here is the caller graph for this function:

◆ end() [2/2]

template<unsigned int BITS>
const uint8_t* base_blob< BITS >::end ( ) const
inline

Definition at line 89 of file uint256.h.

◆ GetHex()

template<unsigned int BITS>
std::string base_blob< BITS >::GetHex

Definition at line 16 of file uint256.cpp.

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

◆ GetUint64()

template<unsigned int BITS>
uint64_t base_blob< BITS >::GetUint64 ( int  pos) const
inline

Definition at line 93 of file uint256.h.

Here is the caller graph for this function:

◆ IsNull()

template<unsigned int BITS>
bool base_blob< BITS >::IsNull ( ) const
inline

Definition at line 30 of file uint256.h.

Here is the caller graph for this function:

◆ Serialize()

template<unsigned int BITS>
template<typename Stream >
void base_blob< BITS >::Serialize ( Stream &  s) const
inline

Definition at line 101 of file uint256.h.

◆ SetHex() [1/2]

template<unsigned int BITS>
void base_blob< BITS >::SetHex ( const char *  psz)

Definition at line 24 of file uint256.cpp.

Here is the caller graph for this function:

◆ SetHex() [2/2]

template<unsigned int BITS>
void base_blob< BITS >::SetHex ( const std::string &  str)

Definition at line 55 of file uint256.cpp.

◆ SetNull()

template<unsigned int BITS>
void base_blob< BITS >::SetNull ( )
inline

Definition at line 39 of file uint256.h.

Here is the caller graph for this function:

◆ size()

template<unsigned int BITS>
unsigned int base_blob< BITS >::size ( ) const
inline

Definition at line 91 of file uint256.h.

Here is the caller graph for this function:

◆ ToString()

template<unsigned int BITS>
std::string base_blob< BITS >::ToString ( ) const
inline

Definition at line 78 of file uint256.h.

Here is the call graph for this function:

◆ Unserialize()

template<unsigned int BITS>
template<typename Stream >
void base_blob< BITS >::Unserialize ( Stream &  s)
inline

Definition at line 105 of file uint256.h.

Friends And Related Function Documentation

◆ operator!=

template<unsigned int BITS>
bool operator!= ( const base_blob< BITS > &  a,
const base_blob< BITS > &  b 
)
friend

Definition at line 59 of file uint256.h.

◆ operator<

template<unsigned int BITS>
bool operator< ( const base_blob< BITS > &  a,
const base_blob< BITS > &  b 
)
friend

Definition at line 62 of file uint256.h.

◆ operator<=

template<unsigned int BITS>
bool operator<= ( const base_blob< BITS > &  a,
const base_blob< BITS > &  b 
)
friend

Definition at line 65 of file uint256.h.

◆ operator==

template<unsigned int BITS>
bool operator== ( const base_blob< BITS > &  a,
const base_blob< BITS > &  b 
)
friend

Definition at line 56 of file uint256.h.

◆ operator>

template<unsigned int BITS>
bool operator> ( const base_blob< BITS > &  a,
const base_blob< BITS > &  b 
)
friend

Definition at line 68 of file uint256.h.

◆ operator>=

template<unsigned int BITS>
bool operator>= ( const base_blob< BITS > &  a,
const base_blob< BITS > &  b 
)
friend

Definition at line 71 of file uint256.h.

Member Data Documentation

◆ m_data

template<unsigned int BITS>
uint8_t base_blob< BITS >::m_data[WIDTH]
protected

Definition at line 19 of file uint256.h.

◆ WIDTH

template<unsigned int BITS>
constexpr int base_blob< BITS >::WIDTH = BITS / 8
staticconstexprprotected

Definition at line 18 of file uint256.h.


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