8#ifndef INCLUDED_S_BALTST_MYENUMERATIONUNPRESERVEDWITHFALLBACK
9#define INCLUDED_S_BALTST_MYENUMERATIONUNPRESERVEDWITHFALLBACK
12BSLS_IDENT_RCSID(s_baltst_myenumerationunpreservedwithfallback_h,
"$Id$ $CSID$")
43#include <bslalg_typetraits.h>
57#include <bsl_iosfwd.h>
58#include <bsl_limits.h>
60#include <bsl_ostream.h>
61#include <bsl_string.h>
65namespace s_baltst {
class MyEnumerationUnpreservedWithFallbackRecord; }
133 static bsl::ostream&
print(bsl::ostream& stream,
Value value);
206#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
207 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
223#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
224 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
241 template <
typename t_MANIPULATOR>
250 template <
typename t_MANIPULATOR>
259 template <
typename t_MANIPULATOR>
282 bsl::ostream&
print(bsl::ostream& stream,
284 int spacesPerLevel = 4)
const;
292 template <
typename t_ACCESSOR>
300 template <
typename t_ACCESSOR>
309 template <
typename t_ACCESSOR>
312 int nameLength)
const;
358 return fromString(result,
string.c_str(),
static_cast<int>(
string.length()));
395template <
typename t_MANIPULATOR>
408template <
typename t_MANIPULATOR>
411 enum { NOT_FOUND = -1 };
422template <
typename t_MANIPULATOR>
424 t_MANIPULATOR& manipulator,
428 enum { NOT_FOUND = -1 };
432 if (0 == attributeInfo) {
446template <
typename t_ACCESSOR>
459template <
typename t_ACCESSOR>
462 enum { NOT_FOUND = -1 };
473template <
typename t_ACCESSOR>
475 t_ACCESSOR& accessor,
477 int nameLength)
const
479 enum { NOT_FOUND = -1 };
483 if (0 == attributeInfo) {
502 bsl::ostream& stream,
513 return lhs.value() ==
rhs.value();
526 bsl::ostream& stream,
529 return rhs.print(stream, 0, -1);
Definition bslstl_string.h:1252
Definition s_baltst_myenumerationunpreservedwithfallback.h:156
int accessAttribute(t_ACCESSOR &accessor, int id) const
Definition s_baltst_myenumerationunpreservedwithfallback.h:460
~MyEnumerationUnpreservedWithFallbackRecord()
Destroy this object.
MyEnumerationUnpreservedWithFallbackRecord()
MyEnumerationUnpreservedWithFallbackRecord & operator=(const MyEnumerationUnpreservedWithFallbackRecord &rhs)
Assign to this object the value of the specified rhs object.
static const bdlat_AttributeInfo ATTRIBUTE_INFO_ARRAY[]
Definition s_baltst_myenumerationunpreservedwithfallback.h:178
static const bdlat_AttributeInfo * lookupAttributeInfo(int id)
int accessAttributes(t_ACCESSOR &accessor) const
Definition s_baltst_myenumerationunpreservedwithfallback.h:447
static const bdlat_AttributeInfo * lookupAttributeInfo(const char *name, int nameLength)
MyEnumerationUnpreservedWithFallback::Value & value()
Definition s_baltst_myenumerationunpreservedwithfallback.h:440
int manipulateAttribute(t_MANIPULATOR &manipulator, int id)
Definition s_baltst_myenumerationunpreservedwithfallback.h:409
@ ATTRIBUTE_INDEX_VALUE
Definition s_baltst_myenumerationunpreservedwithfallback.h:172
@ ATTRIBUTE_ID_VALUE
Definition s_baltst_myenumerationunpreservedwithfallback.h:164
static const char CLASS_NAME[]
Definition s_baltst_myenumerationunpreservedwithfallback.h:176
MyEnumerationUnpreservedWithFallbackRecord(const MyEnumerationUnpreservedWithFallbackRecord &original)
int manipulateAttributes(t_MANIPULATOR &manipulator)
Definition s_baltst_myenumerationunpreservedwithfallback.h:396
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
@ NUM_ATTRIBUTES
Definition s_baltst_myenumerationunpreservedwithfallback.h:168
#define BDLAT_DECL_ENUMERATION_WITH_FALLBACK_TRAITS(ClassName)
Definition bdlat_typetraits.h:324
#define BDLAT_DECL_SEQUENCE_WITH_BITWISEMOVEABLE_TRAITS(ClassName)
Definition bdlat_typetraits.h:294
#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
ALLOCATOR & lhs
Definition bslstl_string.h:3917
Definition s_baltst_address.h:66
bsl::ostream & operator<<(bsl::ostream &stream, const BasicSchemaAnnotationElement &rhs)
bool operator==(const BasicSchemaAnnotationElement &lhs, const BasicSchemaAnnotationElement &rhs)
bool operator!=(const BasicSchemaAnnotationElement &lhs, const BasicSchemaAnnotationElement &rhs)
Definition bdlat_attributeinfo.h:139
int d_id
Definition bdlat_attributeinfo.h:142
Definition bdlat_enumeratorinfo.h:99
Definition s_baltst_myenumerationunpreservedwithfallback.h:72
static int fromInt(Value *result, int number)
@ NUM_ENUMERATORS
Definition s_baltst_myenumerationunpreservedwithfallback.h:83
static bool isFallback(Value value)
Definition s_baltst_myenumerationunpreservedwithfallback.h:382
Value
Definition s_baltst_myenumerationunpreservedwithfallback.h:76
@ UNKNOWN
Definition s_baltst_myenumerationunpreservedwithfallback.h:77
@ VALUE2
Definition s_baltst_myenumerationunpreservedwithfallback.h:79
@ VALUE1
Definition s_baltst_myenumerationunpreservedwithfallback.h:78
static const char * toString(Value value)
static int makeFallback(Value *result)
Definition s_baltst_myenumerationunpreservedwithfallback.h:369
static bsl::ostream & print(bsl::ostream &stream, Value value)
Definition s_baltst_myenumerationunpreservedwithfallback.h:362
static bool hasFallback(Value)
Definition s_baltst_myenumerationunpreservedwithfallback.h:376
static const bdlat_EnumeratorInfo ENUMERATOR_INFO_ARRAY[]
Definition s_baltst_myenumerationunpreservedwithfallback.h:89
static const char CLASS_NAME[]
Definition s_baltst_myenumerationunpreservedwithfallback.h:87
static int fromString(Value *result, const char *string, int stringLength)