8#ifndef INCLUDED_S_BALTST_SEQUENCEWITHANONYMITY
9#define INCLUDED_S_BALTST_SEQUENCEWITHANONYMITY
43#include <bslalg_typetraits.h>
59#include <bsl_string.h>
67#include <bsl_iosfwd.h>
68#include <bsl_limits.h>
72namespace bslma {
class Allocator; }
74namespace s_baltst {
class SequenceWithAnonymityChoice1; }
75namespace s_baltst {
class SequenceWithAnonymityChoice; }
76namespace s_baltst {
class SequenceWithAnonymityChoice2; }
77namespace s_baltst {
class SequenceWithAnonymity; }
146#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
147 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
172#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
173 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
203#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
204 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
216 template<
class MANIPULATOR>
242 bsl::ostream&
print(bsl::ostream& stream,
244 int spacesPerLevel = 4)
const;
254 template<
class ACCESSOR>
382#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
383 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
408#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
409 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
433#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
434 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
449#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
450 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
459#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
460 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
472 template<
class MANIPULATOR>
508 bsl::ostream&
print(bsl::ostream& stream,
510 int spacesPerLevel = 4)
const;
520 template<
class ACCESSOR>
660#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
661 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
686#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
687 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
711#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
712 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
721#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
722 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
734 template<
class MANIPULATOR>
760 bsl::ostream&
print(bsl::ostream& stream,
762 int spacesPerLevel = 4)
const;
772 template<
class ACCESSOR>
894#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
895 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
919#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
920 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
937 template<
class MANIPULATOR>
946 template<
class MANIPULATOR>
955 template<
class MANIPULATOR>
989 bsl::ostream&
print(bsl::ostream& stream,
991 int spacesPerLevel = 4)
const;
999 template<
class ACCESSOR>
1007 template<
class ACCESSOR>
1016 template<
class ACCESSOR>
1019 int nameLength)
const;
1078: d_selectionId(SELECTION_ID_UNDEFINED)
1079, d_allocator_p(
bslma::Default::allocator(basicAllocator))
1090template <
class MANIPULATOR>
1093 switch (d_selectionId) {
1124 return d_selectionId;
1127template <
class ACCESSOR>
1130 switch (d_selectionId) {
1184: d_selectionId(SELECTION_ID_UNDEFINED)
1185, d_allocator_p(
bslma::Default::allocator(basicAllocator))
1196template <
class MANIPULATOR>
1199 switch (d_selectionId) {
1250 return d_selectionId;
1253template <
class ACCESSOR>
1256 switch (d_selectionId) {
1342: d_selectionId(SELECTION_ID_UNDEFINED)
1343, d_allocator_p(
bslma::Default::allocator(basicAllocator))
1354template <
class MANIPULATOR>
1357 switch (d_selectionId) {
1388 return d_selectionId;
1391template <
class ACCESSOR>
1394 switch (d_selectionId) {
1446template <
class MANIPULATOR>
1474template <
class MANIPULATOR>
1477 enum { NOT_FOUND = -1 };
1497template <
class MANIPULATOR>
1499 MANIPULATOR& manipulator,
1503 enum { NOT_FOUND = -1 };
1507 if (0 == attributeInfo) {
1539template <
class ACCESSOR>
1567template <
class ACCESSOR>
1570 enum { NOT_FOUND = -1 };
1590template <
class ACCESSOR>
1594 int nameLength)
const
1596 enum { NOT_FOUND = -1 };
1600 if (0 == attributeInfo) {
1643 case Class::SELECTION_ID_SELECTION5:
1645 case Class::SELECTION_ID_SELECTION6:
1662 return !(lhs == rhs);
1667 bsl::ostream& stream,
1670 return rhs.
print(stream, 0, -1);
1682 case Class::SELECTION_ID_SELECTION1:
1684 case Class::SELECTION_ID_SELECTION2:
1686 case Class::SELECTION_ID_SELECTION3:
1688 case Class::SELECTION_ID_SELECTION4:
1705 return !(lhs == rhs);
1710 bsl::ostream& stream,
1713 return rhs.
print(stream, 0, -1);
1725 case Class::SELECTION_ID_SELECTION7:
1727 case Class::SELECTION_ID_SELECTION8:
1744 return !(lhs == rhs);
1749 bsl::ostream& stream,
1752 return rhs.
print(stream, 0, -1);
1772 return !(lhs == rhs);
1777 bsl::ostream& stream,
1780 return rhs.
print(stream, 0, -1);
Definition bdlb_nullablevalue.h:257
Definition bslstl_string.h:1281
Definition bslma_allocator.h:457
Definition s_baltst_ratsnest.h:1546
Definition s_baltst_customint.h:65
Definition s_baltst_customstring.h:71
Definition s_baltst_ratsnest.h:1825
Definition s_baltst_ratsnest.h:627
Definition s_baltst_sequencewithanonymity.h:84
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
bool & makeSelection5(bool value)
static const bdlat_SelectionInfo SELECTION_INFO_ARRAY[]
Definition s_baltst_sequencewithanonymity.h:116
static const char CLASS_NAME[]
Definition s_baltst_sequencewithanonymity.h:114
bsl::string & makeSelection6()
int manipulateSelection(MANIPULATOR &manipulator)
Definition s_baltst_sequencewithanonymity.h:1091
int makeSelection(int selectionId)
const char * selectionName() const
Return the symbolic name of the current selection of this object.
bsls::ObjectBuffer< bool > d_selection5
Definition s_baltst_sequencewithanonymity.h:88
bool isSelection5Value() const
Definition s_baltst_sequencewithanonymity.h:1158
int accessSelection(ACCESSOR &accessor) const
Definition s_baltst_sequencewithanonymity.h:1128
bsls::ObjectBuffer< bsl::string > d_selection6
Definition s_baltst_sequencewithanonymity.h:89
static const bdlat_SelectionInfo * lookupSelectionInfo(int id)
bool isUndefinedValue() const
Definition s_baltst_sequencewithanonymity.h:1170
SequenceWithAnonymityChoice1 & operator=(const SequenceWithAnonymityChoice1 &rhs)
Assign to this object the value of the specified rhs object.
SequenceWithAnonymityChoice1(bslma::Allocator *basicAllocator=0)
Definition s_baltst_sequencewithanonymity.h:1077
@ SELECTION_ID_SELECTION5
Definition s_baltst_sequencewithanonymity.h:100
@ SELECTION_ID_UNDEFINED
Definition s_baltst_sequencewithanonymity.h:99
@ SELECTION_ID_SELECTION6
Definition s_baltst_sequencewithanonymity.h:101
bool isSelection6Value() const
Definition s_baltst_sequencewithanonymity.h:1164
int selectionId() const
Definition s_baltst_sequencewithanonymity.h:1122
bool & selection5()
Definition s_baltst_sequencewithanonymity.h:1107
SequenceWithAnonymityChoice1(const SequenceWithAnonymityChoice1 &original, bslma::Allocator *basicAllocator=0)
~SequenceWithAnonymityChoice1()
Destroy this object.
Definition s_baltst_sequencewithanonymity.h:1084
bsl::string & makeSelection6(const bsl::string &value)
@ SELECTION_INDEX_SELECTION6
Definition s_baltst_sequencewithanonymity.h:110
@ SELECTION_INDEX_SELECTION5
Definition s_baltst_sequencewithanonymity.h:109
static const bdlat_SelectionInfo * lookupSelectionInfo(const char *name, int nameLength)
int makeSelection(const char *name, int nameLength)
bsl::string & selection6()
Definition s_baltst_sequencewithanonymity.h:1114
@ NUM_SELECTIONS
Definition s_baltst_sequencewithanonymity.h:105
Definition s_baltst_sequencewithanonymity.h:598
s_baltst::Choice2 & makeSelection8()
s_baltst::Choice2 & makeSelection8(const s_baltst::Choice2 &value)
@ NUM_SELECTIONS
Definition s_baltst_sequencewithanonymity.h:619
s_baltst::Choice2 * d_selection8
Definition s_baltst_sequencewithanonymity.h:603
s_baltst::Choice2 & selection8()
Definition s_baltst_sequencewithanonymity.h:1378
~SequenceWithAnonymityChoice2()
Destroy this object.
Definition s_baltst_sequencewithanonymity.h:1348
bool isUndefinedValue() const
Definition s_baltst_sequencewithanonymity.h:1434
@ SELECTION_ID_UNDEFINED
Definition s_baltst_sequencewithanonymity.h:613
@ SELECTION_ID_SELECTION7
Definition s_baltst_sequencewithanonymity.h:614
@ SELECTION_ID_SELECTION8
Definition s_baltst_sequencewithanonymity.h:615
int manipulateSelection(MANIPULATOR &manipulator)
Definition s_baltst_sequencewithanonymity.h:1355
SequenceWithAnonymityChoice2(bslma::Allocator *basicAllocator=0)
Definition s_baltst_sequencewithanonymity.h:1341
s_baltst::Sequence4 & makeSelection7()
s_baltst::Sequence4 & selection7()
Definition s_baltst_sequencewithanonymity.h:1371
static const bdlat_SelectionInfo * lookupSelectionInfo(const char *name, int nameLength)
@ SELECTION_INDEX_SELECTION8
Definition s_baltst_sequencewithanonymity.h:624
@ SELECTION_INDEX_SELECTION7
Definition s_baltst_sequencewithanonymity.h:623
int accessSelection(ACCESSOR &accessor) const
Definition s_baltst_sequencewithanonymity.h:1392
s_baltst::Sequence4 & makeSelection7(const s_baltst::Sequence4 &value)
static const char CLASS_NAME[]
Definition s_baltst_sequencewithanonymity.h:628
int makeSelection(int selectionId)
const char * selectionName() const
Return the symbolic name of the current selection of this object.
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
bool isSelection8Value() const
Definition s_baltst_sequencewithanonymity.h:1428
static const bdlat_SelectionInfo SELECTION_INFO_ARRAY[]
Definition s_baltst_sequencewithanonymity.h:630
bool isSelection7Value() const
Definition s_baltst_sequencewithanonymity.h:1422
static const bdlat_SelectionInfo * lookupSelectionInfo(int id)
SequenceWithAnonymityChoice2(const SequenceWithAnonymityChoice2 &original, bslma::Allocator *basicAllocator=0)
int selectionId() const
Definition s_baltst_sequencewithanonymity.h:1386
s_baltst::Sequence4 * d_selection7
Definition s_baltst_sequencewithanonymity.h:602
int makeSelection(const char *name, int nameLength)
SequenceWithAnonymityChoice2 & operator=(const SequenceWithAnonymityChoice2 &rhs)
Assign to this object the value of the specified rhs object.
Definition s_baltst_sequencewithanonymity.h:314
bsls::ObjectBuffer< s_baltst::CustomInt > d_selection4
Definition s_baltst_sequencewithanonymity.h:321
bsls::ObjectBuffer< s_baltst::Sequence6 > d_selection1
Definition s_baltst_sequencewithanonymity.h:318
s_baltst::CustomInt & makeSelection4()
unsigned char & makeSelection2(unsigned char value)
bsls::ObjectBuffer< s_baltst::CustomString > d_selection3
Definition s_baltst_sequencewithanonymity.h:320
bool isSelection1Value() const
Definition s_baltst_sequencewithanonymity.h:1304
s_baltst::Sequence6 & selection1()
Definition s_baltst_sequencewithanonymity.h:1219
~SequenceWithAnonymityChoice()
Destroy this object.
Definition s_baltst_sequencewithanonymity.h:1190
unsigned char & selection2()
Definition s_baltst_sequencewithanonymity.h:1226
bool isSelection3Value() const
Definition s_baltst_sequencewithanonymity.h:1316
s_baltst::CustomString & makeSelection3()
SequenceWithAnonymityChoice(bslma::Allocator *basicAllocator=0)
Definition s_baltst_sequencewithanonymity.h:1183
int selectionId() const
Definition s_baltst_sequencewithanonymity.h:1248
s_baltst::CustomString & makeSelection3(const s_baltst::CustomString &value)
unsigned char & makeSelection2()
@ SELECTION_ID_SELECTION2
Definition s_baltst_sequencewithanonymity.h:333
@ SELECTION_ID_SELECTION1
Definition s_baltst_sequencewithanonymity.h:332
@ SELECTION_ID_SELECTION4
Definition s_baltst_sequencewithanonymity.h:335
@ SELECTION_ID_SELECTION3
Definition s_baltst_sequencewithanonymity.h:334
@ SELECTION_ID_UNDEFINED
Definition s_baltst_sequencewithanonymity.h:331
@ SELECTION_INDEX_SELECTION3
Definition s_baltst_sequencewithanonymity.h:345
@ SELECTION_INDEX_SELECTION2
Definition s_baltst_sequencewithanonymity.h:344
@ SELECTION_INDEX_SELECTION4
Definition s_baltst_sequencewithanonymity.h:346
@ SELECTION_INDEX_SELECTION1
Definition s_baltst_sequencewithanonymity.h:343
static const bdlat_SelectionInfo * lookupSelectionInfo(int id)
int manipulateSelection(MANIPULATOR &manipulator)
Definition s_baltst_sequencewithanonymity.h:1197
s_baltst::CustomString & selection3()
Definition s_baltst_sequencewithanonymity.h:1233
SequenceWithAnonymityChoice & operator=(const SequenceWithAnonymityChoice &rhs)
Assign to this object the value of the specified rhs object.
@ NUM_SELECTIONS
Definition s_baltst_sequencewithanonymity.h:339
int makeSelection(int selectionId)
static const char CLASS_NAME[]
Definition s_baltst_sequencewithanonymity.h:350
static const bdlat_SelectionInfo SELECTION_INFO_ARRAY[]
Definition s_baltst_sequencewithanonymity.h:352
bsls::ObjectBuffer< unsigned char > d_selection2
Definition s_baltst_sequencewithanonymity.h:319
bool isSelection4Value() const
Definition s_baltst_sequencewithanonymity.h:1322
SequenceWithAnonymityChoice(const SequenceWithAnonymityChoice &original, bslma::Allocator *basicAllocator=0)
static const bdlat_SelectionInfo * lookupSelectionInfo(const char *name, int nameLength)
s_baltst::CustomInt & makeSelection4(const s_baltst::CustomInt &value)
bool isSelection2Value() const
Definition s_baltst_sequencewithanonymity.h:1310
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
const char * selectionName() const
Return the symbolic name of the current selection of this object.
s_baltst::Sequence6 & makeSelection1()
int makeSelection(const char *name, int nameLength)
s_baltst::CustomInt & selection4()
Definition s_baltst_sequencewithanonymity.h:1240
bool isUndefinedValue() const
Definition s_baltst_sequencewithanonymity.h:1328
int accessSelection(ACCESSOR &accessor) const
Definition s_baltst_sequencewithanonymity.h:1254
s_baltst::Sequence6 & makeSelection1(const s_baltst::Sequence6 &value)
Definition s_baltst_sequencewithanonymity.h:832
@ ATTRIBUTE_ID_CHOICE2
Definition s_baltst_sequencewithanonymity.h:845
@ ATTRIBUTE_ID_ELEMENT4
Definition s_baltst_sequencewithanonymity.h:846
@ ATTRIBUTE_ID_CHOICE1
Definition s_baltst_sequencewithanonymity.h:844
@ ATTRIBUTE_ID_CHOICE
Definition s_baltst_sequencewithanonymity.h:843
~SequenceWithAnonymity()
Destroy this object.
static const bdlat_AttributeInfo * lookupAttributeInfo(const char *name, int nameLength)
static const char CLASS_NAME[]
Definition s_baltst_sequencewithanonymity.h:861
@ ATTRIBUTE_INDEX_CHOICE2
Definition s_baltst_sequencewithanonymity.h:856
@ ATTRIBUTE_INDEX_CHOICE
Definition s_baltst_sequencewithanonymity.h:854
@ ATTRIBUTE_INDEX_CHOICE1
Definition s_baltst_sequencewithanonymity.h:855
@ ATTRIBUTE_INDEX_ELEMENT4
Definition s_baltst_sequencewithanonymity.h:857
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
int accessAttributes(ACCESSOR &accessor) const
Definition s_baltst_sequencewithanonymity.h:1540
SequenceWithAnonymityChoice & choice()
Definition s_baltst_sequencewithanonymity.h:1515
SequenceWithAnonymity(bslma::Allocator *basicAllocator=0)
SequenceWithAnonymity & operator=(const SequenceWithAnonymity &rhs)
Assign to this object the value of the specified rhs object.
SequenceWithAnonymity(const SequenceWithAnonymity &original, bslma::Allocator *basicAllocator=0)
int accessAttribute(ACCESSOR &accessor, int id) const
Definition s_baltst_sequencewithanonymity.h:1568
@ NUM_ATTRIBUTES
Definition s_baltst_sequencewithanonymity.h:850
static const bdlat_AttributeInfo ATTRIBUTE_INFO_ARRAY[]
Definition s_baltst_sequencewithanonymity.h:863
s_baltst::Sequence6 & element4()
Definition s_baltst_sequencewithanonymity.h:1533
static const bdlat_AttributeInfo * lookupAttributeInfo(int id)
SequenceWithAnonymityChoice1 & choice1()
Definition s_baltst_sequencewithanonymity.h:1521
int manipulateAttributes(MANIPULATOR &manipulator)
Definition s_baltst_sequencewithanonymity.h:1447
bdlb::NullableValue< SequenceWithAnonymityChoice2 > & choice2()
Definition s_baltst_sequencewithanonymity.h:1527
int manipulateAttribute(MANIPULATOR &manipulator, int id)
Definition s_baltst_sequencewithanonymity.h:1475
#define BDLAT_DECL_CHOICE_WITH_ALLOCATOR_BITWISEMOVEABLE_TRAITS(ClassName)
Definition bdlat_typetraits.h:249
#define BDLAT_DECL_SEQUENCE_WITH_ALLOCATOR_BITWISEMOVEABLE_TRAITS(ClassName)
Definition bdlat_typetraits.h:282
#define BSLS_ASSERT(X)
Definition bsls_assert.h:1804
#define BSLS_IDENT_RCSID(tag, str)
Definition bsls_ident.h:260
#define BSLS_IDENT_PRAGMA_ONCE
Definition bsls_ident.h:310
Definition balxml_encoderoptions.h:68
Definition s_baltst_address.h:66
bool operator!=(const Address &lhs, const Address &rhs)
bool operator==(const Address &lhs, const Address &rhs)
bsl::ostream & operator<<(bsl::ostream &stream, const Address &rhs)
Definition bdlat_attributeinfo.h:137
int d_id
Definition bdlat_attributeinfo.h:140
Definition bdlat_selectioninfo.h:136
TYPE & object()
Definition bsls_objectbuffer.h:351