PIVX Core  5.6.99
P2P Digital Currency
Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
CDBTransactionIterator< CDBTransaction > Class Template Reference

#include <dbwrapper.h>

Collaboration diagram for CDBTransactionIterator< CDBTransaction >:
[legend]

Public Member Functions

 CDBTransactionIterator (CDBTransaction &_transaction, int _nVersion)
 
void SeekToFirst ()
 
template<typename K >
void Seek (const K &key)
 
void Seek (const CDataStream &ssKey)
 
bool Valid ()
 
void Next ()
 
template<typename K >
bool GetKey (K &key)
 
CDataStream GetKey ()
 
template<typename V >
bool GetValue (V &value)
 

Private Types

typedef std::remove_pointer< decltype(transaction.parent.NewIterator())>::type ParentIterator
 

Private Member Functions

void SkipDeletedAndOverwritten ()
 
void DecideCur ()
 

Private Attributes

CDBTransactiontransaction
 
CDBTransaction::WritesMap::iterator transactionIt
 
std::unique_ptr< ParentIteratorparentIt
 
CDataStream parentKey
 
int nVersion
 
bool curIsParent {false}
 

Detailed Description

template<typename CDBTransaction>
class CDBTransactionIterator< CDBTransaction >

Definition at line 388 of file dbwrapper.h.

Member Typedef Documentation

◆ ParentIterator

template<typename CDBTransaction >
typedef std::remove_pointer<decltype(transaction.parent.NewIterator())>::type CDBTransactionIterator< CDBTransaction >::ParentIterator
private

Definition at line 393 of file dbwrapper.h.

Constructor & Destructor Documentation

◆ CDBTransactionIterator()

template<typename CDBTransaction >
CDBTransactionIterator< CDBTransaction >::CDBTransactionIterator ( CDBTransaction _transaction,
int  _nVersion 
)
inline

Definition at line 406 of file dbwrapper.h.

Member Function Documentation

◆ DecideCur()

template<typename CDBTransaction >
void CDBTransactionIterator< CDBTransaction >::DecideCur ( )
inlineprivate

Definition at line 515 of file dbwrapper.h.

Here is the caller graph for this function:

◆ GetKey() [1/2]

template<typename CDBTransaction >
CDataStream CDBTransactionIterator< CDBTransaction >::GetKey ( )
inline

Definition at line 478 of file dbwrapper.h.

Here is the call graph for this function:

◆ GetKey() [2/2]

template<typename CDBTransaction >
template<typename K >
bool CDBTransactionIterator< CDBTransaction >::GetKey ( K &  key)
inline
Todo:
try to avoid this copy (we need a stream that allows reading from external buffers)

Definition at line 458 of file dbwrapper.h.

Here is the call graph for this function:

◆ GetValue()

template<typename CDBTransaction >
template<typename V >
bool CDBTransactionIterator< CDBTransaction >::GetValue ( V &  value)
inline

Definition at line 491 of file dbwrapper.h.

Here is the call graph for this function:

◆ Next()

template<typename CDBTransaction >
void CDBTransactionIterator< CDBTransaction >::Next ( )
inline

Definition at line 441 of file dbwrapper.h.

Here is the call graph for this function:

◆ Seek() [1/2]

template<typename CDBTransaction >
void CDBTransactionIterator< CDBTransaction >::Seek ( const CDataStream ssKey)
inline

Definition at line 428 of file dbwrapper.h.

Here is the call graph for this function:

◆ Seek() [2/2]

template<typename CDBTransaction >
template<typename K >
void CDBTransactionIterator< CDBTransaction >::Seek ( const K &  key)
inline

Definition at line 423 of file dbwrapper.h.

Here is the call graph for this function:

◆ SeekToFirst()

template<typename CDBTransaction >
void CDBTransactionIterator< CDBTransaction >::SeekToFirst ( )
inline

Definition at line 414 of file dbwrapper.h.

Here is the call graph for this function:

◆ SkipDeletedAndOverwritten()

template<typename CDBTransaction >
void CDBTransactionIterator< CDBTransaction >::SkipDeletedAndOverwritten ( )
inlineprivate

Definition at line 504 of file dbwrapper.h.

Here is the caller graph for this function:

◆ Valid()

template<typename CDBTransaction >
bool CDBTransactionIterator< CDBTransaction >::Valid ( )
inline

Definition at line 436 of file dbwrapper.h.

Here is the caller graph for this function:

Member Data Documentation

◆ curIsParent

template<typename CDBTransaction >
bool CDBTransactionIterator< CDBTransaction >::curIsParent {false}
private

Definition at line 403 of file dbwrapper.h.

◆ nVersion

template<typename CDBTransaction >
int CDBTransactionIterator< CDBTransaction >::nVersion
private

Definition at line 402 of file dbwrapper.h.

◆ parentIt

template<typename CDBTransaction >
std::unique_ptr<ParentIterator> CDBTransactionIterator< CDBTransaction >::parentIt
private

Definition at line 400 of file dbwrapper.h.

◆ parentKey

template<typename CDBTransaction >
CDataStream CDBTransactionIterator< CDBTransaction >::parentKey
private

Definition at line 401 of file dbwrapper.h.

◆ transaction

template<typename CDBTransaction >
CDBTransaction& CDBTransactionIterator< CDBTransaction >::transaction
private

Definition at line 391 of file dbwrapper.h.

◆ transactionIt

template<typename CDBTransaction >
CDBTransaction::WritesMap::iterator CDBTransactionIterator< CDBTransaction >::transactionIt
private

Definition at line 399 of file dbwrapper.h.


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