8#ifndef INCLUDED_BDLT_ISO8601UTILCONFIGURATION
9#define INCLUDED_BDLT_ISO8601UTILCONFIGURATION
202#include <bdlscm_version.h>
208#include <bsl_iosfwd.h>
234 k_FRACTIONAL_SECOND_PRECISION_MASK = 0x07,
235 k_OMIT_COLON_IN_ZONE_DESIGNATOR_BIT = 0x08,
236 k_USE_COMMA_FOR_DECIMAL_SIGN_BIT = 0x10,
237 k_USE_Z_ABBREVIATION_FOR_UTC_BIT = 0x20
241 static bsls::AtomicOperations::AtomicTypes::Int
242 s_defaultConfiguration;
245 int d_configurationMask;
352 bsl::ostream&
print(bsl::ostream& stream,
354 int spacesPerLevel = 4)
const;
396: d_configurationMask(configurationMask)
399 & ~(k_FRACTIONAL_SECOND_PRECISION_MASK
400 | k_OMIT_COLON_IN_ZONE_DESIGNATOR_BIT
401 | k_USE_COMMA_FOR_DECIMAL_SIGN_BIT
402 | k_USE_Z_ABBREVIATION_FOR_UTC_BIT)));
414void Iso8601UtilConfiguration::setDefaultConfiguration(
418 configuration.d_configurationMask);
423Iso8601UtilConfiguration::Iso8601UtilConfiguration()
424: d_configurationMask(3)
431: d_configurationMask(original.d_configurationMask)
439 & ~(k_FRACTIONAL_SECOND_PRECISION_MASK
440 | k_OMIT_COLON_IN_ZONE_DESIGNATOR_BIT
441 | k_USE_COMMA_FOR_DECIMAL_SIGN_BIT
442 | k_USE_Z_ABBREVIATION_FOR_UTC_BIT)));
450 d_configurationMask = rhs.d_configurationMask;
459 return d_configurationMask & k_FRACTIONAL_SECOND_PRECISION_MASK;
465 return d_configurationMask & k_OMIT_COLON_IN_ZONE_DESIGNATOR_BIT;
471 return d_configurationMask & k_USE_COMMA_FOR_DECIMAL_SIGN_BIT;
477 return d_configurationMask & k_USE_Z_ABBREVIATION_FOR_UTC_BIT;
485 const Iso8601UtilConfiguration& rhs)
487 return lhs.d_configurationMask == rhs.d_configurationMask;
492 const Iso8601UtilConfiguration& rhs)
494 return lhs.d_configurationMask != rhs.d_configurationMask;
Definition bdlt_iso8601utilconfiguration.h:225
int fractionalSecondPrecision() const
Definition bdlt_iso8601utilconfiguration.h:457
friend bool operator!=(const Iso8601UtilConfiguration &, const Iso8601UtilConfiguration &)
bool omitColonInZoneDesignator() const
Definition bdlt_iso8601utilconfiguration.h:463
bool useCommaForDecimalSign() const
Definition bdlt_iso8601utilconfiguration.h:469
Iso8601UtilConfiguration()
Definition bdlt_iso8601utilconfiguration.h:423
void setFractionalSecondPrecision(int value)
bool useZAbbreviationForUtc() const
Definition bdlt_iso8601utilconfiguration.h:475
void setUseZAbbreviationForUtc(bool value)
void setOmitColonInZoneDesignator(bool value)
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
static Iso8601UtilConfiguration defaultConfiguration()
Definition bdlt_iso8601utilconfiguration.h:407
static void setDefaultConfiguration(const Iso8601UtilConfiguration &configuration)
Definition bdlt_iso8601utilconfiguration.h:414
~Iso8601UtilConfiguration()
Destroy this object.
Definition bdlt_iso8601utilconfiguration.h:436
void setUseCommaForDecimalSign(bool value)
friend bool operator==(const Iso8601UtilConfiguration &, const Iso8601UtilConfiguration &)
Iso8601UtilConfiguration & operator=(const Iso8601UtilConfiguration &rhs)
Definition bdlt_iso8601utilconfiguration.h:447
#define BSLS_ASSERT(X)
Definition bsls_assert.h:1804
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition bbldc_basicisma30360.h:112
bool operator==(const Calendar &lhs, const Calendar &rhs)
bsl::ostream & operator<<(bsl::ostream &stream, const Calendar &calendar)
bool operator!=(const Calendar &lhs, const Calendar &rhs)
static void setIntRelaxed(AtomicTypes::Int *atomicInt, int value)
Definition bsls_atomicoperations.h:1552
static int getIntRelaxed(AtomicTypes::Int const *atomicInt)
Definition bsls_atomicoperations.h:1534