[#uint160]
= uint160
:mrdocs:

160&hyphen;bit opaque blob&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class uint160
    : public xref:base_blob-09.adoc[base&lowbar;blob&lt;160&gt;]
----

== Description

[NOTE]
====
This type is called uint160 for historical reasons only&period; It is an opaque blob of 160 bits and has no integer operations&period;

====

== Base Classes

[cols="1,4"]
|===
| Name| Description
| `xref:base_blob-09.adoc[base&lowbar;blob&lt;160&gt;]`
| Template base class for fixed&hyphen;sized opaque blobs&period;
|===

== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:uint160/2constructor-08.adoc[`uint160`]         [.small]#[constructor]#
| Constructors
| xref:uint160/GetHex.adoc[`GetHex`] 
| The hex representation used by GetHex(), ToString(), and FromHex() is unusual, since it shows bytes of the base&lowbar;blob in reverse order&period; For example, a 4&hyphen;byte blob &lcub;0x12, 0x34, 0x56, 0x78&rcub; is represented as &quot;78563412&quot; instead of the more typical &quot;12345678&quot; representation that would be shown in a hex editor or used by typical byte&hyphen;array &sol; hex conversion functions like python&apos;s bytes&period;hex() and bytes&period;fromhex()&period;
| xref:uint160/GetUint64.adoc[`GetUint64`] 
| Reads a 64&hyphen;bit little&hyphen;endian word from the blob at a byte offset&period;
| xref:uint160/IsNull.adoc[`IsNull`] 
| Returns true if every byte of the blob is zero&period;
| xref:uint160/Serialize.adoc[`Serialize`] 
| Serializes the blob&apos;s raw bytes to a stream&period;
| xref:uint160/SetNull.adoc[`SetNull`] 
| Sets every byte of the blob to zero&period;
| xref:uint160/ToString.adoc[`ToString`] 
| Returns the blob as a hex string in reverse byte order&period;
| xref:uint160/Unserialize.adoc[`Unserialize`] 
| Deserializes the blob&apos;s raw bytes from a stream&period;
| xref:uint160/begin-0a.adoc[`begin`] 
| Returns a pointer to the first byte of the blob&period;
| xref:uint160/data-0e.adoc[`data`] 
| Returns a pointer to the blob&apos;s raw bytes&period;
| xref:uint160/end-0c.adoc[`end`] 
| Returns a pointer just past the last byte of the blob&period;
| xref:uint160/operator_eq.adoc[`operator&equals;&equals;`] 
| Compares two blobs for byte&hyphen;wise equality&period;
| xref:uint160/operator_3way.adoc[`operator&lt;&equals;&gt;`] 
| Lexicographic ordering
|===


== Static Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:uint160/FromHex.adoc[`FromHex`] 
| Parses a uint160 from a hex string&period;
| xref:uint160/size.adoc[`size`] 
| Returns the size of the blob in bytes&period;
|===


== Protected Data Members

[cols="1,4"]
|===
| Name| Description
| xref:uint160/m_data.adoc[`m&lowbar;data`] 
| Fixed&hyphen;size byte storage holding the blob&apos;s raw bytes&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:Hash160.adoc[`Hash160`]
| Compute the 160&hyphen;bit hash an object&period;
| xref:RIPEMD160.adoc[`RIPEMD160`]
| Compute the 160&hyphen;bit RIPEMD&hyphen;160 hash of an array&period;
|===

== Derived Classes

[cols="1,4"]
|===
| Name| Description
| xref:CKeyID.adoc[`CKeyID`] 
| A reference to a CKey&colon; the Hash160 of its serialized public key
|===


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