mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-04-15 10:07:41 +02:00
refactor: inline CCoinsViewBacked implementation
`CCoinsViewBacked` is a simple delegating wrapper around another `CCoinsView`. Inline its one-line overrides in `coins.h` so the view hierarchy can be read without jumping between `coins.h` and `coins.cpp`.
This commit is contained in:
@@ -14,17 +14,6 @@ TRACEPOINT_SEMAPHORE(utxocache, add);
|
||||
TRACEPOINT_SEMAPHORE(utxocache, spent);
|
||||
TRACEPOINT_SEMAPHORE(utxocache, uncache);
|
||||
|
||||
CCoinsViewBacked::CCoinsViewBacked(CCoinsView* in_view) : base(in_view) { }
|
||||
std::optional<Coin> CCoinsViewBacked::GetCoin(const COutPoint& outpoint) const { return base->GetCoin(outpoint); }
|
||||
std::optional<Coin> CCoinsViewBacked::PeekCoin(const COutPoint& outpoint) const { return base->PeekCoin(outpoint); }
|
||||
bool CCoinsViewBacked::HaveCoin(const COutPoint& outpoint) const { return base->HaveCoin(outpoint); }
|
||||
uint256 CCoinsViewBacked::GetBestBlock() const { return base->GetBestBlock(); }
|
||||
std::vector<uint256> CCoinsViewBacked::GetHeadBlocks() const { return base->GetHeadBlocks(); }
|
||||
void CCoinsViewBacked::SetBackend(CCoinsView& in_view) { base = &in_view; }
|
||||
void CCoinsViewBacked::BatchWrite(CoinsViewCacheCursor& cursor, const uint256& block_hash) { base->BatchWrite(cursor, block_hash); }
|
||||
std::unique_ptr<CCoinsViewCursor> CCoinsViewBacked::Cursor() const { return base->Cursor(); }
|
||||
size_t CCoinsViewBacked::EstimateSize() const { return base->EstimateSize(); }
|
||||
|
||||
CoinsViewEmpty& CoinsViewEmpty::Get()
|
||||
{
|
||||
static CoinsViewEmpty instance;
|
||||
|
||||
22
src/coins.h
22
src/coins.h
@@ -374,16 +374,18 @@ protected:
|
||||
CCoinsView* base;
|
||||
|
||||
public:
|
||||
CCoinsViewBacked(CCoinsView* in_view);
|
||||
std::optional<Coin> GetCoin(const COutPoint& outpoint) const override;
|
||||
std::optional<Coin> PeekCoin(const COutPoint& outpoint) const override;
|
||||
bool HaveCoin(const COutPoint& outpoint) const override;
|
||||
uint256 GetBestBlock() const override;
|
||||
std::vector<uint256> GetHeadBlocks() const override;
|
||||
void SetBackend(CCoinsView& in_view);
|
||||
void BatchWrite(CoinsViewCacheCursor& cursor, const uint256& block_hash) override;
|
||||
std::unique_ptr<CCoinsViewCursor> Cursor() const override;
|
||||
size_t EstimateSize() const override;
|
||||
explicit CCoinsViewBacked(CCoinsView* in_view) : base{Assert(in_view)} {}
|
||||
|
||||
void SetBackend(CCoinsView& in_view) { base = &in_view; }
|
||||
|
||||
std::optional<Coin> GetCoin(const COutPoint& outpoint) const override { return base->GetCoin(outpoint); }
|
||||
std::optional<Coin> PeekCoin(const COutPoint& outpoint) const override { return base->PeekCoin(outpoint); }
|
||||
bool HaveCoin(const COutPoint& outpoint) const override { return base->HaveCoin(outpoint); }
|
||||
uint256 GetBestBlock() const override { return base->GetBestBlock(); }
|
||||
std::vector<uint256> GetHeadBlocks() const override { return base->GetHeadBlocks(); }
|
||||
void BatchWrite(CoinsViewCacheCursor& cursor, const uint256& block_hash) override { base->BatchWrite(cursor, block_hash); }
|
||||
std::unique_ptr<CCoinsViewCursor> Cursor() const override { return base->Cursor(); }
|
||||
size_t EstimateSize() const override { return base->EstimateSize(); }
|
||||
};
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user