8#ifndef INCLUDED_S_BALTST_FEATURETESTMESSAGE
9#define INCLUDED_S_BALTST_FEATURETESTMESSAGE
43#include <bslalg_typetraits.h>
59#include <bsl_vector.h>
73#include <bsl_iosfwd.h>
74#include <bsl_limits.h>
78namespace bslma {
class Allocator; }
80namespace s_baltst {
class FeatureTestMessage; }
176#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
177 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
201#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
202 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
226#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
227 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
236#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
237 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
246#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
247 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
256#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
257 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
266#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
267 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
276#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
277 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
292#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
293 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
302#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
303 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
312#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
313 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
322#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
323 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
335 template<
class MANIPULATOR>
406 bsl::ostream&
print(bsl::ostream& stream,
408 int spacesPerLevel = 4)
const;
418 template<
class ACCESSOR>
567: d_selectionId(SELECTION_ID_UNDEFINED)
568, d_allocator_p(
bslma::Default::allocator(basicAllocator))
579template <
class MANIPULATOR>
582 switch (d_selectionId) {
703 return d_selectionId;
706template <
class ACCESSOR>
709 switch (d_selectionId) {
909 case Class::SELECTION_ID_SELECTION1:
911 case Class::SELECTION_ID_SELECTION2:
913 case Class::SELECTION_ID_SELECTION3:
915 case Class::SELECTION_ID_SELECTION4:
917 case Class::SELECTION_ID_SELECTION5:
919 case Class::SELECTION_ID_SELECTION6:
921 case Class::SELECTION_ID_SELECTION7:
923 case Class::SELECTION_ID_SELECTION8:
925 case Class::SELECTION_ID_SELECTION9:
927 case Class::SELECTION_ID_SELECTION10:
929 case Class::SELECTION_ID_SELECTION11:
946 return !(lhs == rhs);
951 bsl::ostream& stream,
954 return rhs.
print(stream, 0, -1);
Definition bdlt_datetimetz.h:308
Definition bslstl_vector.h:1025
Definition bslma_allocator.h:457
Definition s_baltst_ratsnest.h:984
Definition s_baltst_customstring.h:71
Definition s_baltst_featuretestmessage.h:87
s_baltst::Enumerated::Value & selection7()
Definition s_baltst_featuretestmessage.h:665
bool isSelection2Value() const
Definition s_baltst_featuretestmessage.h:833
s_baltst::Sequence2 & selection3()
Definition s_baltst_featuretestmessage.h:637
bool isUndefinedValue() const
Definition s_baltst_featuretestmessage.h:893
s_baltst::Choice3 & makeSelection8(const s_baltst::Choice3 &value)
int makeSelection(const char *name, int nameLength)
s_baltst::SequenceWithAnonymity & selection11()
Definition s_baltst_featuretestmessage.h:693
~FeatureTestMessage()
Destroy this object.
Definition s_baltst_featuretestmessage.h:573
s_baltst::Sequence3 & makeSelection4(const s_baltst::Sequence3 &value)
int selectionId() const
Definition s_baltst_featuretestmessage.h:701
FeatureTestMessage & operator=(const FeatureTestMessage &rhs)
Assign to this object the value of the specified rhs object.
bsls::ObjectBuffer< s_baltst::VoidSequence > d_selection9
Definition s_baltst_featuretestmessage.h:99
bool isSelection3Value() const
Definition s_baltst_featuretestmessage.h:839
int makeSelection(int selectionId)
s_baltst::Sequence3 * d_selection4
Definition s_baltst_featuretestmessage.h:94
bsls::ObjectBuffer< bdlt::DatetimeTz > d_selection5
Definition s_baltst_featuretestmessage.h:95
bool isSelection9Value() const
Definition s_baltst_featuretestmessage.h:875
s_baltst::SequenceWithAnonymity & makeSelection11(const s_baltst::SequenceWithAnonymity &value)
s_baltst::Choice3 & makeSelection8()
s_baltst::UnsignedSequence & makeSelection10(const s_baltst::UnsignedSequence &value)
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
bsls::ObjectBuffer< s_baltst::Choice3 > d_selection8
Definition s_baltst_featuretestmessage.h:98
FeatureTestMessage(const FeatureTestMessage &original, bslma::Allocator *basicAllocator=0)
s_baltst::Sequence2 & makeSelection3()
bsls::ObjectBuffer< bsl::vector< char > > d_selection2
Definition s_baltst_featuretestmessage.h:92
s_baltst::Sequence1 & makeSelection1()
bdlt::DatetimeTz & makeSelection5()
static const bdlat_SelectionInfo * lookupSelectionInfo(const char *name, int nameLength)
@ NUM_SELECTIONS
Definition s_baltst_featuretestmessage.h:126
bsls::ObjectBuffer< s_baltst::UnsignedSequence > d_selection10
Definition s_baltst_featuretestmessage.h:100
static const char CLASS_NAME[]
Definition s_baltst_featuretestmessage.h:144
s_baltst::Sequence1 & selection1()
Definition s_baltst_featuretestmessage.h:623
bool isSelection1Value() const
Definition s_baltst_featuretestmessage.h:827
s_baltst::Choice3 & selection8()
Definition s_baltst_featuretestmessage.h:672
@ SELECTION_ID_SELECTION6
Definition s_baltst_featuretestmessage.h:117
@ SELECTION_ID_SELECTION7
Definition s_baltst_featuretestmessage.h:118
@ SELECTION_ID_SELECTION2
Definition s_baltst_featuretestmessage.h:113
@ SELECTION_ID_SELECTION9
Definition s_baltst_featuretestmessage.h:120
@ SELECTION_ID_SELECTION4
Definition s_baltst_featuretestmessage.h:115
@ SELECTION_ID_SELECTION10
Definition s_baltst_featuretestmessage.h:121
@ SELECTION_ID_SELECTION11
Definition s_baltst_featuretestmessage.h:122
@ SELECTION_ID_SELECTION3
Definition s_baltst_featuretestmessage.h:114
@ SELECTION_ID_UNDEFINED
Definition s_baltst_featuretestmessage.h:111
@ SELECTION_ID_SELECTION1
Definition s_baltst_featuretestmessage.h:112
@ SELECTION_ID_SELECTION5
Definition s_baltst_featuretestmessage.h:116
@ SELECTION_ID_SELECTION8
Definition s_baltst_featuretestmessage.h:119
bool isSelection10Value() const
Definition s_baltst_featuretestmessage.h:881
int manipulateSelection(MANIPULATOR &manipulator)
Definition s_baltst_featuretestmessage.h:580
bdlt::DatetimeTz & makeSelection5(const bdlt::DatetimeTz &value)
bool isSelection7Value() const
Definition s_baltst_featuretestmessage.h:863
s_baltst::UnsignedSequence & makeSelection10()
FeatureTestMessage(bslma::Allocator *basicAllocator=0)
Definition s_baltst_featuretestmessage.h:566
s_baltst::CustomString & selection6()
Definition s_baltst_featuretestmessage.h:658
bool isSelection11Value() const
Definition s_baltst_featuretestmessage.h:887
bdlt::DatetimeTz & selection5()
Definition s_baltst_featuretestmessage.h:651
s_baltst::VoidSequence & makeSelection9(const s_baltst::VoidSequence &value)
bsls::ObjectBuffer< s_baltst::CustomString > d_selection6
Definition s_baltst_featuretestmessage.h:96
static const bdlat_SelectionInfo SELECTION_INFO_ARRAY[]
Definition s_baltst_featuretestmessage.h:146
@ SELECTION_INDEX_SELECTION10
Definition s_baltst_featuretestmessage.h:139
@ SELECTION_INDEX_SELECTION9
Definition s_baltst_featuretestmessage.h:138
@ SELECTION_INDEX_SELECTION5
Definition s_baltst_featuretestmessage.h:134
@ SELECTION_INDEX_SELECTION8
Definition s_baltst_featuretestmessage.h:137
@ SELECTION_INDEX_SELECTION3
Definition s_baltst_featuretestmessage.h:132
@ SELECTION_INDEX_SELECTION7
Definition s_baltst_featuretestmessage.h:136
@ SELECTION_INDEX_SELECTION1
Definition s_baltst_featuretestmessage.h:130
@ SELECTION_INDEX_SELECTION11
Definition s_baltst_featuretestmessage.h:140
@ SELECTION_INDEX_SELECTION2
Definition s_baltst_featuretestmessage.h:131
@ SELECTION_INDEX_SELECTION4
Definition s_baltst_featuretestmessage.h:133
@ SELECTION_INDEX_SELECTION6
Definition s_baltst_featuretestmessage.h:135
s_baltst::Sequence2 & makeSelection3(const s_baltst::Sequence2 &value)
bsl::vector< char > & selection2()
Definition s_baltst_featuretestmessage.h:630
s_baltst::Enumerated::Value & makeSelection7(s_baltst::Enumerated::Value value)
s_baltst::CustomString & makeSelection6(const s_baltst::CustomString &value)
s_baltst::UnsignedSequence & selection10()
Definition s_baltst_featuretestmessage.h:686
int accessSelection(ACCESSOR &accessor) const
Definition s_baltst_featuretestmessage.h:707
bsls::ObjectBuffer< s_baltst::Sequence1 > d_selection1
Definition s_baltst_featuretestmessage.h:91
bsl::vector< char > & makeSelection2()
s_baltst::VoidSequence & makeSelection9()
bool isSelection4Value() const
Definition s_baltst_featuretestmessage.h:845
s_baltst::Enumerated::Value & makeSelection7()
s_baltst::Sequence1 & makeSelection1(const s_baltst::Sequence1 &value)
s_baltst::CustomString & makeSelection6()
static const bdlat_SelectionInfo * lookupSelectionInfo(int id)
bool isSelection8Value() const
Definition s_baltst_featuretestmessage.h:869
s_baltst::Sequence3 & selection4()
Definition s_baltst_featuretestmessage.h:644
s_baltst::VoidSequence & selection9()
Definition s_baltst_featuretestmessage.h:679
bool isSelection6Value() const
Definition s_baltst_featuretestmessage.h:857
bool isSelection5Value() const
Definition s_baltst_featuretestmessage.h:851
s_baltst::Sequence3 & makeSelection4()
bsls::ObjectBuffer< s_baltst::Enumerated::Value > d_selection7
Definition s_baltst_featuretestmessage.h:97
bsls::ObjectBuffer< s_baltst::Sequence2 > d_selection3
Definition s_baltst_featuretestmessage.h:93
const char * selectionName() const
Return the symbolic name of the current selection of this object.
bsl::vector< char > & makeSelection2(const bsl::vector< char > &value)
bsls::ObjectBuffer< s_baltst::SequenceWithAnonymity > d_selection11
Definition s_baltst_featuretestmessage.h:101
s_baltst::SequenceWithAnonymity & makeSelection11()
Definition s_baltst_ratsnest.h:2224
Definition s_baltst_ratsnest.h:2474
Definition s_baltst_ratsnest.h:95
Definition s_baltst_sequencewithanonymity.h:832
Definition s_baltst_unsignedsequence.h:69
Definition s_baltst_voidsequence.h:67
#define BDLAT_DECL_CHOICE_WITH_ALLOCATOR_BITWISEMOVEABLE_TRAITS(ClassName)
Definition bdlat_typetraits.h:249
#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_selectioninfo.h:136
Value
Definition s_baltst_enumerated.h:71
TYPE & object()
Definition bsls_objectbuffer.h:351