[#cluster_linearize]
= cluster&lowbar;linearize
:mrdocs:

Algorithms and data structures for ordering (linearizing) clusters of dependent transactions&period;

== Types

[cols="1,4"]
|===
| Name| Description
| xref:cluster_linearize/DepGraph.adoc[`DepGraph`] 
| Data structure that holds a transaction graph&apos;s preprocessed data (fee, size, ancestors, descendants)&period;
| xref:cluster_linearize/SFLDefaultCostModel.adoc[`SFLDefaultCostModel`] 
| A default cost model for SFL for SetType&equals;BitSet&lt;64&gt;, based on benchmarks&period;
| xref:cluster_linearize/SetInfo.adoc[`SetInfo`] 
| A set of transactions together with their aggregate feerate&period;
| xref:cluster_linearize/SpanningForestState.adoc[`SpanningForestState`] 
| Class to represent the internal state of the spanning&hyphen;forest linearization (SFL) algorithm&period;
|===


== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:cluster_linearize/DepGraphIndex.adoc[`DepGraphIndex`] 
| Data type to represent transaction indices in DepGraphs and the clusters they represent&period;
| xref:cluster_linearize/IndexTxOrder.adoc[`IndexTxOrder`] 
| Simple default transaction ordering function for SpanningForestState&colon;&colon;GetLinearization() and Linearize(), which just sorts by DepGraphIndex&period;
|===


== Functions

[cols="1,4"]
|===
| Name| Description
| xref:cluster_linearize/ChunkLinearization.adoc[`ChunkLinearization`] 
| Compute the feerates of the chunks of linearization&period; Identical to ChunkLinearizationInfo, but only returns the chunk feerates, not the corresponding transaction sets&period;
| xref:cluster_linearize/ChunkLinearizationInfo.adoc[`ChunkLinearizationInfo`] 
| Compute the chunks of linearization as SetInfos&period;
| xref:cluster_linearize/Linearize.adoc[`Linearize`] 
| Find or improve a linearization for a cluster&period;
| xref:cluster_linearize/PostLinearize.adoc[`PostLinearize`] 
| Improve a given linearization&period;
| xref:cluster_linearize/swap.adoc[`swap`] 
| Swap two SetInfo objects&period;
| xref:cluster_linearize/operator_eq-01.adoc[`operator&equals;&equals;`] 
| Equality operators
|===


== Concepts

[cols="1,4"]
|===
| Name| Description
| xref:cluster_linearize/StrongComparator.adoc[`StrongComparator`] 
| Concept for function objects that return std&colon;&colon;strong&lowbar;ordering when invoked with two Args&period;
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
