Quick Links:

bal | bbl | bdl | bsl

Public Types | Public Member Functions | Static Public Member Functions | Friends

baltzo::LocalTimeDescriptor Class Reference

#include <baltzo_localtimedescriptor.h>

List of all members.

Public Types

typedef bsl::allocator< char > allocator_type

Public Member Functions

 BSLMF_NESTED_TRAIT_DECLARATION (LocalTimeDescriptor, bslma::UsesBslmaAllocator)
 BSLMF_NESTED_TRAIT_DECLARATION (LocalTimeDescriptor, bslmf::IsBitwiseMoveable)
 LocalTimeDescriptor ()
 LocalTimeDescriptor (const allocator_type &allocator)
 LocalTimeDescriptor (int utcOffsetInSeconds, bool dstInEffectFlag, const bsl::string_view &description, const allocator_type &allocator=allocator_type())
 LocalTimeDescriptor (const LocalTimeDescriptor &original, const allocator_type &allocator=allocator_type())
 LocalTimeDescriptor (bslmf::MovableRef< LocalTimeDescriptor > original) BSLS_KEYWORD_NOEXCEPT
 LocalTimeDescriptor (bslmf::MovableRef< LocalTimeDescriptor > original, const allocator_type &allocator)
 ~LocalTimeDescriptor ()
LocalTimeDescriptoroperator= (const LocalTimeDescriptor &rhs)
LocalTimeDescriptoroperator= (bslmf::MovableRef< LocalTimeDescriptor > rhs)
void setDescription (const bsl::string_view &value)
void setDstInEffectFlag (bool value)
void setUtcOffsetInSeconds (int value)
void swap (LocalTimeDescriptor &other)
const bsl::stringdescription () const
bool dstInEffectFlag () const
int utcOffsetInSeconds () const
bslma::Allocatorallocator () const
allocator_type get_allocator () const
bsl::ostream & print (bsl::ostream &stream, int level=0, int spacesPerLevel=4) const

Static Public Member Functions

static bool isValidUtcOffsetInSeconds (int value)

Friends

void swap (LocalTimeDescriptor &, LocalTimeDescriptor &)

Detailed Description

This simply constrained (value-semantic) attribute class characterizes a subset of local time values. See the Attributes section under @DESCRIPTION in the component-level documentation for information on the class attributes. Note that the class invariants are identically the constraints on the individual attributes.

See Component baltzo_localtimedescriptor


Member Typedef Documentation


Constructor & Destructor Documentation

baltzo::LocalTimeDescriptor::LocalTimeDescriptor (  ) 
baltzo::LocalTimeDescriptor::LocalTimeDescriptor ( const allocator_type allocator  )  [explicit]

Create a LocalTimeDescriptor object having the (default) attribute values:

          utcOffsetInSeconds() == 0
          dstInEffectFlag()    == false
          description()        == ""

Optionally specify an allocator (e.g., the address of a bslma::Allocator object) to supply memory; otherwise, the default allocator is used.

baltzo::LocalTimeDescriptor::LocalTimeDescriptor ( int  utcOffsetInSeconds,
bool  dstInEffectFlag,
const bsl::string_view &  description,
const allocator_type allocator = allocator_type() 
)

Create a LocalTimeDescriptor object having the specified utcOffsetInSeconds, dstInEffectFlag, and description 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 -86339 <= utcOffsetInSeconds <= 86399.

baltzo::LocalTimeDescriptor::LocalTimeDescriptor ( const LocalTimeDescriptor original,
const allocator_type allocator = allocator_type() 
)

Create a LocalTimeDescriptor object having 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::LocalTimeDescriptor::LocalTimeDescriptor ( bslmf::MovableRef< LocalTimeDescriptor original  ) 

Create a LocalTimeDescriptor 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::LocalTimeDescriptor::LocalTimeDescriptor ( bslmf::MovableRef< LocalTimeDescriptor original,
const allocator_type allocator 
)

Create a LocalTimeDescriptor 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::LocalTimeDescriptor::~LocalTimeDescriptor (  ) 

Destroy this object.


Member Function Documentation

baltzo::LocalTimeDescriptor::BSLMF_NESTED_TRAIT_DECLARATION ( LocalTimeDescriptor  ,
bslma::UsesBslmaAllocator   
)
baltzo::LocalTimeDescriptor::BSLMF_NESTED_TRAIT_DECLARATION ( LocalTimeDescriptor  ,
bslmf::IsBitwiseMoveable   
)
static bool baltzo::LocalTimeDescriptor::isValidUtcOffsetInSeconds ( int  value  )  [static]

Return true if the specified value is in the range [-86399 .. 86399], and false otherwise.

LocalTimeDescriptor& baltzo::LocalTimeDescriptor::operator= ( const LocalTimeDescriptor rhs  ) 

Assign to this object the value of the specified rhs object, and return a non-'const' reference to this object.

LocalTimeDescriptor& baltzo::LocalTimeDescriptor::operator= ( bslmf::MovableRef< LocalTimeDescriptor 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::LocalTimeDescriptor::setDescription ( const bsl::string_view &  value  ) 

Set the description attribute of this object to the specified value. Note that value is not canonical, and is intended for debugging only.

void baltzo::LocalTimeDescriptor::setDstInEffectFlag ( bool  value  ) 

Set the dstInEffectFlag attribute of this object to the specified value. Note that true implies Daylight-Saving Time (DST) is in effect.

void baltzo::LocalTimeDescriptor::setUtcOffsetInSeconds ( int  value  ) 

Set the utcOffsetInSeconds attribute of this object to the specified value. The behavior is undefined unless -86399 <= value <= 86399.

void baltzo::LocalTimeDescriptor::swap ( LocalTimeDescriptor 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.

const bsl::string& baltzo::LocalTimeDescriptor::description (  )  const

Return a const reference to the description attribute of this object. Note that description is not canonical, and is intended for debugging only.

bool baltzo::LocalTimeDescriptor::dstInEffectFlag (  )  const

Return the value of the dstInEffectFlag attribute of this object. Note that true implies Daylight-Saving Time (DST) is in effect.

int baltzo::LocalTimeDescriptor::utcOffsetInSeconds (  )  const

Return the value of the utcOffsetInSeconds attribute of this object. Note that this value is in the range [-86399 .. 86399].

bslma::Allocator* baltzo::LocalTimeDescriptor::allocator (  )  const

DEPRECATED: Use get_allocator() instead.

Return get_allocator().mechanism().

allocator_type baltzo::LocalTimeDescriptor::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.

bsl::ostream& baltzo::LocalTimeDescriptor::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 non-'const' 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.


Friends And Related Function Documentation

void swap ( LocalTimeDescriptor ,
LocalTimeDescriptor  
) [friend]

Exchange the values of the specified a and b objects. This function provides the no-throw exception-safety guarantee if the two objects were created with the same allocator and the basic guarantee otherwise.


The documentation for this class was generated from the following file: