[#BloombergLP-bdlt-Timetable_CompactableTransition]
= xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlt.adoc[bdlt]::Timetable&lowbar;CompactableTransition
:relfileprefix: ../../
:mrdocs:

This simply&hyphen;constrained attribute class represents a state transition, implemented as a time for when the transition occurs, and a code to indicate the new state&period;

== Synopsis

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

[source,cpp,subs="verbatim,replacements,macros,-callouts"]
----
class Timetable&lowbar;CompactableTransition;
----

== Enums

[cols="1"]
|===
| Name
| xref:BloombergLP/bdlt/Timetable_CompactableTransition/_04enum.adoc[`Unnamed enum`] 
|===


== Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlt/Timetable_CompactableTransition/2constructor-07.adoc[`Timetable&lowbar;CompactableTransition`]         [.small]#[constructor]#
| Constructors
| xref:BloombergLP/bdlt/Timetable_CompactableTransition/operator_assign.adoc[`operator&equals;`] 
| Assign to this object the value of the specified `rhs` compactable transition, and return a reference providing modifiable access to this object&period;
| xref:BloombergLP/bdlt/Timetable_CompactableTransition/code.adoc[`code`] 
| Return the code of this compactable transition&period;
| xref:BloombergLP/bdlt/Timetable_CompactableTransition/print.adoc[`print`] 
| Format this object to the specified output `stream` at the (absolute value of) the optionally specified indentation `level` and return a reference to the modifiable `stream`&period; If `level` is specified, optionally specify `spacesPerLevel`, 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;
| xref:BloombergLP/bdlt/Timetable_CompactableTransition/time.adoc[`time`] 
| Return the time of this compactable transition&period;
|===


== Friends

[cols="1,4"]
|===
| Name| Description
| `xref:BloombergLP/bdlt/Timetable_Day.adoc[BloombergLP::bdlt::Timetable&lowbar;Day]`
| This class implements a value&hyphen;semantic repository of time&hyphen;indexed state transitions over one date (this class implements one day of a timetable)&period; A `Timetable&lowbar;Day` can be &quot;populated&quot; with state transitions via the `addTransition` method, and queried for the transition code in effect at a specified time via the `transitionCodeInEffect` method&period; Note that, as an optimization for the `transitionCodeInEffect` method, the transition code in effect before the first possible transition is stored in `d&lowbar;initialTransitionCode`&period;
| `xref:BloombergLP/bdlt/Timetable.adoc[BloombergLP::bdlt::Timetable]`
| This class implements a value&hyphen;semantic repository of datetime&hyphen;indexed state transitions over a _valid_ _range_ of dates&period; This valid range, `&lsqb;firstDate() &period;&period; lastDate()&rsqb;`, spans the first and last dates of a timetable&apos;s accessible contents&period; A timetable can be &quot;populated&quot; with state transitions via a suite of &quot;add&quot; methods&period; Note that the behavior of requesting _any_ timetable information for a supplied date whose value is outside the current _valid_ _range_ for that timetable is undefined&period;
|===

== Non-Member Functions

[cols="1,4"]
|===
| Name| Description
| xref:BloombergLP/bdlt/operator_not_eq-07c6.adoc[`operator!&equals;`]
| Return `true` if the specified `lhs` and `rhs` compactable transitions do not have the same value, and `false` otherwise&period; Two compactable transitions do not have the same value if they do not have the same time or the same code&period;
| xref:BloombergLP/bdlt/operator_lt-08a.adoc[`operator&lt;`]
| Return `true` if the specified `lhs` has a value less than the specified `rhs`, and `false` otherwise&period; Compactable transition `lhs` has a value less than time `rhs` if `lhs&period;time() &lt; rhs`&period; The behavior is undefined unless `24 &gt; rhs&period;hour()`&period;
| xref:BloombergLP/bdlt/operator_lt-0b.adoc[`operator&lt;`]
| Return `true` if the specified `lhs` has a value less than the specified `rhs`, and `false` otherwise&period; Compactable transition `lhs` has a value less than compactable transition `rhs` if `lhs&period;time() &lt; rhs&period;time()`, or `lhs&period;time() &equals;&equals; rhs&period;time()` and `lhs&period;code() &lt; rhs&period;code()`&period;
| xref:BloombergLP/bdlt/operator_eq-06d.adoc[`operator&equals;&equals;`]
| Return `true` if the specified `lhs` and `rhs` compactable transitions have the same value, and `false` otherwise&period; Two compactable transitions have the same value if they have the same time and code&period;
|===


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