8#ifndef INCLUDED_S_BALTST_REQUEST
9#define INCLUDED_S_BALTST_REQUEST
43#include <bslalg_typetraits.h>
61#include <bsl_iosfwd.h>
62#include <bsl_limits.h>
66namespace bslma {
class Allocator; }
137#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
138 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
162#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
163 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
187#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
188 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
197#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
198 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
210 template<
class MANIPULATOR>
238 bsl::ostream&
print(bsl::ostream& stream,
240 int spacesPerLevel = 4)
const;
250 template<
class ACCESSOR>
320: d_selectionId(SELECTION_ID_UNDEFINED)
321, d_allocator_p(
bslma::Default::allocator(basicAllocator))
332template <
class MANIPULATOR>
335 switch (d_selectionId) {
366 return d_selectionId;
369template <
class ACCESSOR>
372 switch (d_selectionId) {
428 case Class::SELECTION_ID_SIMPLE_REQUEST:
430 case Class::SELECTION_ID_FEATURE_REQUEST:
447 return !(lhs == rhs);
452 bsl::ostream& stream,
455 return rhs.
print(stream, 0, -1);
Definition bslma_allocator.h:457
Definition s_baltst_featuretestmessage.h:87
Definition s_baltst_request.h:75
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< s_baltst::FeatureTestMessage > d_featureRequest
Definition s_baltst_request.h:80
@ NUM_SELECTIONS
Definition s_baltst_request.h:96
bsls::ObjectBuffer< s_baltst::SimpleRequest > d_simpleRequest
Definition s_baltst_request.h:79
static const bdlat_SelectionInfo * lookupSelectionInfo(const char *name, int nameLength)
int makeSelection(const char *name, int nameLength)
int accessSelection(ACCESSOR &accessor) const
Definition s_baltst_request.h:370
s_baltst::SimpleRequest & makeSimpleRequest()
int makeSelection(int selectionId)
bool isSimpleRequestValue() const
Definition s_baltst_request.h:400
s_baltst::FeatureTestMessage & makeFeatureRequest(const s_baltst::FeatureTestMessage &value)
s_baltst::SimpleRequest & simpleRequest()
Definition s_baltst_request.h:349
Request(bslma::Allocator *basicAllocator=0)
Definition s_baltst_request.h:319
Request(const Request &original, bslma::Allocator *basicAllocator=0)
int manipulateSelection(MANIPULATOR &manipulator)
Definition s_baltst_request.h:333
static const char CLASS_NAME[]
Definition s_baltst_request.h:105
@ SELECTION_INDEX_SIMPLE_REQUEST
Definition s_baltst_request.h:100
@ SELECTION_INDEX_FEATURE_REQUEST
Definition s_baltst_request.h:101
@ SELECTION_ID_SIMPLE_REQUEST
Definition s_baltst_request.h:91
@ SELECTION_ID_UNDEFINED
Definition s_baltst_request.h:90
@ SELECTION_ID_FEATURE_REQUEST
Definition s_baltst_request.h:92
static const bdlat_SelectionInfo SELECTION_INFO_ARRAY[]
Definition s_baltst_request.h:107
bool isUndefinedValue() const
Definition s_baltst_request.h:412
s_baltst::SimpleRequest & makeSimpleRequest(const s_baltst::SimpleRequest &value)
~Request()
Destroy this object.
Definition s_baltst_request.h:326
static const bdlat_SelectionInfo * lookupSelectionInfo(int id)
Request & operator=(const Request &rhs)
Assign to this object the value of the specified rhs object.
int selectionId() const
Definition s_baltst_request.h:364
bool isFeatureRequestValue() const
Definition s_baltst_request.h:406
s_baltst::FeatureTestMessage & featureRequest()
Definition s_baltst_request.h:356
s_baltst::FeatureTestMessage & makeFeatureRequest()
Definition s_baltst_simplerequest.h:73
#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
TYPE & object()
Definition bsls_objectbuffer.h:351