8#ifndef INCLUDED_S_BALTST_TIMINGREQUEST
9#define INCLUDED_S_BALTST_TIMINGREQUEST
43#include <bslalg_typetraits.h>
63#include <bsl_iosfwd.h>
64#include <bsl_limits.h>
68namespace bslma {
class Allocator; }
70namespace s_baltst {
class TimingRequest; }
145#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
146 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
170#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
171 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
195#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
196 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
205#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
206 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
215#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
216 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
228 template<
class MANIPULATOR>
259 bsl::ostream&
print(bsl::ostream& stream,
261 int spacesPerLevel = 4)
const;
271 template<
class ACCESSOR>
348: d_selectionId(SELECTION_ID_UNDEFINED)
349, d_allocator_p(
bslma::Default::allocator(basicAllocator))
360template <
class MANIPULATOR>
363 switch (d_selectionId) {
404 return d_selectionId;
407template <
class ACCESSOR>
410 switch (d_selectionId) {
482 case Class::SELECTION_ID_SQRT:
484 case Class::SELECTION_ID_BASIC:
486 case Class::SELECTION_ID_BIG:
487 return lhs.
big() == rhs.
big();
503 return !(lhs == rhs);
508 bsl::ostream& stream,
511 return rhs.
print(stream, 0, -1);
Definition bslma_allocator.h:457
Definition s_baltst_basicrecord.h:78
Definition s_baltst_bigrecord.h:80
Definition s_baltst_sqrt.h:70
Definition s_baltst_timingrequest.h:80
TimingRequest & operator=(const TimingRequest &rhs)
Assign to this object the value of the specified rhs object.
int makeSelection(const char *name, int nameLength)
bool isUndefinedValue() const
Definition s_baltst_timingrequest.h:466
bsls::ObjectBuffer< s_baltst::Sqrt > d_sqrt
Definition s_baltst_timingrequest.h:84
static const char CLASS_NAME[]
Definition s_baltst_timingrequest.h:113
static const bdlat_SelectionInfo SELECTION_INFO_ARRAY[]
Definition s_baltst_timingrequest.h:115
s_baltst::Sqrt & makeSqrt(const s_baltst::Sqrt &value)
const char * selectionName() const
Return the symbolic name of the current selection of this object.
s_baltst::BasicRecord & basic()
Definition s_baltst_timingrequest.h:387
s_baltst::Sqrt & makeSqrt()
bool isSqrtValue() const
Definition s_baltst_timingrequest.h:448
int selectionId() const
Definition s_baltst_timingrequest.h:402
static const bdlat_SelectionInfo * lookupSelectionInfo(const char *name, int nameLength)
bsls::ObjectBuffer< s_baltst::BasicRecord > d_basic
Definition s_baltst_timingrequest.h:85
bsls::ObjectBuffer< s_baltst::BigRecord > d_big
Definition s_baltst_timingrequest.h:86
s_baltst::BasicRecord & makeBasic(const s_baltst::BasicRecord &value)
@ SELECTION_INDEX_BASIC
Definition s_baltst_timingrequest.h:108
@ SELECTION_INDEX_SQRT
Definition s_baltst_timingrequest.h:107
@ SELECTION_INDEX_BIG
Definition s_baltst_timingrequest.h:109
s_baltst::BigRecord & makeBig(const s_baltst::BigRecord &value)
int accessSelection(ACCESSOR &accessor) const
Definition s_baltst_timingrequest.h:408
TimingRequest(const TimingRequest &original, bslma::Allocator *basicAllocator=0)
TimingRequest(bslma::Allocator *basicAllocator=0)
Definition s_baltst_timingrequest.h:347
s_baltst::BasicRecord & makeBasic()
s_baltst::BigRecord & makeBig()
bool isBasicValue() const
Definition s_baltst_timingrequest.h:454
static const bdlat_SelectionInfo * lookupSelectionInfo(int id)
s_baltst::Sqrt & sqrt()
Definition s_baltst_timingrequest.h:380
@ NUM_SELECTIONS
Definition s_baltst_timingrequest.h:103
bool isBigValue() const
Definition s_baltst_timingrequest.h:460
s_baltst::BigRecord & big()
Definition s_baltst_timingrequest.h:394
int manipulateSelection(MANIPULATOR &manipulator)
Definition s_baltst_timingrequest.h:361
int makeSelection(int selectionId)
@ SELECTION_ID_UNDEFINED
Definition s_baltst_timingrequest.h:96
@ SELECTION_ID_BASIC
Definition s_baltst_timingrequest.h:98
@ SELECTION_ID_SQRT
Definition s_baltst_timingrequest.h:97
@ SELECTION_ID_BIG
Definition s_baltst_timingrequest.h:99
~TimingRequest()
Destroy this object.
Definition s_baltst_timingrequest.h:354
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
#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