[#BloombergLP-bdlc-PackedIntArrayImp_Unsigned]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlc.adoc[bdlc]::PackedIntArrayImp&lowbar;Unsigned
:relfileprefix: ../../
:mrdocs:

This `struct` provides a namespace for types and methods used to implement a space&hyphen;efficient value&hyphen;semantic array class representing a sequence of `TYPE` elements&semi; `TYPE` must be convertible to either a `bsl&colon;&colon;uint64&lowbar;t`&period; Specifically, it defines the types used to store the array&apos;s data, methods needed to externalize and unexternalize the array, and a method to determine the storage size to use for a given value&period;

== Synopsis

Declared in `&lt;bdlc&lowbar;packedintarray&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
struct PackedIntArrayImp&lowbar;Unsigned;
----

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlc/PackedIntArrayImp_Unsigned/EightByteStorageType.adoc[`EightByteStorageType`] 
| Storage type for eight&hyphen;byte unsigned packed elements&period;
| xref:BloombergLP/bdlc/PackedIntArrayImp_Unsigned/FourByteStorageType.adoc[`FourByteStorageType`] 
| Storage type for four&hyphen;byte unsigned packed elements&period;
| xref:BloombergLP/bdlc/PackedIntArrayImp_Unsigned/OneByteStorageType.adoc[`OneByteStorageType`] 
| Storage type for one&hyphen;byte unsigned packed elements&period;
| xref:BloombergLP/bdlc/PackedIntArrayImp_Unsigned/TwoByteStorageType.adoc[`TwoByteStorageType`] 
| Storage type for two&hyphen;byte unsigned packed elements&period;
|===


== Static Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlc/PackedIntArrayImp_Unsigned/bdexGet16.adoc[`bdexGet16`] 
| Read from the specified `stream` the specified `variable` as per the requirements of the BDEX protocol&period;
| xref:BloombergLP/bdlc/PackedIntArrayImp_Unsigned/bdexGet32.adoc[`bdexGet32`] 
| Read from the specified `stream` the specified `variable` as per the requirements of the BDEX protocol&period;
| xref:BloombergLP/bdlc/PackedIntArrayImp_Unsigned/bdexGet64.adoc[`bdexGet64`] 
| Read from the specified `stream` the specified `variable` as per the requirements of the BDEX protocol&period;
| xref:BloombergLP/bdlc/PackedIntArrayImp_Unsigned/bdexGet8.adoc[`bdexGet8`] 
| Read from the specified `stream` the specified `variable` as per the requirements of the BDEX protocol&period;
| xref:BloombergLP/bdlc/PackedIntArrayImp_Unsigned/bdexPut16.adoc[`bdexPut16`] 
| Write to the specified `stream` the specified `value` as per the requirements of the BDEX protocol&period;
| xref:BloombergLP/bdlc/PackedIntArrayImp_Unsigned/bdexPut32.adoc[`bdexPut32`] 
| Write to the specified `stream` the specified `value` as per the requirements of the BDEX protocol&period;
| xref:BloombergLP/bdlc/PackedIntArrayImp_Unsigned/bdexPut64.adoc[`bdexPut64`] 
| Write to the specified `stream` the specified `value` as per the requirements of the BDEX protocol&period;
| xref:BloombergLP/bdlc/PackedIntArrayImp_Unsigned/bdexPut8.adoc[`bdexPut8`] 
| Write to the specified `stream` the specified `value` as per the requirements of the BDEX protocol&period;
| xref:BloombergLP/bdlc/PackedIntArrayImp_Unsigned/requiredBytesPerElement.adoc[`requiredBytesPerElement`] 
| Return the required number of bytes to store the specified `value`&period;
|===



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