[#AbstractThresholdConditionChecker] = AbstractThresholdConditionChecker :mrdocs: Abstract class that implements BIP9‐style threshold logic, and caches results. == Synopsis Declared in `<versionbits_impl.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- class AbstractThresholdConditionChecker; ---- == Member Functions [cols="1,4"] |=== | Name| Description | xref:AbstractThresholdConditionChecker/2destructor.adoc[`~AbstractThresholdConditionChecker`] [.small]#[destructor]# [.small]#[virtual]# | Defaulted virtual destructor. | xref:AbstractThresholdConditionChecker/GetStateFor.adoc[`GetStateFor`] | Returns the state for pindex A based on parent pindexPrev B. Applies any state transition if conditions are present. Caches state from first block of period. | xref:AbstractThresholdConditionChecker/GetStateSinceHeightFor.adoc[`GetStateSinceHeightFor`] | Returns the height since when the ThresholdState has started for pindex A based on parent pindexPrev B, all blocks of a period share the same | xref:AbstractThresholdConditionChecker/GetStateStatisticsFor.adoc[`GetStateStatisticsFor`] | Returns the numerical statistics of an in‐progress BIP9 softfork in the period including pindex If provided, signalling_blocks is set to true/false based on whether each block in the period signalled |=== == Protected Member Functions [cols="1,4"] |=== | Name| Description | xref:AbstractThresholdConditionChecker/BeginTime.adoc[`BeginTime`] [.small]#[virtual]# | Returns the timestamp at which the deployment may start. | xref:AbstractThresholdConditionChecker/Condition.adoc[`Condition`] [.small]#[virtual]# | Returns whether the deployment's condition is met for a block. | xref:AbstractThresholdConditionChecker/EndTime.adoc[`EndTime`] [.small]#[virtual]# | Returns the timestamp at which the deployment times out. | xref:AbstractThresholdConditionChecker/MinActivationHeight.adoc[`MinActivationHeight`] [.small]#[virtual]# | Returns the earliest height at which the deployment may activate. | xref:AbstractThresholdConditionChecker/Period.adoc[`Period`] [.small]#[virtual]# | Returns the number of blocks in a retarget period. | xref:AbstractThresholdConditionChecker/Threshold.adoc[`Threshold`] [.small]#[virtual]# | Returns the number of signalling blocks required for lock‐in. |=== == Derived Classes [cols="1,4"] |=== | Name| Description | xref:VersionBitsConditionChecker.adoc[`VersionBitsConditionChecker`] | Class to implement versionbits logic. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#