[#VersionBitsConditionChecker]
= VersionBitsConditionChecker
:mrdocs:

Class to implement versionbits logic&period;

== Synopsis

Declared in `&lt;versionbits&lowbar;impl&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class VersionBitsConditionChecker
    : public xref:AbstractThresholdConditionChecker.adoc[AbstractThresholdConditionChecker]
----

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `xref:AbstractThresholdConditionChecker.adoc[AbstractThresholdConditionChecker]`
| Abstract class that implements BIP9&hyphen;style threshold logic, and caches results&period;
|===

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:VersionBitsConditionChecker/2constructor-05.adoc[`VersionBitsConditionChecker`]         [.small]#[constructor]#
| Constructors
| xref:VersionBitsConditionChecker/Condition-05.adoc[`Condition`] 
| Returns whether a version number signals this deployment&apos;s bit&period;
| xref:AbstractThresholdConditionChecker/GetStateFor.adoc[`GetStateFor`] 
| Returns the state for pindex A based on parent pindexPrev B&period; Applies any state transition if conditions are present&period; Caches state from first block of period&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&hyphen;progress BIP9 softfork in the period including pindex If provided, signalling&lowbar;blocks is set to true&sol;false based on whether each block in the period signalled
| xref:VersionBitsConditionChecker/Mask.adoc[`Mask`] 
| Returns the version bit mask for this deployment&period;
|===


== Protected Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:VersionBitsConditionChecker/BeginTime.adoc[`BeginTime`]  [.small]#[virtual]#
| Returns the deployment&apos;s configured start time&period;
| xref:VersionBitsConditionChecker/Condition-0f.adoc[`Condition`]  [.small]#[virtual]#
| Returns whether the block&apos;s version signals this deployment&apos;s bit&period;
| xref:VersionBitsConditionChecker/EndTime.adoc[`EndTime`]  [.small]#[virtual]#
| Returns the deployment&apos;s configured timeout time&period;
| xref:VersionBitsConditionChecker/MinActivationHeight.adoc[`MinActivationHeight`]  [.small]#[virtual]#
| Returns the deployment&apos;s configured minimum activation height&period;
| xref:VersionBitsConditionChecker/Period.adoc[`Period`]  [.small]#[virtual]#
| Returns the deployment&apos;s configured retarget period length&period;
| xref:VersionBitsConditionChecker/Threshold.adoc[`Threshold`]  [.small]#[virtual]#
| Returns the deployment&apos;s configured signalling threshold&period;
|===



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