8#ifndef INCLUDED_BALTZO_LOCALTIMEDESCRIPTOR
9#define INCLUDED_BALTZO_LOCALTIMEDESCRIPTOR
153#include <balscm_version.h>
168#include <bsl_algorithm.h>
169#include <bsl_iosfwd.h>
170#include <bsl_string.h>
189 int d_utcOffsetInSeconds;
191 bool d_dstInEffectFlag;
354 bsl::ostream&
print(bsl::ostream& stream,
356 int spacesPerLevel = 4)
const;
407 return value >= -86399 && value <= 86399;
413: d_utcOffsetInSeconds(0)
414, d_dstInEffectFlag(false)
421: d_utcOffsetInSeconds(0)
422, d_dstInEffectFlag(false)
423, d_description(
bslma::AllocatorUtil::adapt(allocator))
429 int utcOffsetInSeconds,
430 bool dstInEffectFlag,
433: d_utcOffsetInSeconds(utcOffsetInSeconds)
434, d_dstInEffectFlag(dstInEffectFlag)
435, d_description(description.begin(),
437 bslma::AllocatorUtil::adapt(allocator))
445: d_utcOffsetInSeconds(original.d_utcOffsetInSeconds)
446, d_dstInEffectFlag(original.d_dstInEffectFlag)
447, d_description(original.d_description,
bslma::AllocatorUtil::adapt(allocator))
467: d_utcOffsetInSeconds(
bslmf::MovableRefUtil::move(
468 bslmf::MovableRefUtil::access(original).d_utcOffsetInSeconds))
469, d_dstInEffectFlag(
bslmf::MovableRefUtil::move(
470 bslmf::MovableRefUtil::access(original).d_dstInEffectFlag))
472 bslmf::MovableRefUtil::move(
473 bslmf::MovableRefUtil::access(original).d_description),
474 bslma::AllocatorUtil::adapt(allocator))
490 d_description = rhs.d_description;
492 d_utcOffsetInSeconds = rhs.d_utcOffsetInSeconds;
493 d_dstInEffectFlag = rhs.d_dstInEffectFlag;
525 d_dstInEffectFlag = value;
533 d_utcOffsetInSeconds = value;
552 return d_description;
558 return d_dstInEffectFlag;
564 return d_utcOffsetInSeconds;
578 return bslma::AATypeUtil::getAllocatorFromSubobject<allocator_type>(
587 const LocalTimeDescriptor& rhs)
589 return lhs.utcOffsetInSeconds() == rhs.utcOffsetInSeconds()
590 && lhs.dstInEffectFlag() == rhs.dstInEffectFlag()
591 && lhs.description() == rhs.description();
596 const LocalTimeDescriptor& rhs)
598 return lhs.utcOffsetInSeconds() !=
rhs.utcOffsetInSeconds()
599 ||
lhs.dstInEffectFlag() !=
rhs.dstInEffectFlag()
600 ||
lhs.description() !=
rhs.description();
605void baltzo::swap(LocalTimeDescriptor& a, LocalTimeDescriptor& b)
Definition baltzo_localtimedescriptor.h:186
const bsl::string & description() const
Definition baltzo_localtimedescriptor.h:550
bsl::allocator allocator_type
Definition baltzo_localtimedescriptor.h:202
static bool isValidUtcOffsetInSeconds(int value)
Definition baltzo_localtimedescriptor.h:405
friend void swap(LocalTimeDescriptor &, LocalTimeDescriptor &)
BSLMF_NESTED_TRAIT_DECLARATION(LocalTimeDescriptor, bslmf::IsBitwiseMoveable)
LocalTimeDescriptor & operator=(const LocalTimeDescriptor &rhs)
Definition baltzo_localtimedescriptor.h:487
void setDescription(const bsl::string_view &value)
Definition baltzo_localtimedescriptor.h:517
void setDstInEffectFlag(bool value)
Definition baltzo_localtimedescriptor.h:523
void setUtcOffsetInSeconds(int value)
Definition baltzo_localtimedescriptor.h:529
bslma::Allocator * allocator() const
Definition baltzo_localtimedescriptor.h:570
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
~LocalTimeDescriptor()
Destroy this object.
Definition baltzo_localtimedescriptor.h:480
LocalTimeDescriptor()
Definition baltzo_localtimedescriptor.h:412
bool dstInEffectFlag() const
Definition baltzo_localtimedescriptor.h:556
allocator_type get_allocator() const
Definition baltzo_localtimedescriptor.h:576
int utcOffsetInSeconds() const
Definition baltzo_localtimedescriptor.h:562
Definition bslma_bslallocator.h:588
BloombergLP::bslma::Allocator * mechanism() const
Definition bslma_bslallocator.h:1146
Definition bslstl_stringview.h:471
BSLS_KEYWORD_CONSTEXPR const_iterator end() const BSLS_KEYWORD_NOEXCEPT
Return the past-the-end iterator for this view.
Definition bslstl_stringview.h:1848
BSLS_KEYWORD_CONSTEXPR const_iterator begin() const BSLS_KEYWORD_NOEXCEPT
Definition bslstl_stringview.h:1830
Definition bslstl_string.h:1252
basic_string & assign(const basic_string &replacement)
Definition bslstl_string.h:6347
static void swap(T *a, T *b)
Definition bslalg_swaputil.h:182
Definition bslma_allocator.h:545
Definition bslmf_movableref.h:752
#define BSLS_ASSERT(X)
Definition bsls_assert.h:1976
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
#define BSLS_KEYWORD_NOEXCEPT
Definition bsls_keyword.h:674
Definition baltzo_datafileloader.h:259
bool operator==(const LocalDatetime &lhs, const LocalDatetime &rhs)
void swap(LocalDatetime &a, LocalDatetime &b)
bool operator!=(const LocalDatetime &lhs, const LocalDatetime &rhs)
bsl::ostream & operator<<(bsl::ostream &stream, DstPolicy::Enum value)
ALLOCATOR const STRING_VIEW_LIKE_TYPE & rhs
Definition bslstl_string.h:3918
ALLOCATOR & lhs
Definition bslstl_string.h:3917
Definition baljsn_encoder_testtypes.h:76
Definition bdlbb_blob.h:579
Definition bslmf_isbitwisemoveable.h:718
static MovableRef< t_TYPE > move(t_TYPE &reference) BSLS_KEYWORD_NOEXCEPT
Definition bslmf_movableref.h:1067
static t_TYPE & access(t_TYPE &ref) BSLS_KEYWORD_NOEXCEPT
Definition bslmf_movableref.h:1039