[#CBlockLocator]
= CBlockLocator
:mrdocs:

Describes a place in the block chain to another node such that if the other node doesn&apos;t have the same branch, it can find a recent common trunk&period; The further back it is, the further before the fork it may be&period;

== Synopsis

Declared in `&lt;primitives&sol;block&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
struct CBlockLocator;
----

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:CBlockLocator/2constructor-09.adoc[`CBlockLocator`]         [.small]#[constructor]#
| Constructors
| xref:CBlockLocator/IsNull.adoc[`IsNull`] 
| Returns true when the locator holds no block hashes&period;
| xref:CBlockLocator/SetNull.adoc[`SetNull`] 
| Clears the locator, leaving it empty&period;
|===


== Data Members

[cols="1,4"]
|===
| Name| Description
| xref:CBlockLocator/vHave.adoc[`vHave`] 
| Block hashes, from newest to oldest, with exponentially increasing gaps&period;
|===


== Static Data Members

[cols="1,4"]
|===
| Name| Description
| xref:CBlockLocator/DUMMY_VERSION.adoc[`DUMMY&lowbar;VERSION`] 
| Historically CBlockLocator&apos;s version field has been written to network streams as the negotiated protocol version and to disk streams as the client version, but the value has never been used&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:GetLocator.adoc[`GetLocator`]
| Get a locator for a block index entry&period;
|===


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