[#TxGraph-RemoveTransaction]
= xref:TxGraph.adoc[TxGraph]::RemoveTransaction
:relfileprefix: ../
:mrdocs:

Remove the specified transaction&period; If a staging graph exists, the removal only happens there&period; This is a no&hyphen;op if the transaction was already removed&period;

== Synopsis

Declared in `&lt;txgraph&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
virtual
void
RemoveTransaction(xref:TxGraph/Ref.adoc[Ref] const& arg) noexcept = 0;
----

== Description

TxGraph may internally reorder transaction removals with dependency additions for performance reasons&period; If together with any transaction removal all its descendants, or all its ancestors, are removed as well (which is what always happens in realistic scenarios), this reordering will not affect the behavior of TxGraph&period;

As an example, imagine 3 transactions A,B,C where B depends on A&period; If a dependency of C on B is added, and then B is deleted, C will still depend on A&period; If the deletion of B is reordered before the C&hyphen;&gt;B dependency is added, the dependency adding has no effect&period; If, together with the deletion of B also either A or C is deleted, there is no distinction between the original order case and the reordered case&period;

== Parameters

[cols="1,4"]
|===
| Name| Description
| *arg*
| Reference to the transaction to remove&period;
|===


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