Bitcoin Core 28.99.0
P2P Digital Currency
Public Member Functions | Public Attributes | Friends | List of all members
cluster_linearize::SetInfo< SetType > Struct Template Reference

A set of transactions together with their aggregate feerate. More...

#include <cluster_linearize.h>

Collaboration diagram for cluster_linearize::SetInfo< SetType >:
[legend]

Public Member Functions

 SetInfo () noexcept=default
 Construct a SetInfo for the empty set. More...
 
 SetInfo (const SetType &txn, const FeeFrac &fr) noexcept
 Construct a SetInfo for a specified set and feerate. More...
 
 SetInfo (const DepGraph< SetType > &depgraph, ClusterIndex pos) noexcept
 Construct a SetInfo for a given transaction in a depgraph. More...
 
 SetInfo (const DepGraph< SetType > &depgraph, const SetType &txn) noexcept
 Construct a SetInfo for a set of transactions in a depgraph. More...
 
void Set (const DepGraph< SetType > &depgraph, ClusterIndex pos) noexcept
 Add a transaction to this SetInfo (which must not yet be in it). More...
 
SetInfooperator|= (const SetInfo &other) noexcept
 Add the transactions of other to this SetInfo (no overlap allowed). More...
 
SetInfo Add (const DepGraph< SetType > &depgraph, const SetType &txn) const noexcept
 Construct a new SetInfo equal to this, with more transactions added (which may overlap with the existing transactions in the SetInfo). More...
 

Public Attributes

SetType transactions
 The transactions in the set. More...
 
FeeFrac feerate
 Their combined fee and size. More...
 

Friends

void swap (SetInfo &a, SetInfo &b) noexcept
 Swap two SetInfo objects. More...
 
bool operator== (const SetInfo &, const SetInfo &) noexcept=default
 Permit equality testing. More...
 

Detailed Description

template<typename SetType>
struct cluster_linearize::SetInfo< SetType >

A set of transactions together with their aggregate feerate.

Definition at line 316 of file cluster_linearize.h.

Constructor & Destructor Documentation

◆ SetInfo() [1/4]

template<typename SetType >
cluster_linearize::SetInfo< SetType >::SetInfo ( )
defaultnoexcept

Construct a SetInfo for the empty set.

◆ SetInfo() [2/4]

template<typename SetType >
cluster_linearize::SetInfo< SetType >::SetInfo ( const SetType &  txn,
const FeeFrac fr 
)
inlinenoexcept

Construct a SetInfo for a specified set and feerate.

Definition at line 327 of file cluster_linearize.h.

◆ SetInfo() [3/4]

template<typename SetType >
cluster_linearize::SetInfo< SetType >::SetInfo ( const DepGraph< SetType > &  depgraph,
ClusterIndex  pos 
)
inlineexplicitnoexcept

Construct a SetInfo for a given transaction in a depgraph.

Definition at line 330 of file cluster_linearize.h.

◆ SetInfo() [4/4]

template<typename SetType >
cluster_linearize::SetInfo< SetType >::SetInfo ( const DepGraph< SetType > &  depgraph,
const SetType &  txn 
)
inlineexplicitnoexcept

Construct a SetInfo for a set of transactions in a depgraph.

Definition at line 334 of file cluster_linearize.h.

Member Function Documentation

◆ Add()

template<typename SetType >
SetInfo cluster_linearize::SetInfo< SetType >::Add ( const DepGraph< SetType > &  depgraph,
const SetType &  txn 
) const
inlinenoexcept

Construct a new SetInfo equal to this, with more transactions added (which may overlap with the existing transactions in the SetInfo).

Definition at line 356 of file cluster_linearize.h.

◆ operator|=()

template<typename SetType >
SetInfo & cluster_linearize::SetInfo< SetType >::operator|= ( const SetInfo< SetType > &  other)
inlinenoexcept

Add the transactions of other to this SetInfo (no overlap allowed).

Definition at line 346 of file cluster_linearize.h.

◆ Set()

template<typename SetType >
void cluster_linearize::SetInfo< SetType >::Set ( const DepGraph< SetType > &  depgraph,
ClusterIndex  pos 
)
inlinenoexcept

Add a transaction to this SetInfo (which must not yet be in it).

Definition at line 338 of file cluster_linearize.h.

Here is the caller graph for this function:

Friends And Related Function Documentation

◆ operator==

template<typename SetType >
bool operator== ( const SetInfo< SetType > &  ,
const SetInfo< SetType > &   
)
friend

Permit equality testing.

◆ swap

template<typename SetType >
void swap ( SetInfo< SetType > &  a,
SetInfo< SetType > &  b 
)
friend

Swap two SetInfo objects.

Definition at line 362 of file cluster_linearize.h.

Member Data Documentation

◆ feerate

template<typename SetType >
FeeFrac cluster_linearize::SetInfo< SetType >::feerate

Their combined fee and size.

Definition at line 321 of file cluster_linearize.h.

◆ transactions

template<typename SetType >
SetType cluster_linearize::SetInfo< SetType >::transactions

The transactions in the set.

Definition at line 319 of file cluster_linearize.h.


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