[#BloombergLP-bdld-operator_lshift-015]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdld.adoc[bdld]::operator&lt;&lt;
:relfileprefix: ../../
:mrdocs:

Write the specified `rhs` datum to the specified output `stream`&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
std::ostream&
operator&lt;&lt;(
    std::ostream& stream,
    xref:BloombergLP/bdld/Datum.adoc[Datum] const& rhs);
----

== Description

Write the specified `rhs` value to the specified output `stream` in the format shown in the second column in the table below (based on the type of value stored, indicated by the first column)&colon; &grave; null &hyphen; nil

bool &hyphen; true&sol;false

DatumError &hyphen; error(code)&sol;error(code, `msg`) where `code` is the integer error code and `msg` is the error description message

int &hyphen; plain integer value

Int64 &hyphen; plain Int64 value

double &hyphen; plain double value

string &hyphen; plain double&hyphen;quoted string value

array &hyphen; &lsqb; elem0, &period;&period;&period;, elemN&rsqb; where elem1&period;&period;elemN are output for individual array elements

int&hyphen;map &hyphen; &lsqb;key0 &equals; val0, &period;&period;&period;, keyN &equals; valN&rsqb; where keyX and valX are respectively key and value of the map entry elements of the map

map &hyphen; &lsqb;key0 &equals; val0, &period;&period;&period;, keyN &equals; valN&rsqb; where keyX and valX are respectively key and value of the map entry elements of the map

bdlt&colon;&colon;Date &hyphen; ddMONyyyy

bdlt&colon;&colon;Time &hyphen; hh&colon;mm&colon;ss&period;sss

bdlt&colon;&colon;Datetime &hyphen; ddMONyyyy&lowbar;hh&colon;mm&colon;ss&period;sss

bdlt&colon;&colon;DatetimeInterval &hyphen; sDD&lowbar;HH&colon;MM&colon;SS&period;SSS (where s is the sign(&plus;&sol;&hyphen;))

DatumUdt &hyphen; user&hyphen;defined(address,type) where `address` is a hex encoded pointer to the user&hyphen;defined object and `type` is its type &grave; and return a reference to the modifiable `stream`&period; The function will have no effect if the specified `stream` is not valid&period;

== Return Value

a reference to `stream`

== Parameters

[cols="1,4"]
|===
| Name| Description
| *stream*
| output stream
| *rhs*
| value to write
|===


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