8#ifndef INCLUDED_S_BALTST_RESPONSE
9#define INCLUDED_S_BALTST_RESPONSE
43#include <bslalg_typetraits.h>
57#include <bsl_string.h>
61#include <bsl_iosfwd.h>
62#include <bsl_limits.h>
66namespace bslma {
class Allocator; }
68namespace s_baltst {
class Response; }
87 bool isEqualTo(
const Response& rhs)
const;
140#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
141 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
165#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
166 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
190#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
191 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
200#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
201 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
213 template <
typename t_MANIPULATOR>
244 bsl::ostream&
print(bsl::ostream& stream,
246 int spacesPerLevel = 4)
const;
256 template <
typename t_ACCESSOR>
296 return lhs.isEqualTo(rhs);
304 return !(lhs == rhs);
311 return rhs.print(stream, 0, -1);
334bool Response::isEqualTo(
const Response& rhs)
const
338 switch (
rhs.selectionId()) {
339 case Class::SELECTION_ID_RESPONSE_DATA:
341 case Class::SELECTION_ID_FEATURE_RESPONSE:
356: d_selectionId(SELECTION_ID_UNDEFINED)
357, d_allocator_p(
bslma::Default::allocator(basicAllocator))
368template <
typename t_MANIPULATOR>
371 switch (d_selectionId) {
402 return d_selectionId;
405template <
typename t_ACCESSOR>
408 switch (d_selectionId) {
Definition bslstl_string.h:1252
Definition bslma_allocator.h:545
Definition s_baltst_featuretestmessage.h:87
Definition s_baltst_response.h:75
bool isUndefinedValue() const
Definition s_baltst_response.h:448
int selectionId() const
Definition s_baltst_response.h:400
Response(const Response &original, bslma::Allocator *basicAllocator=0)
@ SELECTION_ID_UNDEFINED
Definition s_baltst_response.h:93
@ SELECTION_ID_RESPONSE_DATA
Definition s_baltst_response.h:94
@ SELECTION_ID_FEATURE_RESPONSE
Definition s_baltst_response.h:95
s_baltst::FeatureTestMessage & featureResponse()
Definition s_baltst_response.h:392
@ NUM_SELECTIONS
Definition s_baltst_response.h:99
s_baltst::FeatureTestMessage & makeFeatureResponse(const s_baltst::FeatureTestMessage &value)
static const bdlat_SelectionInfo * lookupSelectionInfo(int id)
friend bool operator!=(const Response &lhs, const Response &rhs)
Definition s_baltst_response.h:302
const char * selectionName() const
Return the symbolic name of the current selection of this object.
bsl::string & responseData()
Definition s_baltst_response.h:385
static const char CLASS_NAME[]
Definition s_baltst_response.h:108
bsls::ObjectBuffer< s_baltst::FeatureTestMessage > d_featureResponse
Definition s_baltst_response.h:80
bool isResponseDataValue() const
Definition s_baltst_response.h:436
int manipulateSelection(t_MANIPULATOR &manipulator)
Definition s_baltst_response.h:369
static const bdlat_SelectionInfo * lookupSelectionInfo(const char *name, int nameLength)
s_baltst::FeatureTestMessage & makeFeatureResponse()
static const bdlat_SelectionInfo SELECTION_INFO_ARRAY[]
Definition s_baltst_response.h:110
@ SELECTION_INDEX_FEATURE_RESPONSE
Definition s_baltst_response.h:104
@ SELECTION_INDEX_RESPONSE_DATA
Definition s_baltst_response.h:103
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
friend bool operator==(const Response &lhs, const Response &rhs)
Definition s_baltst_response.h:294
int makeSelection(const char *name, int nameLength)
~Response()
Destroy this object.
Definition s_baltst_response.h:362
bsls::ObjectBuffer< bsl::string > d_responseData
Definition s_baltst_response.h:79
bsl::string & makeResponseData()
friend bsl::ostream & operator<<(bsl::ostream &stream, const Response &rhs)
Definition s_baltst_response.h:309
int makeSelection(int selectionId)
Response & operator=(const Response &rhs)
Assign to this object the value of the specified rhs object.
int accessSelection(t_ACCESSOR &accessor) const
Definition s_baltst_response.h:406
bsl::string & makeResponseData(const bsl::string &value)
bool isFeatureResponseValue() const
Definition s_baltst_response.h:442
Response(bslma::Allocator *basicAllocator=0)
Definition s_baltst_response.h:355
#define BDLAT_DECL_CHOICE_WITH_ALLOCATOR_BITWISEMOVEABLE_TRAITS(ClassName)
Definition bdlat_typetraits.h:268
#define BSLS_ASSERT(X)
Definition bsls_assert.h:1976
#define BSLS_IDENT_RCSID(tag, str)
BSLS_IDENT_RCSID() - insert ident str (specific to platform/compiler)
Definition bsls_ident.h:244
#define BSLS_IDENT_PRAGMA_ONCE
BSLS_IDENT_PRAGMA_ONCE - macro to avoid multiple inclusion
Definition bsls_ident.h:263
ALLOCATOR const STRING_VIEW_LIKE_TYPE & rhs
Definition bslstl_string.h:3918
Definition baljsn_encoder_testtypes.h:76
Definition s_baltst_address.h:66
Definition bdlat_selectioninfo.h:138
Definition bsls_objectbuffer.h:277
TYPE & object()
Definition bsls_objectbuffer.h:352