[#BloombergLP-bdlt-MonthOfYear]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlt.adoc[bdlt]::MonthOfYear
:relfileprefix: ../../
:mrdocs:

This `struct` provides a namespace for enumerating month&hyphen;of&hyphen;year values&period; See `Enum` in the TYPES sub&hyphen;section for details&period;

== Synopsis

Declared in `&lt;bdlt&lowbar;monthofyear&period;h&gt;`

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

== Description

This `struct`&colon; &ast; supports a complete set of _enumeration_ operations For terminology see `bsldoc&lowbar;glossary`&period;

== Type Aliases

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlt/MonthOfYear/Month.adoc[`Month`] 
| Define an alias, `Month`, to the enum type, `Enum` defined by this component&period;
|===


== Enums

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlt/MonthOfYear/_04enum.adoc[`Unnamed enum`] 
| Define `k&lowbar;NUM&lowbar;MONTHS` to be the number of consecutively valued enumerators in the range `&lsqb; e&lowbar;JAN &period;&period; e&lowbar;DEC &rsqb;`&period;
| xref:BloombergLP/bdlt/MonthOfYear/Enum.adoc[`Enum`] 
| Define the list of month&hyphen;of&hyphen;year values&period;
|===


== Static Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlt/MonthOfYear/bdexStreamIn.adoc[`bdexStreamIn`] 
| Assign to the specified `variable` the value read from the specified input `stream` using the specified `version` format, and return a reference to `stream`&period; If `stream` is initially invalid, this operation has no effect&period; If `version` is not supported, `variable` is unaltered and `stream` is invalidated, but otherwise unmodified&period; If `version` is supported but `stream` becomes invalid during this operation, `variable` has an undefined, but valid, state&period; Note that no version is read from `stream`&period; See the `bslx` package&hyphen;level documentation for more information on BDEX streaming of value&hyphen;semantic types and containers&period;
| xref:BloombergLP/bdlt/MonthOfYear/bdexStreamOut.adoc[`bdexStreamOut`] 
| Write the value of the specified `value`, using the specified `version` format, to the specified output `stream`, and return a reference to `stream`&period; If `stream` is initially invalid, this operation has no effect&period; If `version` is not supported, `stream` is invalidated, but otherwise unmodified&period; Note that `version` is not written to `stream`&period; See the `bslx` package&hyphen;level documentation for more information on BDEX streaming of value&hyphen;semantic types and containers&period;
| xref:BloombergLP/bdlt/MonthOfYear/maxSupportedBdexVersion-0b.adoc[`maxSupportedBdexVersion`] 
| `maxSupportedBdexVersion` overloads
| xref:BloombergLP/bdlt/MonthOfYear/print.adoc[`print`] 
| Write the string representation of the specified enumeration `value` to the specified output `stream`, and return a reference to `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; See `toAscii` for what constitutes the string representation of a `MonthOfYear&colon;&colon;Enum` value&period;
| xref:BloombergLP/bdlt/MonthOfYear/toAscii.adoc[`toAscii`] 
| Return the non&hyphen;modifiable string representation corresponding to the specified enumeration `value`, if it exists, and a unique (error) string otherwise&period; The string representation of `value` matches the first 3 characters of its corresponding enumerator name with the &quot;e&lowbar;&quot; prefix elided&period; For example&colon; &grave; bsl&colon;&colon;cout &lt;&lt; bdlt&colon;&colon;MonthOfYear&colon;&colon;toAscii( bdlt&colon;&colon;MonthOfYear&colon;&colon;e&lowbar;JANUARY)&semi; &grave; will print the following on standard output&colon; &grave; JAN &grave; Note that specifying a `value` that does not match any of the enumerators will result in a string representation that is distinct from any of those corresponding to the enumerators, but is otherwise unspecified&period;
|===



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