Master Core  v0.0.9 - 2abfd2849db8ba7a83957c64eb976b406713c123
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Public Member Functions | Private Attributes | Friends | List of all members
CChain Class Reference

An in-memory indexed chain of blocks. More...

#include <main.h>

+ Collaboration diagram for CChain:

Public Member Functions

CBlockIndexGenesis () const
 Returns the index entry for the genesis block of this chain, or NULL if none. More...
 
CBlockIndexTip () const
 Returns the index entry for the tip of this chain, or NULL if none. More...
 
CBlockIndexoperator[] (int nHeight) const
 Returns the index entry at a particular height in this chain, or NULL if no such height exists. More...
 
bool Contains (const CBlockIndex *pindex) const
 Efficiently check whether a block is present in this chain. More...
 
CBlockIndexNext (const CBlockIndex *pindex) const
 Find the successor of a block in this chain, or NULL if the given index is not found or is the tip. More...
 
int Height () const
 Return the maximal height in the chain. More...
 
CBlockIndexSetTip (CBlockIndex *pindex)
 Set/initialize a chain with a given tip. More...
 
CBlockLocator GetLocator (const CBlockIndex *pindex=NULL) const
 Return a CBlockLocator that refers to a block in this chain (by default the tip). More...
 
CBlockIndexFindFork (const CBlockLocator &locator) const
 Find the last common block between this chain and a locator. More...
 

Private Attributes

std::vector< CBlockIndex * > vChain
 

Friends

bool operator== (const CChain &a, const CChain &b)
 Compare two chains efficiently. More...
 

Detailed Description

An in-memory indexed chain of blocks.

Definition at line 1001 of file main.h.

Member Function Documentation

bool CChain::Contains ( const CBlockIndex pindex) const
inline

Efficiently check whether a block is present in this chain.

Definition at line 1030 of file main.h.

References CBlockIndex::nHeight.

Referenced by ActivateBestChain(), FindMostWorkChain(), CMerkleTx::GetDepthInMainChainINTERNAL(), CWallet::GetKeyBirthTimes(), load_most_relevant_state(), Next(), ProcessGetData(), and TxToJSON().

+ Here is the caller graph for this function:

CBlockIndex * CChain::FindFork ( const CBlockLocator locator) const

Find the last common block between this chain and a locator.

Definition at line 399 of file main.cpp.

References CBlockLocator::vHave.

Referenced by AppInit2(), and ProcessMessage().

+ Here is the caller graph for this function:

CBlockIndex* CChain::Genesis ( ) const
inline

Returns the index entry for the genesis block of this chain, or NULL if none.

Definition at line 1007 of file main.h.

Referenced by AppInit2(), importprivkey(), InitBlockIndex(), and PrintBlockTree().

+ Here is the caller graph for this function:

CBlockLocator CChain::GetLocator ( const CBlockIndex pindex = NULL) const

Return a CBlockLocator that refers to a block in this chain (by default the tip).

Definition at line 372 of file main.cpp.

References CBlockIndex::GetBlockHash(), CBlockIndex::nHeight, and CBlockIndex::pprev.

Referenced by AppInit2(), PushGetBlocks(), Shutdown(), and UpdateTip().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int CChain::Height ( ) const
inline
CBlockIndex* CChain::Next ( const CBlockIndex pindex) const
inline

Find the successor of a block in this chain, or NULL if the given index is not found or is the tip.

Definition at line 1035 of file main.h.

References Contains(), and CBlockIndex::nHeight.

Referenced by blockToJSON(), CBlockIndex::GetMedianTime(), PrintBlockTree(), ProcessMessage(), CWallet::ScanForWalletTransactions(), and VerifyDB().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

CBlockIndex* CChain::operator[] ( int  nHeight) const
inline

Returns the index entry at a particular height in this chain, or NULL if no such height exists.

Definition at line 1017 of file main.h.

CBlockIndex * CChain::SetTip ( CBlockIndex pindex)

Set/initialize a chain with a given tip.

Returns the forking point.

Definition at line 359 of file main.cpp.

References CBlockIndex::nHeight, and CBlockIndex::pprev.

Referenced by FindMostWorkChain(), LoadBlockIndexDB(), UnloadBlockIndex(), and UpdateTip().

+ Here is the caller graph for this function:

CBlockIndex* CChain::Tip ( ) const
inline

Friends And Related Function Documentation

bool operator== ( const CChain a,
const CChain b 
)
friend

Compare two chains efficiently.

Definition at line 1024 of file main.h.

Member Data Documentation

std::vector<CBlockIndex*> CChain::vChain
private

Definition at line 1003 of file main.h.


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