8#ifndef INCLUDED_S_BALTST_MYSEQUENCEWITHNULLABLEANONYMOUSCHOICE
9#define INCLUDED_S_BALTST_MYSEQUENCEWITHNULLABLEANONYMOUSCHOICE
12BSLS_IDENT_RCSID(s_baltst_mysequencewithnullableanonymouschoice_h,
"$Id$ $CSID$")
43#include <bslalg_typetraits.h>
57#include <bsl_iosfwd.h>
58#include <bsl_limits.h>
62namespace s_baltst {
class MySequenceWithNullableAnonymousChoiceChoice; }
63namespace s_baltst {
class MySequenceWithNullableAnonymousChoice; }
128#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
129 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
145#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
146 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
185 template<
class MANIPULATOR>
211 bsl::ostream&
print(bsl::ostream& stream,
213 int spacesPerLevel = 4)
const;
223 template<
class ACCESSOR>
331#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
332 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
348#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
349 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
366 template<
class MANIPULATOR>
375 template<
class MANIPULATOR>
384 template<
class MANIPULATOR>
406 bsl::ostream&
print(bsl::ostream& stream,
408 int spacesPerLevel = 4)
const;
416 template<
class ACCESSOR>
424 template<
class ACCESSOR>
433 template<
class ACCESSOR>
436 int nameLength)
const;
483: d_selectionId(SELECTION_ID_UNDEFINED)
494template <
class MANIPULATOR>
497 switch (d_selectionId) {
528 return d_selectionId;
531template <
class ACCESSOR>
534 switch (d_selectionId) {
586template <
class MANIPULATOR>
599template <
class MANIPULATOR>
602 enum { NOT_FOUND = -1 };
613template <
class MANIPULATOR>
615 MANIPULATOR& manipulator,
619 enum { NOT_FOUND = -1 };
623 if (0 == attributeInfo) {
637template <
class ACCESSOR>
650template <
class ACCESSOR>
653 enum { NOT_FOUND = -1 };
664template <
class ACCESSOR>
668 int nameLength)
const
670 enum { NOT_FOUND = -1 };
674 if (0 == attributeInfo) {
699 case Class::SELECTION_ID_CHOICE_A:
701 case Class::SELECTION_ID_CHOICE_B:
718 return !(lhs == rhs);
723 bsl::ostream& stream,
726 return rhs.
print(stream, 0, -1);
743 return !(lhs == rhs);
748 bsl::ostream& stream,
751 return rhs.
print(stream, 0, -1);
Definition bdlb_nullablevalue.h:257
Definition s_baltst_mysequencewithnullableanonymouschoice.h:70
int & choiceB()
Definition s_baltst_mysequencewithnullableanonymouschoice.h:518
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.
bsls::ObjectBuffer< int > d_choiceA
Definition s_baltst_mysequencewithnullableanonymouschoice.h:74
int makeSelection(const char *name, int nameLength)
bool isUndefinedValue() const
Definition s_baltst_mysequencewithnullableanonymouschoice.h:574
static const char CLASS_NAME[]
Definition s_baltst_mysequencewithnullableanonymouschoice.h:99
static const bdlat_SelectionInfo * lookupSelectionInfo(const char *name, int nameLength)
MySequenceWithNullableAnonymousChoiceChoice(const MySequenceWithNullableAnonymousChoiceChoice &original)
static const bdlat_SelectionInfo * lookupSelectionInfo(int id)
static const bdlat_SelectionInfo SELECTION_INFO_ARRAY[]
Definition s_baltst_mysequencewithnullableanonymouschoice.h:101
int manipulateSelection(MANIPULATOR &manipulator)
Definition s_baltst_mysequencewithnullableanonymouschoice.h:495
MySequenceWithNullableAnonymousChoiceChoice()
Definition s_baltst_mysequencewithnullableanonymouschoice.h:482
bsls::ObjectBuffer< int > d_choiceB
Definition s_baltst_mysequencewithnullableanonymouschoice.h:75
~MySequenceWithNullableAnonymousChoiceChoice()
Destroy this object.
Definition s_baltst_mysequencewithnullableanonymouschoice.h:488
bool isChoiceBValue() const
Definition s_baltst_mysequencewithnullableanonymouschoice.h:568
@ SELECTION_INDEX_CHOICE_A
Definition s_baltst_mysequencewithnullableanonymouschoice.h:94
@ SELECTION_INDEX_CHOICE_B
Definition s_baltst_mysequencewithnullableanonymouschoice.h:95
MySequenceWithNullableAnonymousChoiceChoice & operator=(const MySequenceWithNullableAnonymousChoiceChoice &rhs)
Assign to this object the value of the specified rhs object.
bool isChoiceAValue() const
Definition s_baltst_mysequencewithnullableanonymouschoice.h:562
int makeSelection(int selectionId)
int & makeChoiceA(int value)
@ SELECTION_ID_CHOICE_B
Definition s_baltst_mysequencewithnullableanonymouschoice.h:86
@ SELECTION_ID_CHOICE_A
Definition s_baltst_mysequencewithnullableanonymouschoice.h:85
@ SELECTION_ID_UNDEFINED
Definition s_baltst_mysequencewithnullableanonymouschoice.h:84
int & choiceA()
Definition s_baltst_mysequencewithnullableanonymouschoice.h:511
int selectionId() const
Definition s_baltst_mysequencewithnullableanonymouschoice.h:526
int accessSelection(ACCESSOR &accessor) const
Definition s_baltst_mysequencewithnullableanonymouschoice.h:532
@ NUM_SELECTIONS
Definition s_baltst_mysequencewithnullableanonymouschoice.h:90
int & makeChoiceB(int value)
Definition s_baltst_mysequencewithnullableanonymouschoice.h:283
int accessAttributes(ACCESSOR &accessor) const
Definition s_baltst_mysequencewithnullableanonymouschoice.h:638
@ ATTRIBUTE_INDEX_CHOICE
Definition s_baltst_mysequencewithnullableanonymouschoice.h:299
static const char CLASS_NAME[]
Definition s_baltst_mysequencewithnullableanonymouschoice.h:303
bdlb::NullableValue< MySequenceWithNullableAnonymousChoiceChoice > & choice()
Definition s_baltst_mysequencewithnullableanonymouschoice.h:631
@ ATTRIBUTE_ID_CHOICE
Definition s_baltst_mysequencewithnullableanonymouschoice.h:291
~MySequenceWithNullableAnonymousChoice()
Destroy this object.
MySequenceWithNullableAnonymousChoice()
int manipulateAttribute(MANIPULATOR &manipulator, int id)
Definition s_baltst_mysequencewithnullableanonymouschoice.h:600
MySequenceWithNullableAnonymousChoice(const MySequenceWithNullableAnonymousChoice &original)
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
int accessAttribute(ACCESSOR &accessor, int id) const
Definition s_baltst_mysequencewithnullableanonymouschoice.h:651
static const bdlat_AttributeInfo * lookupAttributeInfo(const char *name, int nameLength)
static const bdlat_AttributeInfo ATTRIBUTE_INFO_ARRAY[]
Definition s_baltst_mysequencewithnullableanonymouschoice.h:305
int manipulateAttributes(MANIPULATOR &manipulator)
Definition s_baltst_mysequencewithnullableanonymouschoice.h:587
MySequenceWithNullableAnonymousChoice & operator=(const MySequenceWithNullableAnonymousChoice &rhs)
Assign to this object the value of the specified rhs object.
static const bdlat_AttributeInfo * lookupAttributeInfo(int id)
@ NUM_ATTRIBUTES
Definition s_baltst_mysequencewithnullableanonymouschoice.h:295
#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