8#ifndef INCLUDED_BALBER_BERENCODEROPTIONS
9#define INCLUDED_BALBER_BERENCODEROPTIONS
43#include <bslalg_typetraits.h>
58#include <bsl_iosfwd.h>
59#include <bsl_limits.h>
63namespace balber {
class BerEncoderOptions; }
98 int d_bdeVersionConformance;
102 int d_datetimeFractionalSecondPrecision;
107 bool d_encodeEmptyArrays;
112 bool d_encodeDateAndTimeTypesAsBinary;
117 bool d_disableUnselectedChoiceEncoding;
134 bool d_preserveSignOfNegativeZero;
211#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
212 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
227#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
228 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
244 template <
class STREAM>
257 template<
class MANIPULATOR>
266 template<
class MANIPULATOR>
275 template<
class MANIPULATOR>
321 bsl::ostream&
print(bsl::ostream& stream,
323 int spacesPerLevel = 4)
const;
331 template <
class STREAM>
340 template<
class ACCESSOR>
348 template<
class ACCESSOR>
357 template<
class ACCESSOR>
360 int nameLength)
const;
434template <
class STREAM>
466template <
class MANIPULATOR>
509template <
class MANIPULATOR>
512 enum { NOT_FOUND = -1 };
541template <
class MANIPULATOR>
543 MANIPULATOR& manipulator,
547 enum { NOT_FOUND = -1 };
551 if (0 == attributeInfo) {
561 d_traceLevel = value;
567 return d_bdeVersionConformance;
573 d_encodeEmptyArrays = value;
579 d_encodeDateAndTimeTypesAsBinary = value;
585 d_datetimeFractionalSecondPrecision = value;
591 d_disableUnselectedChoiceEncoding = value;
597 d_preserveSignOfNegativeZero = value;
601template <
class STREAM>
629template <
class ACCESSOR>
672template <
class ACCESSOR>
675 enum { NOT_FOUND = -1 };
704template <
class ACCESSOR>
708 int nameLength)
const
710 enum { NOT_FOUND = -1 };
714 if (0 == attributeInfo) {
730 return d_bdeVersionConformance;
736 return d_encodeEmptyArrays;
742 return d_encodeDateAndTimeTypesAsBinary;
748 return d_datetimeFractionalSecondPrecision;
754 return d_disableUnselectedChoiceEncoding;
760 return d_preserveSignOfNegativeZero;
786 return !(lhs == rhs);
791 bsl::ostream& stream,
794 return rhs.
print(stream, 0, -1);
Definition balber_berencoderoptions.h:73
STREAM & bdexStreamOut(STREAM &stream, int version) const
Definition balber_berencoderoptions.h:602
static const bdlat_AttributeInfo ATTRIBUTE_INFO_ARRAY[]
Definition balber_berencoderoptions.h:179
static const bool DEFAULT_INITIALIZER_ENCODE_EMPTY_ARRAYS
Definition balber_berencoderoptions.h:169
@ ATTRIBUTE_ID_PRESERVE_SIGN_OF_NEGATIVE_ZERO
Definition balber_berencoderoptions.h:145
@ ATTRIBUTE_ID_ENCODE_EMPTY_ARRAYS
Definition balber_berencoderoptions.h:141
@ ATTRIBUTE_ID_DISABLE_UNSELECTED_CHOICE_ENCODING
Definition balber_berencoderoptions.h:144
@ ATTRIBUTE_ID_TRACE_LEVEL
Definition balber_berencoderoptions.h:139
@ ATTRIBUTE_ID_ENCODE_DATE_AND_TIME_TYPES_AS_BINARY
Definition balber_berencoderoptions.h:142
@ ATTRIBUTE_ID_BDE_VERSION_CONFORMANCE
Definition balber_berencoderoptions.h:140
@ ATTRIBUTE_ID_DATETIME_FRACTIONAL_SECOND_PRECISION
Definition balber_berencoderoptions.h:143
static const int DEFAULT_INITIALIZER_DATETIME_FRACTIONAL_SECOND_PRECISION
Definition balber_berencoderoptions.h:173
static const int DEFAULT_INITIALIZER_TRACE_LEVEL
Definition balber_berencoderoptions.h:165
bool encodeDateAndTimeTypesAsBinary() const
Definition balber_berencoderoptions.h:740
static const bool DEFAULT_INITIALIZER_ENCODE_DATE_AND_TIME_TYPES_AS_BINARY
Definition balber_berencoderoptions.h:171
BerEncoderOptions(const BerEncoderOptions &original)
static const bdlat_AttributeInfo * lookupAttributeInfo(const char *name, int nameLength)
bool preserveSignOfNegativeZero() const
Definition balber_berencoderoptions.h:758
void setPreserveSignOfNegativeZero(bool value)
Definition balber_berencoderoptions.h:595
~BerEncoderOptions()
Destroy this object.
int manipulateAttribute(MANIPULATOR &manipulator, int id)
Definition balber_berencoderoptions.h:510
static const bool DEFAULT_INITIALIZER_DISABLE_UNSELECTED_CHOICE_ENCODING
Definition balber_berencoderoptions.h:175
static const bdlat_AttributeInfo * lookupAttributeInfo(int id)
int traceLevel() const
Return the value of the "TraceLevel" attribute of this object.
Definition balber_berencoderoptions.h:722
STREAM & bdexStreamIn(STREAM &stream, int version)
Definition balber_berencoderoptions.h:435
static const int DEFAULT_INITIALIZER_BDE_VERSION_CONFORMANCE
Definition balber_berencoderoptions.h:167
@ ATTRIBUTE_INDEX_DISABLE_UNSELECTED_CHOICE_ENCODING
Definition balber_berencoderoptions.h:158
@ ATTRIBUTE_INDEX_ENCODE_EMPTY_ARRAYS
Definition balber_berencoderoptions.h:155
@ ATTRIBUTE_INDEX_DATETIME_FRACTIONAL_SECOND_PRECISION
Definition balber_berencoderoptions.h:157
@ ATTRIBUTE_INDEX_TRACE_LEVEL
Definition balber_berencoderoptions.h:153
@ ATTRIBUTE_INDEX_PRESERVE_SIGN_OF_NEGATIVE_ZERO
Definition balber_berencoderoptions.h:159
@ ATTRIBUTE_INDEX_BDE_VERSION_CONFORMANCE
Definition balber_berencoderoptions.h:154
@ ATTRIBUTE_INDEX_ENCODE_DATE_AND_TIME_TYPES_AS_BINARY
Definition balber_berencoderoptions.h:156
int datetimeFractionalSecondPrecision() const
Definition balber_berencoderoptions.h:746
int manipulateAttributes(MANIPULATOR &manipulator)
Definition balber_berencoderoptions.h:467
int accessAttributes(ACCESSOR &accessor) const
Definition balber_berencoderoptions.h:630
bool disableUnselectedChoiceEncoding() const
Definition balber_berencoderoptions.h:752
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
int accessAttribute(ACCESSOR &accessor, int id) const
Definition balber_berencoderoptions.h:673
void setTraceLevel(int value)
Definition balber_berencoderoptions.h:559
static const bool DEFAULT_INITIALIZER_PRESERVE_SIGN_OF_NEGATIVE_ZERO
Definition balber_berencoderoptions.h:177
void setEncodeEmptyArrays(bool value)
Definition balber_berencoderoptions.h:571
void setEncodeDateAndTimeTypesAsBinary(bool value)
Definition balber_berencoderoptions.h:577
void setDisableUnselectedChoiceEncoding(bool value)
Definition balber_berencoderoptions.h:589
static int maxSupportedBdexVersion()
Definition balber_berencoderoptions.h:428
@ NUM_ATTRIBUTES
Definition balber_berencoderoptions.h:149
bool encodeEmptyArrays() const
Definition balber_berencoderoptions.h:734
int & bdeVersionConformance()
Definition balber_berencoderoptions.h:565
static const char CLASS_NAME[]
Definition balber_berencoderoptions.h:163
void setDatetimeFractionalSecondPrecision(int value)
Definition balber_berencoderoptions.h:583
BerEncoderOptions & operator=(const BerEncoderOptions &rhs)
Assign to this object the value of the specified rhs object.
#define BDLAT_DECL_SEQUENCE_WITH_BITWISEMOVEABLE_TRAITS(ClassName)
Definition bdlat_typetraits.h:275
#define BSLS_IDENT_RCSID(tag, str)
Definition bsls_ident.h:260
#define BSLS_IDENT_PRAGMA_ONCE
Definition bsls_ident.h:310
Definition balber_berconstants.h:82
bsl::ostream & operator<<(bsl::ostream &stream, BerConstants::TagClass tagClass)
bool operator!=(const BerDecoderOptions &lhs, const BerDecoderOptions &rhs)
bool operator==(const BerDecoderOptions &lhs, const BerDecoderOptions &rhs)
STREAM & bdexStreamIn(STREAM &stream, VALUE_TYPE &variable)
Definition bslx_instreamfunctions.h:1247
STREAM & bdexStreamOut(STREAM &stream, const TYPE &value)
Definition bslx_outstreamfunctions.h:992
Definition bdlat_attributeinfo.h:137
int d_id
Definition bdlat_attributeinfo.h:140