[#BloombergLP-bdld-DatumBinaryRef]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdld.adoc[bdld]::DatumBinaryRef
:relfileprefix: ../../
:mrdocs:

This class provides a type to represent a pointer to non&hyphen;modifiable binary data and an integral size value&period;

== Synopsis

Declared in `&lt;bdld&lowbar;datumbinaryref&period;h&gt;`

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class DatumBinaryRef;
----

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdld/DatumBinaryRef/SizeType.adoc[`SizeType`] 
| `SizeType` is an alias for an unsigned integral value, representing the length of the binary array&period;
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdld/DatumBinaryRef/2constructor-00.adoc[`DatumBinaryRef`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/bdld/DatumBinaryRef/data.adoc[`data`] 
| Return the pointer to the non&hyphen;modifiable binary data&period;
| xref:BloombergLP/bdld/DatumBinaryRef/print.adoc[`print`] 
| Write the value of this object to the specified output `stream` in a human&hyphen;readable format, and return a reference to the modifyable `stream`&period; Optionally specify an initial indentation `level`, whose absolute value is incremented recursively for nested objects&period; If `level` is specified, optionally specify `spacesPerLevel`, whose absolute value indicates the number of spaces per indentation level for this and all of its nested objects&period; If `level` is negative, suppress indentation of the first line&period; If `spacesPerLevel` is negative, format the entire output on one line, suppressing all but the initial indentation (as governed by `level`)&period; If `stream` is not valid on entry, this operation has no effect&period; Note that this human&hyphen;readable format is not fully specified, and can change without notice&period;
| xref:BloombergLP/bdld/DatumBinaryRef/size.adoc[`size`] 
| Return the size of the binary data&period;
| xref:BloombergLP/bdld/DatumBinaryRef/2conversion.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration&lt;DatumBinaryRef, HasPrintMethod&gt;`] 
| `DatumBinaryRef` is trivially copyable&period;
|===


== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdld/operator_not_eq-0a0.adoc[`operator!&equals;`]
| Return `true` if the specified `lhs` and `rhs` have different values, and `true` otherwise&period; Two `DatumBinaryRef` objects have different values if they refer to arrays of bytes of different sizes or having a different content&period;
| xref:BloombergLP/bdld/operator_lt-09b.adoc[`operator&lt;`]
| Return `true` if the specified `lhs` compares smaller than the specified `rhs`, and `false` otherwise&period; A byte comparision is performed using memcpy&period;
| xref:BloombergLP/bdld/operator_le-07.adoc[`operator&lt;&equals;`]
| Return `true` if the specified `lhs` compares smaller than or equal to the specified `rhs`, and `false` otherwise&period; A byte comparision is performed using memcpy&period;
| xref:BloombergLP/bdld/operator_eq-08f.adoc[`operator&equals;&equals;`]
| Return `true` if the specified `lhs` and `rhs` have the same value, and `false` otherwise&period; Two `DatumBinaryRef` objects have the same value if they refer to arrays of bytes of the same size and having the same content&period;
| xref:BloombergLP/bdld/operator_gt-0e.adoc[`operator&gt;`]
| Return `true` if the specified `lhs` compares larger than the specified `rhs`, and `false` otherwise&period; A byte comparision is performed using memcpy&period;
| xref:BloombergLP/bdld/operator_ge-0b5.adoc[`operator&gt;&equals;`]
| Return `true` if the specified `lhs` compares larger than or equal to the specified `rhs`, and `false` otherwise&period; A byte comparision is performed using memcpy&period;
|===


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