Bitcoin Core 31.0.0
P2P Digital Currency
Loading...
Searching...
No Matches
CCoinsViewBacked Class Reference

CCoinsView backed by another CCoinsView. More...

#include <coins.h>

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

Public Member Functions

 CCoinsViewBacked (CCoinsView *viewIn)
std::optional< CoinGetCoin (const COutPoint &outpoint) const override
std::optional< CoinPeekCoin (const COutPoint &outpoint) const override
bool HaveCoin (const COutPoint &outpoint) const override
uint256 GetBestBlock () const override
 Retrieve the block hash whose state this CCoinsView currently represents.
std::vector< uint256GetHeadBlocks () const override
void SetBackend (CCoinsView &viewIn)
void BatchWrite (CoinsViewCacheCursor &cursor, const uint256 &hashBlock) override
std::unique_ptr< CCoinsViewCursorCursor () const override
 Get a cursor to iterate over the whole state.
size_t EstimateSize () const override
 Estimate database size (0 if not implemented).
Public Member Functions inherited from CCoinsView
virtual ~CCoinsView ()=default
 As we use CCoinsViews polymorphically, have a virtual destructor.

Protected Attributes

CCoinsViewbase

Detailed Description

CCoinsView backed by another CCoinsView.

Definition at line 347 of file coins.h.

Constructor & Destructor Documentation

◆ CCoinsViewBacked()

CCoinsViewBacked::CCoinsViewBacked ( CCoinsView * viewIn)

Definition at line 33 of file coins.cpp.

Here is the caller graph for this function:

Member Function Documentation

◆ BatchWrite()

void CCoinsViewBacked::BatchWrite ( CoinsViewCacheCursor & cursor,
const uint256 & hashBlock )
overridevirtual

Do a bulk modification (multiple Coin changes + BestBlock change). The passed cursor is used to iterate through the coins.

Reimplemented from CCoinsView.

Reimplemented in CCoinsViewCache.

Definition at line 40 of file coins.cpp.

◆ Cursor()

std::unique_ptr< CCoinsViewCursor > CCoinsViewBacked::Cursor ( ) const
overridevirtual

Get a cursor to iterate over the whole state.

Reimplemented from CCoinsView.

Reimplemented in CCoinsViewCache.

Definition at line 41 of file coins.cpp.

◆ EstimateSize()

size_t CCoinsViewBacked::EstimateSize ( ) const
overridevirtual

Estimate database size (0 if not implemented).

Reimplemented from CCoinsView.

Definition at line 42 of file coins.cpp.

Here is the caller graph for this function:

◆ GetBestBlock()

uint256 CCoinsViewBacked::GetBestBlock ( ) const
overridevirtual

Retrieve the block hash whose state this CCoinsView currently represents.

Reimplemented from CCoinsView.

Reimplemented in CCoinsViewCache.

Definition at line 37 of file coins.cpp.

◆ GetCoin()

std::optional< Coin > CCoinsViewBacked::GetCoin ( const COutPoint & outpoint) const
overridevirtual

Retrieve the Coin (unspent transaction output) for a given outpoint. May populate the cache. Use PeekCoin() to perform a non-caching lookup.

Reimplemented from CCoinsView.

Reimplemented in CCoinsViewCache, CCoinsViewErrorCatcher, and CCoinsViewMemPool.

Definition at line 34 of file coins.cpp.

Here is the caller graph for this function:

◆ GetHeadBlocks()

std::vector< uint256 > CCoinsViewBacked::GetHeadBlocks ( ) const
overridevirtual

Retrieve the range of blocks that may have been only partially written. If the database is in a consistent state, the result is the empty vector. Otherwise, a two-element vector is returned consisting of the new and the old block hash, in that order.

Reimplemented from CCoinsView.

Definition at line 38 of file coins.cpp.

Here is the caller graph for this function:

◆ HaveCoin()

bool CCoinsViewBacked::HaveCoin ( const COutPoint & outpoint) const
overridevirtual

Just check whether a given outpoint is unspent. May populate the cache. Use PeekCoin() to perform a non-caching lookup.

Reimplemented from CCoinsView.

Reimplemented in CCoinsViewCache, and CCoinsViewErrorCatcher.

Definition at line 36 of file coins.cpp.

Here is the caller graph for this function:

◆ PeekCoin()

std::optional< Coin > CCoinsViewBacked::PeekCoin ( const COutPoint & outpoint) const
overridevirtual

Retrieve the Coin (unspent transaction output) for a given outpoint, without caching results. Does not populate the cache. Use GetCoin() to cache the result.

Reimplemented from CCoinsView.

Reimplemented in CCoinsViewCache, and CCoinsViewErrorCatcher.

Definition at line 35 of file coins.cpp.

Here is the caller graph for this function:

◆ SetBackend()

void CCoinsViewBacked::SetBackend ( CCoinsView & viewIn)

Definition at line 39 of file coins.cpp.

Here is the caller graph for this function:

Member Data Documentation

◆ base

CCoinsView* CCoinsViewBacked::base
protected

Definition at line 350 of file coins.h.


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