BDE 4.39.x Production Release
Loading...
Searching...
No Matches
s_baltst_mysequencewithnullableanonymouschoice.h
Go to the documentation of this file.
1/// @file s_baltst_mysequencewithnullableanonymouschoice.h
2///
3/// The content of this file has been pre-processed for Doxygen.
4///
5
6
7// s_baltst_mysequencewithnullableanonymouschoice.h*DO NOT EDIT*@generated -*-C++-*-
8#ifndef INCLUDED_S_BALTST_MYSEQUENCEWITHNULLABLEANONYMOUSCHOICE
9#define INCLUDED_S_BALTST_MYSEQUENCEWITHNULLABLEANONYMOUSCHOICE
10
11#include <bsls_ident.h>
12BSLS_IDENT_RCSID(s_baltst_mysequencewithnullableanonymouschoice_h,"$Id$ $CSID$")
14
15/// @defgroup s_baltst_mysequencewithnullableanonymouschoice s_baltst_mysequencewithnullableanonymouschoice
16/// @brief Provide value-semantic attribute classes
17/// @addtogroup Standalones
18/// @{
19/// @addtogroup s_baltst
20/// @{
21/// @addtogroup s_baltst_mysequencewithnullableanonymouschoice
22/// @{
23///
24/// <h1> Outline </h1>
25/// * <a href="#s_baltst_mysequencewithnullableanonymouschoice-purpose"> Purpose</a>
26///
27/// # Purpose {#s_baltst_mysequencewithnullableanonymouschoice-purpose}
28/// Provide value-semantic attribute classes
29/// @}
30/** @} */
31/** @} */
32
33/** @addtogroup Standalones
34 * @{
35 */
36/** @addtogroup s_baltst
37 * @{
38 */
39/** @addtogroup s_baltst_mysequencewithnullableanonymouschoice
40 * @{
41 */
42
43#include <bslalg_typetraits.h>
44
45#include <bdlat_attributeinfo.h>
46
47#include <bdlat_selectioninfo.h>
48
49#include <bdlat_typetraits.h>
50
51#include <bsls_objectbuffer.h>
52
53#include <bsls_assert.h>
54
55#include <bdlb_nullablevalue.h>
56
57#include <bsl_iosfwd.h>
58#include <bsl_limits.h>
59
60
61
62namespace s_baltst { class MySequenceWithNullableAnonymousChoiceChoice; }
63namespace s_baltst { class MySequenceWithNullableAnonymousChoice; }
64namespace s_baltst {
65
66 // =================================================
67 // class MySequenceWithNullableAnonymousChoiceChoice
68 // =================================================
69
71
72 // INSTANCE DATA
73 union {
76 };
77
78 int d_selectionId;
79
80 public:
81 // TYPES
82
83 enum {
87 };
88
89 enum {
91 };
92
93 enum {
96 };
97
98 // CONSTANTS
99 static const char CLASS_NAME[];
100
102
103 // CLASS METHODS
104
105 /// Return selection information for the selection indicated by the
106 /// specified `id` if the selection exists, and 0 otherwise.
108
109 /// Return selection information for the selection indicated by the
110 /// specified `name` of the specified `nameLength` if the selection
111 /// exists, and 0 otherwise.
113 const char *name,
114 int nameLength);
115
116 // CREATORS
117
118 /// Create an object of type
119 /// `MySequenceWithNullableAnonymousChoiceChoice` having the default
120 /// value.
122
123 /// Create an object of type
124 /// `MySequenceWithNullableAnonymousChoiceChoice` having the value of
125 /// the specified `original` object.
127
128#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
129 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
130 /// Create an object of type
131 /// `MySequenceWithNullableAnonymousChoiceChoice` having the value of
132 /// the specified `original` object. After performing this action, the
133 /// `original` object will be left in a valid, but unspecified state.
135#endif
136
137 /// Destroy this object.
139
140 // MANIPULATORS
141
142 /// Assign to this object the value of the specified `rhs` object.
144
145#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
146 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
147 /// Assign to this object the value of the specified `rhs` object.
148 /// After performing this action, the `rhs` object will be left in a
149 /// valid, but unspecified state.
151#endif
152
153 /// Reset this object to the default value (i.e., its value upon default
154 /// construction).
155 void reset();
156
157 /// Set the value of this object to be the default for the selection
158 /// indicated by the specified `selectionId`. Return 0 on success, and
159 /// non-zero value otherwise (i.e., the selection is not found).
161
162 /// Set the value of this object to be the default for the selection
163 /// indicated by the specified `name` of the specified `nameLength`.
164 /// Return 0 on success, and non-zero value otherwise (i.e., the
165 /// selection is not found).
166 int makeSelection(const char *name, int nameLength);
167
168 /// Set the value of this object to be a "ChoiceA" value. Optionally
169 /// specify the `value` of the "ChoiceA". If `value` is not specified,
170 /// the default "ChoiceA" value is used.
172 int& makeChoiceA(int value);
173
174 /// Set the value of this object to be a "ChoiceB" value. Optionally
175 /// specify the `value` of the "ChoiceB". If `value` is not specified,
176 /// the default "ChoiceB" value is used.
178 int& makeChoiceB(int value);
179
180 /// Invoke the specified `manipulator` on the address of the modifiable
181 /// selection, supplying `manipulator` with the corresponding selection
182 /// information structure. Return the value returned from the
183 /// invocation of `manipulator` if this object has a defined selection,
184 /// and -1 otherwise.
185 template<class MANIPULATOR>
186 int manipulateSelection(MANIPULATOR& manipulator);
187
188 /// Return a reference to the modifiable "ChoiceA" selection of this
189 /// object if "ChoiceA" is the current selection.
190 ///
191 /// \pre The behavior is undefined unless "ChoiceA" is the selection of this object.
192 int& choiceA();
193
194 /// Return a reference to the modifiable "ChoiceB" selection of this
195 /// object if "ChoiceB" is the current selection.
196 ///
197 /// \pre The behavior is undefined unless "ChoiceB" is the selection of this object.
198 int& choiceB();
199
200 // ACCESSORS
201
202 /// Format this object to the specified output `stream` at the
203 /// optionally specified indentation `level` and return a reference to
204 /// the modifiable `stream`. If `level` is specified, optionally
205 /// specify `spacesPerLevel`, the number of spaces per indentation level
206 /// for this and all of its nested objects. Each line is indented by
207 /// the absolute value of `level * spacesPerLevel`. If `level` is
208 /// negative, suppress indentation of the first line. If
209 /// `spacesPerLevel` is negative, suppress line breaks and format the
210 /// entire output on one line. If `stream` is initially invalid, this operation has no effect.
211 ///
212 /// \note Note that a trailing newline is provided
213 /// in multiline mode only.
214 bsl::ostream& print(bsl::ostream& stream,
215 int level = 0,
216 int spacesPerLevel = 4) const;
217
218 /// Return the id of the current selection if the selection is defined,
219 /// and -1 otherwise.
220 int selectionId() const;
221
222 /// Invoke the specified `accessor` on the non-modifiable selection,
223 /// supplying `accessor` with the corresponding selection information
224 /// structure. Return the value returned from the invocation of
225 /// `accessor` if this object has a defined selection, and -1 otherwise.
226 template<class ACCESSOR>
227 int accessSelection(ACCESSOR& accessor) const;
228
229 /// Return a reference to the non-modifiable "ChoiceA" selection of this
230 /// object if "ChoiceA" is the current selection.
231 ///
232 /// \pre The behavior is undefined unless "ChoiceA" is the selection of this object.
233 const int& choiceA() const;
234
235 /// Return a reference to the non-modifiable "ChoiceB" selection of this
236 /// object if "ChoiceB" is the current selection.
237 ///
238 /// \pre The behavior is undefined unless "ChoiceB" is the selection of this object.
239 const int& choiceB() const;
240
241 /// Return `true` if the value of this object is a "ChoiceA" value, and
242 /// return `false` otherwise.
243 bool isChoiceAValue() const;
244
245 /// Return `true` if the value of this object is a "ChoiceB" value, and
246 /// return `false` otherwise.
247 bool isChoiceBValue() const;
248
249 /// Return `true` if the value of this object is undefined, and `false`
250 /// otherwise.
251 bool isUndefinedValue() const;
252
253 /// Return the symbolic name of the current selection of this object.
254 const char *selectionName() const;
255};
256
257// FREE OPERATORS
258
259/// Return `true` if the specified `lhs` and `rhs` objects have the same
260/// value, and `false` otherwise. Two `MySequenceWithNullableAnonymousChoiceChoice` objects have the same
261/// value if either the selections in both objects have the same ids and
262/// the same values, or both selections are undefined.
263inline
265
266/// Return `true` if the specified `lhs` and `rhs` objects do not have the
267/// same values, as determined by `operator==`, and `false` otherwise.
268inline
270
271/// Format the specified `rhs` to the specified output `stream` and
272/// return a reference to the modifiable `stream`.
273inline
274bsl::ostream& operator<<(bsl::ostream& stream, const MySequenceWithNullableAnonymousChoiceChoice& rhs);
275
276} // close package namespace
277
278// TRAITS
279
281
282namespace s_baltst {
283
284 // ===========================================
285 // class MySequenceWithNullableAnonymousChoice
286 // ===========================================
287
289
290 // INSTANCE DATA
292
293 public:
294 // TYPES
295 enum {
297 };
298
299 enum {
301 };
302
303 enum {
305 };
306
307 // CONSTANTS
308 static const char CLASS_NAME[];
309
311
312 public:
313 // CLASS METHODS
314
315 /// Return attribute information for the attribute indicated by the
316 /// specified `id` if the attribute exists, and 0 otherwise.
318
319 /// Return attribute information for the attribute indicated by the
320 /// specified `name` of the specified `nameLength` if the attribute
321 /// exists, and 0 otherwise.
323 const char *name,
324 int nameLength);
325
326 // CREATORS
327
328 /// Create an object of type `MySequenceWithNullableAnonymousChoice`
329 /// having the default value.
331
332 /// Create an object of type `MySequenceWithNullableAnonymousChoice`
333 /// having the value of the specified `original` object.
335
336#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
337 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
338 /// Create an object of type `MySequenceWithNullableAnonymousChoice`
339 /// having the value of the specified `original` object. After
340 /// performing this action, the `original` object will be left in a
341 /// valid, but unspecified state.
343#endif
344
345 /// Destroy this object.
347
348 // MANIPULATORS
349
350 /// Assign to this object the value of the specified `rhs` object.
352
353#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
354 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
355 /// Assign to this object the value of the specified `rhs` object.
356 /// After performing this action, the `rhs` object will be left in a
357 /// valid, but unspecified state.
359#endif
360
361 /// Reset this object to the default value (i.e., its value upon
362 /// default construction).
363 void reset();
364
365 /// Invoke the specified `manipulator` sequentially on the address of
366 /// each (modifiable) attribute of this object, supplying `manipulator`
367 /// with the corresponding attribute information structure until such
368 /// invocation returns a non-zero value. Return the value from the
369 /// last invocation of `manipulator` (i.e., the invocation that
370 /// terminated the sequence).
371 template<class MANIPULATOR>
372 int manipulateAttributes(MANIPULATOR& manipulator);
373
374 /// Invoke the specified `manipulator` on the address of
375 /// the (modifiable) attribute indicated by the specified `id`,
376 /// supplying `manipulator` with the corresponding attribute
377 /// information structure. Return the value returned from the
378 /// invocation of `manipulator` if `id` identifies an attribute of this
379 /// class, and -1 otherwise.
380 template<class MANIPULATOR>
381 int manipulateAttribute(MANIPULATOR& manipulator, int id);
382
383 /// Invoke the specified `manipulator` on the address of
384 /// the (modifiable) attribute indicated by the specified `name` of the
385 /// specified `nameLength`, supplying `manipulator` with the
386 /// corresponding attribute information structure. Return the value
387 /// returned from the invocation of `manipulator` if `name` identifies
388 /// an attribute of this class, and -1 otherwise.
389 template<class MANIPULATOR>
390 int manipulateAttribute(MANIPULATOR& manipulator,
391 const char *name,
392 int nameLength);
393
394 /// Return a reference to the modifiable "Choice" attribute of this
395 /// object.
397
398 // ACCESSORS
399
400 /// Format this object to the specified output `stream` at the
401 /// optionally specified indentation `level` and return a reference to
402 /// the modifiable `stream`. If `level` is specified, optionally
403 /// specify `spacesPerLevel`, the number of spaces per indentation level
404 /// for this and all of its nested objects. Each line is indented by
405 /// the absolute value of `level * spacesPerLevel`. If `level` is
406 /// negative, suppress indentation of the first line. If
407 /// `spacesPerLevel` is negative, suppress line breaks and format the
408 /// entire output on one line. If `stream` is initially invalid, this operation has no effect.
409 ///
410 /// \note Note that a trailing newline is provided
411 /// in multiline mode only.
412 bsl::ostream& print(bsl::ostream& stream,
413 int level = 0,
414 int spacesPerLevel = 4) const;
415
416 /// Invoke the specified `accessor` sequentially on each
417 /// (non-modifiable) attribute of this object, supplying `accessor`
418 /// with the corresponding attribute information structure until such
419 /// invocation returns a non-zero value. Return the value from the
420 /// last invocation of `accessor` (i.e., the invocation that terminated
421 /// the sequence).
422 template<class ACCESSOR>
423 int accessAttributes(ACCESSOR& accessor) const;
424
425 /// Invoke the specified `accessor` on the (non-modifiable) attribute
426 /// of this object indicated by the specified `id`, supplying `accessor`
427 /// with the corresponding attribute information structure. Return the
428 /// value returned from the invocation of `accessor` if `id` identifies
429 /// an attribute of this class, and -1 otherwise.
430 template<class ACCESSOR>
431 int accessAttribute(ACCESSOR& accessor, int id) const;
432
433 /// Invoke the specified `accessor` on the (non-modifiable) attribute
434 /// of this object indicated by the specified `name` of the specified
435 /// `nameLength`, supplying `accessor` with the corresponding attribute
436 /// information structure. Return the value returned from the
437 /// invocation of `accessor` if `name` identifies an attribute of this
438 /// class, and -1 otherwise.
439 template<class ACCESSOR>
440 int accessAttribute(ACCESSOR& accessor,
441 const char *name,
442 int nameLength) const;
443
444 /// Return a reference offering non-modifiable access to the "Choice"
445 /// attribute of this object.
447};
448
449// FREE OPERATORS
450
451/// Return `true` if the specified `lhs` and `rhs` attribute objects have
452/// the same value, and `false` otherwise. Two attribute objects have the
453/// same value if each respective attribute has the same value.
454inline
456
457/// Return `true` if the specified `lhs` and `rhs` attribute objects do not
458/// have the same value, and `false` otherwise. Two attribute objects do
459/// not have the same value if one or more respective attributes differ in
460/// values.
461inline
463
464/// Format the specified `rhs` to the specified output `stream` and
465/// return a reference to the modifiable `stream`.
466inline
467bsl::ostream& operator<<(bsl::ostream& stream, const MySequenceWithNullableAnonymousChoice& rhs);
468
469} // close package namespace
470
471// TRAITS
472
474
475// ============================================================================
476// INLINE FUNCTION DEFINITIONS
477// ============================================================================
478
479namespace s_baltst {
480
481 // -------------------------------------------------
482 // class MySequenceWithNullableAnonymousChoiceChoice
483 // -------------------------------------------------
484
485// CLASS METHODS
486// CREATORS
487inline
492
493inline
498
499// MANIPULATORS
500template <class MANIPULATOR>
515
516inline
522
523inline
529
530// ACCESSORS
531inline
533{
534 return d_selectionId;
535}
536
537template <class ACCESSOR>
539{
540 switch (d_selectionId) {
542 return accessor(d_choiceA.object(),
545 return accessor(d_choiceB.object(),
547 default:
548 BSLS_ASSERT(SELECTION_ID_UNDEFINED == d_selectionId);
549 return -1;
550 }
551}
552
553inline
555{
556 BSLS_ASSERT(SELECTION_ID_CHOICE_A == d_selectionId);
557 return d_choiceA.object();
558}
559
560inline
562{
563 BSLS_ASSERT(SELECTION_ID_CHOICE_B == d_selectionId);
564 return d_choiceB.object();
565}
566
567inline
572
573inline
578
579inline
584
585
586 // -------------------------------------------
587 // class MySequenceWithNullableAnonymousChoice
588 // -------------------------------------------
589
590// CLASS METHODS
591// MANIPULATORS
592template <class MANIPULATOR>
594{
595 int ret;
596
597 ret = manipulator(&d_choice, ATTRIBUTE_INFO_ARRAY[ATTRIBUTE_INDEX_CHOICE]);
598 if (ret) {
599 return ret;
600 }
601
602 return ret;
603}
604
605template <class MANIPULATOR>
607{
608 enum { NOT_FOUND = -1 };
609
610 switch (id) {
611 case ATTRIBUTE_ID_CHOICE: {
612 return manipulator(&d_choice, ATTRIBUTE_INFO_ARRAY[ATTRIBUTE_INDEX_CHOICE]);
613 }
614 default:
615 return NOT_FOUND;
616 }
617}
618
619template <class MANIPULATOR>
621 MANIPULATOR& manipulator,
622 const char *name,
623 int nameLength)
624{
625 enum { NOT_FOUND = -1 };
626
627 const bdlat_AttributeInfo *attributeInfo =
628 lookupAttributeInfo(name, nameLength);
629 if (0 == attributeInfo) {
630 return NOT_FOUND;
631 }
632
633 return manipulateAttribute(manipulator, attributeInfo->d_id);
634}
635
636inline
641
642// ACCESSORS
643template <class ACCESSOR>
645{
646 int ret;
647
648 ret = accessor(d_choice, ATTRIBUTE_INFO_ARRAY[ATTRIBUTE_INDEX_CHOICE]);
649 if (ret) {
650 return ret;
651 }
652
653 return ret;
654}
655
656template <class ACCESSOR>
658{
659 enum { NOT_FOUND = -1 };
660
661 switch (id) {
662 case ATTRIBUTE_ID_CHOICE: {
663 return accessor(d_choice, ATTRIBUTE_INFO_ARRAY[ATTRIBUTE_INDEX_CHOICE]);
664 }
665 default:
666 return NOT_FOUND;
667 }
668}
669
670template <class ACCESSOR>
672 ACCESSOR& accessor,
673 const char *name,
674 int nameLength) const
675{
676 enum { NOT_FOUND = -1 };
677
678 const bdlat_AttributeInfo *attributeInfo =
679 lookupAttributeInfo(name, nameLength);
680 if (0 == attributeInfo) {
681 return NOT_FOUND;
682 }
683
684 return accessAttribute(accessor, attributeInfo->d_id);
685}
686
687inline
692
693} // close package namespace
694
695// FREE FUNCTIONS
696
697inline
701{
703 if (lhs.selectionId() == rhs.selectionId()) {
704 switch (rhs.selectionId()) {
705 case Class::SELECTION_ID_CHOICE_A:
706 return lhs.choiceA() == rhs.choiceA();
707 case Class::SELECTION_ID_CHOICE_B:
708 return lhs.choiceB() == rhs.choiceB();
709 default:
710 BSLS_ASSERT(Class::SELECTION_ID_UNDEFINED == rhs.selectionId());
711 return true;
712 }
713 }
714 else {
715 return false;
716 }
717}
718
719inline
723{
724 return !(lhs == rhs);
725}
726
727inline
728bsl::ostream& s_baltst::operator<<(
729 bsl::ostream& stream,
731{
732 return rhs.print(stream, 0, -1);
733}
734
735
736inline
740{
741 return lhs.choice() == rhs.choice();
742}
743
744inline
748{
749 return !(lhs == rhs);
750}
751
752inline
753bsl::ostream& s_baltst::operator<<(
754 bsl::ostream& stream,
756{
757 return rhs.print(stream, 0, -1);
758}
759
760
761#endif
762
763// GENERATED BY BLP_BAS_CODEGEN_2021.08.08
764// USING bas_codegen.pl s_baltst_mysequencewithnullableanonymouschoice.xsd -m msg -C mysequencewithnullableanonymouschoice -p s_baltst --noExternalization --noHashSupport --noAggregateConversion
765// ----------------------------------------------------------------------------
766// NOTICE:
767// Copyright 2021 Bloomberg Finance L.P. All rights reserved.
768// Property of Bloomberg Finance L.P. (BFLP)
769// This software is made available solely pursuant to the
770// terms of a BFLP license agreement which governs its use.
771// ------------------------------- END-OF-FILE --------------------------------
772
773/** @} */
774/** @} */
775/** @} */
Definition bdlb_nullablevalue.h:262
Definition s_baltst_mysequencewithnullableanonymouschoice.h:70
int & choiceB()
Definition s_baltst_mysequencewithnullableanonymouschoice.h:524
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< int > d_choiceA
Definition s_baltst_mysequencewithnullableanonymouschoice.h:74
int makeSelection(const char *name, int nameLength)
@ NUM_SELECTIONS
Definition s_baltst_mysequencewithnullableanonymouschoice.h:90
bool isUndefinedValue() const
Definition s_baltst_mysequencewithnullableanonymouschoice.h:580
static const char CLASS_NAME[]
Definition s_baltst_mysequencewithnullableanonymouschoice.h:99
static const bdlat_SelectionInfo * lookupSelectionInfo(const char *name, int nameLength)
MySequenceWithNullableAnonymousChoiceChoice(const MySequenceWithNullableAnonymousChoiceChoice &original)
static const bdlat_SelectionInfo * lookupSelectionInfo(int id)
static const bdlat_SelectionInfo SELECTION_INFO_ARRAY[]
Definition s_baltst_mysequencewithnullableanonymouschoice.h:101
int manipulateSelection(MANIPULATOR &manipulator)
Definition s_baltst_mysequencewithnullableanonymouschoice.h:501
MySequenceWithNullableAnonymousChoiceChoice()
Definition s_baltst_mysequencewithnullableanonymouschoice.h:488
@ SELECTION_ID_CHOICE_B
Definition s_baltst_mysequencewithnullableanonymouschoice.h:86
@ SELECTION_ID_CHOICE_A
Definition s_baltst_mysequencewithnullableanonymouschoice.h:85
@ SELECTION_ID_UNDEFINED
Definition s_baltst_mysequencewithnullableanonymouschoice.h:84
bsls::ObjectBuffer< int > d_choiceB
Definition s_baltst_mysequencewithnullableanonymouschoice.h:75
~MySequenceWithNullableAnonymousChoiceChoice()
Destroy this object.
Definition s_baltst_mysequencewithnullableanonymouschoice.h:494
@ SELECTION_INDEX_CHOICE_A
Definition s_baltst_mysequencewithnullableanonymouschoice.h:94
@ SELECTION_INDEX_CHOICE_B
Definition s_baltst_mysequencewithnullableanonymouschoice.h:95
bool isChoiceBValue() const
Definition s_baltst_mysequencewithnullableanonymouschoice.h:574
MySequenceWithNullableAnonymousChoiceChoice & operator=(const MySequenceWithNullableAnonymousChoiceChoice &rhs)
Assign to this object the value of the specified rhs object.
bool isChoiceAValue() const
Definition s_baltst_mysequencewithnullableanonymouschoice.h:568
int & choiceA()
Definition s_baltst_mysequencewithnullableanonymouschoice.h:517
int selectionId() const
Definition s_baltst_mysequencewithnullableanonymouschoice.h:532
int accessSelection(ACCESSOR &accessor) const
Definition s_baltst_mysequencewithnullableanonymouschoice.h:538
Definition s_baltst_mysequencewithnullableanonymouschoice.h:288
int accessAttributes(ACCESSOR &accessor) const
Definition s_baltst_mysequencewithnullableanonymouschoice.h:644
static const char CLASS_NAME[]
Definition s_baltst_mysequencewithnullableanonymouschoice.h:308
bdlb::NullableValue< MySequenceWithNullableAnonymousChoiceChoice > & choice()
Definition s_baltst_mysequencewithnullableanonymouschoice.h:637
@ ATTRIBUTE_INDEX_CHOICE
Definition s_baltst_mysequencewithnullableanonymouschoice.h:304
~MySequenceWithNullableAnonymousChoice()
Destroy this object.
int manipulateAttribute(MANIPULATOR &manipulator, int id)
Definition s_baltst_mysequencewithnullableanonymouschoice.h:606
MySequenceWithNullableAnonymousChoice(const MySequenceWithNullableAnonymousChoice &original)
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
int accessAttribute(ACCESSOR &accessor, int id) const
Definition s_baltst_mysequencewithnullableanonymouschoice.h:657
@ ATTRIBUTE_ID_CHOICE
Definition s_baltst_mysequencewithnullableanonymouschoice.h:296
@ NUM_ATTRIBUTES
Definition s_baltst_mysequencewithnullableanonymouschoice.h:300
static const bdlat_AttributeInfo * lookupAttributeInfo(const char *name, int nameLength)
static const bdlat_AttributeInfo ATTRIBUTE_INFO_ARRAY[]
Definition s_baltst_mysequencewithnullableanonymouschoice.h:310
int manipulateAttributes(MANIPULATOR &manipulator)
Definition s_baltst_mysequencewithnullableanonymouschoice.h:593
MySequenceWithNullableAnonymousChoice & operator=(const MySequenceWithNullableAnonymousChoice &rhs)
Assign to this object the value of the specified rhs object.
static const bdlat_AttributeInfo * lookupAttributeInfo(int id)
#define BDLAT_DECL_CHOICE_WITH_BITWISEMOVEABLE_TRAITS(ClassName)
Definition bdlat_typetraits.h:261
#define BDLAT_DECL_SEQUENCE_WITH_BITWISEMOVEABLE_TRAITS(ClassName)
Definition bdlat_typetraits.h:294
#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
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_selectioninfo.h:138
TYPE & object()
Definition bsls_objectbuffer.h:352