8#ifndef INCLUDED_S_BALTST_MYSEQUENCEWITHCHOICES
9#define INCLUDED_S_BALTST_MYSEQUENCEWITHCHOICES
43#include <bslalg_typetraits.h>
55#include <bsl_iosfwd.h>
56#include <bsl_limits.h>
60namespace s_baltst {
class MySequenceWithChoicesChoice1; }
61namespace s_baltst {
class MySequenceWithChoicesChoice2; }
62namespace s_baltst {
class MySequenceWithChoices; }
125#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
126 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
142#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
143 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
182 template<
class MANIPULATOR>
208 bsl::ostream&
print(bsl::ostream& stream,
210 int spacesPerLevel = 4)
const;
220 template<
class ACCESSOR>
336#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
337 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
353#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
354 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
393 template<
class MANIPULATOR>
419 bsl::ostream&
print(bsl::ostream& stream,
421 int spacesPerLevel = 4)
const;
431 template<
class ACCESSOR>
542#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
543 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
558#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
559 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
576 template<
class MANIPULATOR>
585 template<
class MANIPULATOR>
594 template<
class MANIPULATOR>
620 bsl::ostream&
print(bsl::ostream& stream,
622 int spacesPerLevel = 4)
const;
630 template<
class ACCESSOR>
638 template<
class ACCESSOR>
647 template<
class ACCESSOR>
650 int nameLength)
const;
701: d_selectionId(SELECTION_ID_UNDEFINED)
712template <
class MANIPULATOR>
715 switch (d_selectionId) {
746 return d_selectionId;
749template <
class ACCESSOR>
752 switch (d_selectionId) {
806: d_selectionId(SELECTION_ID_UNDEFINED)
817template <
class MANIPULATOR>
820 switch (d_selectionId) {
851 return d_selectionId;
854template <
class ACCESSOR>
857 switch (d_selectionId) {
909template <
class MANIPULATOR>
927template <
class MANIPULATOR>
930 enum { NOT_FOUND = -1 };
944template <
class MANIPULATOR>
946 MANIPULATOR& manipulator,
950 enum { NOT_FOUND = -1 };
954 if (0 == attributeInfo) {
974template <
class ACCESSOR>
992template <
class ACCESSOR>
995 enum { NOT_FOUND = -1 };
1009template <
class ACCESSOR>
1013 int nameLength)
const
1015 enum { NOT_FOUND = -1 };
1019 if (0 == attributeInfo) {
1050 case Class::SELECTION_ID_CHOICE_A:
1052 case Class::SELECTION_ID_CHOICE_B:
1069 return !(lhs == rhs);
1074 bsl::ostream& stream,
1077 return rhs.
print(stream, 0, -1);
1089 case Class::SELECTION_ID_CHOICE_C:
1091 case Class::SELECTION_ID_CHOICE_D:
1108 return !(lhs == rhs);
1113 bsl::ostream& stream,
1116 return rhs.
print(stream, 0, -1);
1134 return !(lhs == rhs);
1139 bsl::ostream& stream,
1142 return rhs.
print(stream, 0, -1);
Definition s_baltst_mysequencewithchoices.h:69
static const bdlat_SelectionInfo SELECTION_INFO_ARRAY[]
Definition s_baltst_mysequencewithchoices.h:100
bool isChoiceBValue() const
Definition s_baltst_mysequencewithchoices.h:786
const char * selectionName() const
Return the symbolic name of the current selection of this object.
bsls::ObjectBuffer< int > d_choiceB
Definition s_baltst_mysequencewithchoices.h:74
static const char CLASS_NAME[]
Definition s_baltst_mysequencewithchoices.h:98
int & makeChoiceB(int value)
int accessSelection(ACCESSOR &accessor) const
Definition s_baltst_mysequencewithchoices.h:750
int makeSelection(const char *name, int nameLength)
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
static const bdlat_SelectionInfo * lookupSelectionInfo(int id)
bool isUndefinedValue() const
Definition s_baltst_mysequencewithchoices.h:792
int & choiceA()
Definition s_baltst_mysequencewithchoices.h:729
bsls::ObjectBuffer< int > d_choiceA
Definition s_baltst_mysequencewithchoices.h:73
~MySequenceWithChoicesChoice1()
Destroy this object.
Definition s_baltst_mysequencewithchoices.h:706
MySequenceWithChoicesChoice1 & operator=(const MySequenceWithChoicesChoice1 &rhs)
Assign to this object the value of the specified rhs object.
static const bdlat_SelectionInfo * lookupSelectionInfo(const char *name, int nameLength)
MySequenceWithChoicesChoice1()
Definition s_baltst_mysequencewithchoices.h:700
@ SELECTION_INDEX_CHOICE_A
Definition s_baltst_mysequencewithchoices.h:93
@ SELECTION_INDEX_CHOICE_B
Definition s_baltst_mysequencewithchoices.h:94
bool isChoiceAValue() const
Definition s_baltst_mysequencewithchoices.h:780
@ SELECTION_ID_CHOICE_B
Definition s_baltst_mysequencewithchoices.h:85
@ SELECTION_ID_CHOICE_A
Definition s_baltst_mysequencewithchoices.h:84
@ SELECTION_ID_UNDEFINED
Definition s_baltst_mysequencewithchoices.h:83
int & makeChoiceA(int value)
int manipulateSelection(MANIPULATOR &manipulator)
Definition s_baltst_mysequencewithchoices.h:713
int makeSelection(int selectionId)
MySequenceWithChoicesChoice1(const MySequenceWithChoicesChoice1 &original)
int & choiceB()
Definition s_baltst_mysequencewithchoices.h:736
int selectionId() const
Definition s_baltst_mysequencewithchoices.h:744
@ NUM_SELECTIONS
Definition s_baltst_mysequencewithchoices.h:89
Definition s_baltst_mysequencewithchoices.h:280
static const char CLASS_NAME[]
Definition s_baltst_mysequencewithchoices.h:309
int makeSelection(int selectionId)
int makeSelection(const char *name, int nameLength)
bool isUndefinedValue() const
Definition s_baltst_mysequencewithchoices.h:897
static const bdlat_SelectionInfo SELECTION_INFO_ARRAY[]
Definition s_baltst_mysequencewithchoices.h:311
int accessSelection(ACCESSOR &accessor) const
Definition s_baltst_mysequencewithchoices.h:855
int & makeChoiceD(int value)
static const bdlat_SelectionInfo * lookupSelectionInfo(int id)
int manipulateSelection(MANIPULATOR &manipulator)
Definition s_baltst_mysequencewithchoices.h:818
~MySequenceWithChoicesChoice2()
Destroy this object.
Definition s_baltst_mysequencewithchoices.h:811
int selectionId() const
Definition s_baltst_mysequencewithchoices.h:849
int & makeChoiceC(int value)
static const bdlat_SelectionInfo * lookupSelectionInfo(const char *name, int nameLength)
@ SELECTION_ID_UNDEFINED
Definition s_baltst_mysequencewithchoices.h:294
@ SELECTION_ID_CHOICE_C
Definition s_baltst_mysequencewithchoices.h:295
@ SELECTION_ID_CHOICE_D
Definition s_baltst_mysequencewithchoices.h:296
@ SELECTION_INDEX_CHOICE_D
Definition s_baltst_mysequencewithchoices.h:305
@ SELECTION_INDEX_CHOICE_C
Definition s_baltst_mysequencewithchoices.h:304
MySequenceWithChoicesChoice2 & operator=(const MySequenceWithChoicesChoice2 &rhs)
Assign to this object the value of the specified rhs object.
int & choiceC()
Definition s_baltst_mysequencewithchoices.h:834
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.
MySequenceWithChoicesChoice2(const MySequenceWithChoicesChoice2 &original)
bsls::ObjectBuffer< int > d_choiceD
Definition s_baltst_mysequencewithchoices.h:285
MySequenceWithChoicesChoice2()
Definition s_baltst_mysequencewithchoices.h:805
bool isChoiceCValue() const
Definition s_baltst_mysequencewithchoices.h:885
@ NUM_SELECTIONS
Definition s_baltst_mysequencewithchoices.h:300
bsls::ObjectBuffer< int > d_choiceC
Definition s_baltst_mysequencewithchoices.h:284
int & choiceD()
Definition s_baltst_mysequencewithchoices.h:841
bool isChoiceDValue() const
Definition s_baltst_mysequencewithchoices.h:891
Definition s_baltst_mysequencewithchoices.h:491
static const char CLASS_NAME[]
Definition s_baltst_mysequencewithchoices.h:514
int accessAttributes(ACCESSOR &accessor) const
Definition s_baltst_mysequencewithchoices.h:975
int manipulateAttributes(MANIPULATOR &manipulator)
Definition s_baltst_mysequencewithchoices.h:910
MySequenceWithChoices(const MySequenceWithChoices &original)
MySequenceWithChoices & operator=(const MySequenceWithChoices &rhs)
Assign to this object the value of the specified rhs object.
@ ATTRIBUTE_ID_FIRST
Definition s_baltst_mysequencewithchoices.h:500
@ ATTRIBUTE_ID_SECOND
Definition s_baltst_mysequencewithchoices.h:501
int manipulateAttribute(MANIPULATOR &manipulator, int id)
Definition s_baltst_mysequencewithchoices.h:928
@ ATTRIBUTE_INDEX_SECOND
Definition s_baltst_mysequencewithchoices.h:510
@ ATTRIBUTE_INDEX_FIRST
Definition s_baltst_mysequencewithchoices.h:509
MySequenceWithChoicesChoice2 & second()
Definition s_baltst_mysequencewithchoices.h:968
int accessAttribute(ACCESSOR &accessor, int id) const
Definition s_baltst_mysequencewithchoices.h:993
static const bdlat_AttributeInfo * lookupAttributeInfo(int id)
~MySequenceWithChoices()
Destroy this object.
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
@ NUM_ATTRIBUTES
Definition s_baltst_mysequencewithchoices.h:505
static const bdlat_AttributeInfo * lookupAttributeInfo(const char *name, int nameLength)
static const bdlat_AttributeInfo ATTRIBUTE_INFO_ARRAY[]
Definition s_baltst_mysequencewithchoices.h:516
MySequenceWithChoicesChoice1 & first()
Definition s_baltst_mysequencewithchoices.h:962
#define BDLAT_DECL_CHOICE_WITH_BITWISEMOVEABLE_TRAITS(ClassName)
Definition bdlat_typetraits.h:242
#define BDLAT_DECL_SEQUENCE_WITH_BITWISEMOVEABLE_TRAITS(ClassName)
Definition bdlat_typetraits.h:275
#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 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