Quick Links: |
#include <baltzo_localtimeperiod.h>
This complex-constrained (value-semantic) attribute class describes a range of time in which a particular local time description (offset, DST status, and a descriptive string) is in effect. See the Attributes section under @DESCRIPTION in the component-level documentation. Note that the class invariants are identically the constraints on the attributes.
See Component baltzo_localtimeperiod
typedef bsl::allocator<char> baltzo::LocalTimePeriod::allocator_type |
baltzo::LocalTimePeriod::LocalTimePeriod | ( | ) |
baltzo::LocalTimePeriod::LocalTimePeriod | ( | const allocator_type & | allocator | ) | [explicit] |
Create a LocalTimePeriod
object having the (default) attribute values:
descriptor() == LocalTimeDescriptor() utcStartTime() == bdlt::Datetime() utcEndTime() == bdlt::Datetime()
Optionally specify an allocator
(e.g., the address of a bslma::Allocator
object) to supply memory; otherwise, the default allocator is used.
baltzo::LocalTimePeriod::LocalTimePeriod | ( | const LocalTimeDescriptor & | descriptor, | |
const bdlt::Datetime & | utcStartTime, | |||
const bdlt::Datetime & | utcEndTime, | |||
const allocator_type & | allocator = allocator_type() | |||
) |
Create a LocalTimePeriod
object having the specified descriptor
, utcStartTime
, and utcEndTime
attribute values. Optionally specify an allocator
(e.g., the address of a bslma::Allocator
object) to supply memory; otherwise, the default allocator is used. The behavior is undefined unless utcStartTime == utcEndTime
, or if utcStartTime
and utcEndTime
are comparable (i.e., neither equals the a default constructed bdlt::DateTime
object) unless utcStartTime < utcEndTime
. (See the isValidUtcStartAndEndTime
method.)
baltzo::LocalTimePeriod::LocalTimePeriod | ( | const LocalTimePeriod & | original, | |
const allocator_type & | allocator = allocator_type() | |||
) |
Create a LocalTimePeriod
object with the same value as the specified original
object. Optionally specify an allocator
(e.g., the address of a bslma::Allocator
object) to supply memory; otherwise, the default allocator is used.
baltzo::LocalTimePeriod::LocalTimePeriod | ( | bslmf::MovableRef< LocalTimePeriod > | original | ) |
Create a LocalTimePeriod
object having the same value and the same allocator as the specified original
object. The value of original
becomes unspecified but valid, and its allocator remains unchanged.
baltzo::LocalTimePeriod::LocalTimePeriod | ( | bslmf::MovableRef< LocalTimePeriod > | original, | |
const allocator_type & | allocator | |||
) |
Create a LocalTimePeriod
object having the same value as the specified original
object, using the specified allocator
(e.g., the address of a bslma::Allocator
object) to supply memory. The allocator of original
remains unchanged. If original
and the newly created object have the same allocator then the value of original
becomes unspecified but valid, and no exceptions will be thrown; otherwise original
is unchanged and an exception may be thrown.
baltzo::LocalTimePeriod::~LocalTimePeriod | ( | ) |
Destroy this object.
baltzo::LocalTimePeriod::BSLMF_NESTED_TRAIT_DECLARATION | ( | LocalTimePeriod | , | |
bslma::UsesBslmaAllocator | ||||
) |
baltzo::LocalTimePeriod::BSLMF_NESTED_TRAIT_DECLARATION | ( | LocalTimePeriod | , | |
bslmf::IsBitwiseMoveable | ||||
) |
static bool baltzo::LocalTimePeriod::isValidUtcStartAndEndTime | ( | const bdlt::Datetime & | utcStartTime, | |
const bdlt::Datetime & | utcEndTime | |||
) | [static] |
Return true
if the specified utcStartTime
and utcEndTime
have the same value, or if utcStartTime
and utcEndTime
are comparable (i.e., neither has the value of a default-constructed bdlt::DateTime
object) and utcStartTime < utcEndTime
; return false
otherwise.
LocalTimePeriod& baltzo::LocalTimePeriod::operator= | ( | const LocalTimePeriod & | rhs | ) |
Assign to this object the value of the specified rhs
object, and return a reference providing modifiable access to this object.
LocalTimePeriod& baltzo::LocalTimePeriod::operator= | ( | bslmf::MovableRef< LocalTimePeriod > | rhs | ) |
Assign to this object the value of the specified rhs
object, and return a non-'const' reference to this object. The allocators of this object and rhs
both remain unchanged. If rhs
and this object have the same allocator then the value of rhs
becomes unspecified but valid, and no exceptions will be thrown; otherwise rhs
is unchanged (and an exception may be thrown).
void baltzo::LocalTimePeriod::setDescriptor | ( | const LocalTimeDescriptor & | value | ) |
Set the descriptor
attribute to the specified value
.
void baltzo::LocalTimePeriod::setUtcStartAndEndTime | ( | const bdlt::Datetime & | utcStartTime, | |
const bdlt::Datetime & | utcEndTime | |||
) |
Use the specified utcStartTime
and utcEndTime
to set the utcStartTime
and utcEndTime
attributes of this object respectively. The behavior is undefined unless utcStartTime == utcEndTime
, or if utcStartTime
and utcEndTime
are comparable (i.e., neither equals a default constructed bdlt::DateTime
object) unless utcStartTime < utcEndTime
. (See the isValidUtcStartAndEndTime
method.)
void baltzo::LocalTimePeriod::swap | ( | LocalTimePeriod & | other | ) |
Efficiently exchange the value of this object with the value of the specified other
object. This method provides the no-throw exception-safety guarantee. The behavior is undefined unless this object was created with the same allocator as other
.
bslma::Allocator* baltzo::LocalTimePeriod::allocator | ( | ) | const |
DEPRECATED: Use get_allocator()
instead.
Return get_allocator().mechanism()
.
const LocalTimeDescriptor& baltzo::LocalTimePeriod::descriptor | ( | ) | const |
Return a reference providing non-modifiable access to the descriptor
attribute of this object.
allocator_type baltzo::LocalTimePeriod::get_allocator | ( | ) | const |
Return the allocator used by this object to supply memory. Note that if no allocator was supplied at construction the default allocator in effect at construction is used.
const bdlt::Datetime& baltzo::LocalTimePeriod::utcEndTime | ( | ) | const |
Return a reference providing non-modifiable access to the utcEndTime
attribute of this object.
const bdlt::Datetime& baltzo::LocalTimePeriod::utcStartTime | ( | ) | const |
Return a reference providing non-modifiable access to the utcStartTime
attribute of this object.
bsl::ostream& baltzo::LocalTimePeriod::print | ( | bsl::ostream & | stream, | |
int | level = 0 , |
|||
int | spacesPerLevel = 4 | |||
) | const |
Write the value of this object to the specified output stream
in a human-readable format, and return a reference to stream
. Optionally specify an initial indentation level
, whose absolute value is incremented recursively for nested objects. 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. If level
is negative, suppress indentation of the first line. If spacesPerLevel
is negative, format the entire output on one line, suppressing all but the initial indentation (as governed by level
). If stream
is not valid on entry, this operation has no effect. Note that the format is not fully specified, and can change without notice.