BDE 4.14.0 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. The behavior is
190 /// undefined unless "ChoiceA" is the selection of this object.
191 int& choiceA();
192
193 /// Return a reference to the modifiable "ChoiceB" selection of this
194 /// object if "ChoiceB" is the current selection. The behavior is
195 /// undefined unless "ChoiceB" is the selection of this object.
196 int& choiceB();
197
198 // ACCESSORS
199
200 /// Format this object to the specified output `stream` at the
201 /// optionally specified indentation `level` and return a reference to
202 /// the modifiable `stream`. If `level` is specified, optionally
203 /// specify `spacesPerLevel`, the number of spaces per indentation level
204 /// for this and all of its nested objects. Each line is indented by
205 /// the absolute value of `level * spacesPerLevel`. If `level` is
206 /// negative, suppress indentation of the first line. If
207 /// `spacesPerLevel` is negative, suppress line breaks and format the
208 /// entire output on one line. If `stream` is initially invalid, this
209 /// operation has no effect. Note that a trailing newline is provided
210 /// in multiline mode only.
211 bsl::ostream& print(bsl::ostream& stream,
212 int level = 0,
213 int spacesPerLevel = 4) const;
214
215 /// Return the id of the current selection if the selection is defined,
216 /// and -1 otherwise.
217 int selectionId() const;
218
219 /// Invoke the specified `accessor` on the non-modifiable selection,
220 /// supplying `accessor` with the corresponding selection information
221 /// structure. Return the value returned from the invocation of
222 /// `accessor` if this object has a defined selection, and -1 otherwise.
223 template<class ACCESSOR>
224 int accessSelection(ACCESSOR& accessor) const;
225
226 /// Return a reference to the non-modifiable "ChoiceA" selection of this
227 /// object if "ChoiceA" is the current selection. The behavior is
228 /// undefined unless "ChoiceA" is the selection of this object.
229 const int& choiceA() const;
230
231 /// Return a reference to the non-modifiable "ChoiceB" selection of this
232 /// object if "ChoiceB" is the current selection. The behavior is
233 /// undefined unless "ChoiceB" is the selection of this object.
234 const int& choiceB() const;
235
236 /// Return `true` if the value of this object is a "ChoiceA" value, and
237 /// return `false` otherwise.
238 bool isChoiceAValue() const;
239
240 /// Return `true` if the value of this object is a "ChoiceB" value, and
241 /// return `false` otherwise.
242 bool isChoiceBValue() const;
243
244 /// Return `true` if the value of this object is undefined, and `false`
245 /// otherwise.
246 bool isUndefinedValue() const;
247
248 /// Return the symbolic name of the current selection of this object.
249 const char *selectionName() const;
250};
251
252// FREE OPERATORS
253
254/// Return `true` if the specified `lhs` and `rhs` objects have the same
255/// value, and `false` otherwise. Two `MySequenceWithNullableAnonymousChoiceChoice` objects have the same
256/// value if either the selections in both objects have the same ids and
257/// the same values, or both selections are undefined.
258inline
260
261/// Return `true` if the specified `lhs` and `rhs` objects do not have the
262/// same values, as determined by `operator==`, and `false` otherwise.
263inline
265
266/// Format the specified `rhs` to the specified output `stream` and
267/// return a reference to the modifiable `stream`.
268inline
269bsl::ostream& operator<<(bsl::ostream& stream, const MySequenceWithNullableAnonymousChoiceChoice& rhs);
270
271} // close package namespace
272
273// TRAITS
274
276
277namespace s_baltst {
278
279 // ===========================================
280 // class MySequenceWithNullableAnonymousChoice
281 // ===========================================
282
284
285 // INSTANCE DATA
287
288 public:
289 // TYPES
290 enum {
292 };
293
294 enum {
296 };
297
298 enum {
300 };
301
302 // CONSTANTS
303 static const char CLASS_NAME[];
304
306
307 public:
308 // CLASS METHODS
309
310 /// Return attribute information for the attribute indicated by the
311 /// specified `id` if the attribute exists, and 0 otherwise.
313
314 /// Return attribute information for the attribute indicated by the
315 /// specified `name` of the specified `nameLength` if the attribute
316 /// exists, and 0 otherwise.
318 const char *name,
319 int nameLength);
320
321 // CREATORS
322
323 /// Create an object of type `MySequenceWithNullableAnonymousChoice`
324 /// having the default value.
326
327 /// Create an object of type `MySequenceWithNullableAnonymousChoice`
328 /// having the value of the specified `original` object.
330
331#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
332 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
333 /// Create an object of type `MySequenceWithNullableAnonymousChoice`
334 /// having the value of the specified `original` object. After
335 /// performing this action, the `original` object will be left in a
336 /// valid, but unspecified state.
338#endif
339
340 /// Destroy this object.
342
343 // MANIPULATORS
344
345 /// Assign to this object the value of the specified `rhs` object.
347
348#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
349 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
350 /// Assign to this object the value of the specified `rhs` object.
351 /// After performing this action, the `rhs` object will be left in a
352 /// valid, but unspecified state.
354#endif
355
356 /// Reset this object to the default value (i.e., its value upon
357 /// default construction).
358 void reset();
359
360 /// Invoke the specified `manipulator` sequentially on the address of
361 /// each (modifiable) attribute of this object, supplying `manipulator`
362 /// with the corresponding attribute information structure until such
363 /// invocation returns a non-zero value. Return the value from the
364 /// last invocation of `manipulator` (i.e., the invocation that
365 /// terminated the sequence).
366 template<class MANIPULATOR>
367 int manipulateAttributes(MANIPULATOR& manipulator);
368
369 /// Invoke the specified `manipulator` on the address of
370 /// the (modifiable) attribute indicated by the specified `id`,
371 /// supplying `manipulator` with the corresponding attribute
372 /// information structure. Return the value returned from the
373 /// invocation of `manipulator` if `id` identifies an attribute of this
374 /// class, and -1 otherwise.
375 template<class MANIPULATOR>
376 int manipulateAttribute(MANIPULATOR& manipulator, int id);
377
378 /// Invoke the specified `manipulator` on the address of
379 /// the (modifiable) attribute indicated by the specified `name` of the
380 /// specified `nameLength`, supplying `manipulator` with the
381 /// corresponding attribute information structure. Return the value
382 /// returned from the invocation of `manipulator` if `name` identifies
383 /// an attribute of this class, and -1 otherwise.
384 template<class MANIPULATOR>
385 int manipulateAttribute(MANIPULATOR& manipulator,
386 const char *name,
387 int nameLength);
388
389 /// Return a reference to the modifiable "Choice" attribute of this
390 /// object.
392
393 // ACCESSORS
394
395 /// Format this object to the specified output `stream` at the
396 /// optionally specified indentation `level` and return a reference to
397 /// the modifiable `stream`. If `level` is specified, optionally
398 /// specify `spacesPerLevel`, the number of spaces per indentation level
399 /// for this and all of its nested objects. Each line is indented by
400 /// the absolute value of `level * spacesPerLevel`. If `level` is
401 /// negative, suppress indentation of the first line. If
402 /// `spacesPerLevel` is negative, suppress line breaks and format the
403 /// entire output on one line. If `stream` is initially invalid, this
404 /// operation has no effect. Note that a trailing newline is provided
405 /// in multiline mode only.
406 bsl::ostream& print(bsl::ostream& stream,
407 int level = 0,
408 int spacesPerLevel = 4) const;
409
410 /// Invoke the specified `accessor` sequentially on each
411 /// (non-modifiable) attribute of this object, supplying `accessor`
412 /// with the corresponding attribute information structure until such
413 /// invocation returns a non-zero value. Return the value from the
414 /// last invocation of `accessor` (i.e., the invocation that terminated
415 /// the sequence).
416 template<class ACCESSOR>
417 int accessAttributes(ACCESSOR& accessor) const;
418
419 /// Invoke the specified `accessor` on the (non-modifiable) attribute
420 /// of this object indicated by the specified `id`, supplying `accessor`
421 /// with the corresponding attribute information structure. Return the
422 /// value returned from the invocation of `accessor` if `id` identifies
423 /// an attribute of this class, and -1 otherwise.
424 template<class ACCESSOR>
425 int accessAttribute(ACCESSOR& accessor, int id) const;
426
427 /// Invoke the specified `accessor` on the (non-modifiable) attribute
428 /// of this object indicated by the specified `name` of the specified
429 /// `nameLength`, supplying `accessor` with the corresponding attribute
430 /// information structure. Return the value returned from the
431 /// invocation of `accessor` if `name` identifies an attribute of this
432 /// class, and -1 otherwise.
433 template<class ACCESSOR>
434 int accessAttribute(ACCESSOR& accessor,
435 const char *name,
436 int nameLength) const;
437
438 /// Return a reference offering non-modifiable access to the "Choice"
439 /// attribute of this object.
441};
442
443// FREE OPERATORS
444
445/// Return `true` if the specified `lhs` and `rhs` attribute objects have
446/// the same value, and `false` otherwise. Two attribute objects have the
447/// same value if each respective attribute has the same value.
448inline
450
451/// Return `true` if the specified `lhs` and `rhs` attribute objects do not
452/// have the same value, and `false` otherwise. Two attribute objects do
453/// not have the same value if one or more respective attributes differ in
454/// values.
455inline
457
458/// Format the specified `rhs` to the specified output `stream` and
459/// return a reference to the modifiable `stream`.
460inline
461bsl::ostream& operator<<(bsl::ostream& stream, const MySequenceWithNullableAnonymousChoice& rhs);
462
463} // close package namespace
464
465// TRAITS
466
468
469// ============================================================================
470// INLINE FUNCTION DEFINITIONS
471// ============================================================================
472
473namespace s_baltst {
474
475 // -------------------------------------------------
476 // class MySequenceWithNullableAnonymousChoiceChoice
477 // -------------------------------------------------
478
479// CLASS METHODS
480// CREATORS
481inline
486
487inline
492
493// MANIPULATORS
494template <class MANIPULATOR>
509
510inline
516
517inline
523
524// ACCESSORS
525inline
527{
528 return d_selectionId;
529}
530
531template <class ACCESSOR>
533{
534 switch (d_selectionId) {
536 return accessor(d_choiceA.object(),
539 return accessor(d_choiceB.object(),
541 default:
542 BSLS_ASSERT(SELECTION_ID_UNDEFINED == d_selectionId);
543 return -1;
544 }
545}
546
547inline
549{
550 BSLS_ASSERT(SELECTION_ID_CHOICE_A == d_selectionId);
551 return d_choiceA.object();
552}
553
554inline
556{
557 BSLS_ASSERT(SELECTION_ID_CHOICE_B == d_selectionId);
558 return d_choiceB.object();
559}
560
561inline
566
567inline
572
573inline
578
579
580 // -------------------------------------------
581 // class MySequenceWithNullableAnonymousChoice
582 // -------------------------------------------
583
584// CLASS METHODS
585// MANIPULATORS
586template <class MANIPULATOR>
588{
589 int ret;
590
591 ret = manipulator(&d_choice, ATTRIBUTE_INFO_ARRAY[ATTRIBUTE_INDEX_CHOICE]);
592 if (ret) {
593 return ret;
594 }
595
596 return ret;
597}
598
599template <class MANIPULATOR>
601{
602 enum { NOT_FOUND = -1 };
603
604 switch (id) {
605 case ATTRIBUTE_ID_CHOICE: {
606 return manipulator(&d_choice, ATTRIBUTE_INFO_ARRAY[ATTRIBUTE_INDEX_CHOICE]);
607 }
608 default:
609 return NOT_FOUND;
610 }
611}
612
613template <class MANIPULATOR>
615 MANIPULATOR& manipulator,
616 const char *name,
617 int nameLength)
618{
619 enum { NOT_FOUND = -1 };
620
621 const bdlat_AttributeInfo *attributeInfo =
622 lookupAttributeInfo(name, nameLength);
623 if (0 == attributeInfo) {
624 return NOT_FOUND;
625 }
626
627 return manipulateAttribute(manipulator, attributeInfo->d_id);
628}
629
630inline
635
636// ACCESSORS
637template <class ACCESSOR>
639{
640 int ret;
641
642 ret = accessor(d_choice, ATTRIBUTE_INFO_ARRAY[ATTRIBUTE_INDEX_CHOICE]);
643 if (ret) {
644 return ret;
645 }
646
647 return ret;
648}
649
650template <class ACCESSOR>
652{
653 enum { NOT_FOUND = -1 };
654
655 switch (id) {
656 case ATTRIBUTE_ID_CHOICE: {
657 return accessor(d_choice, ATTRIBUTE_INFO_ARRAY[ATTRIBUTE_INDEX_CHOICE]);
658 }
659 default:
660 return NOT_FOUND;
661 }
662}
663
664template <class ACCESSOR>
666 ACCESSOR& accessor,
667 const char *name,
668 int nameLength) const
669{
670 enum { NOT_FOUND = -1 };
671
672 const bdlat_AttributeInfo *attributeInfo =
673 lookupAttributeInfo(name, nameLength);
674 if (0 == attributeInfo) {
675 return NOT_FOUND;
676 }
677
678 return accessAttribute(accessor, attributeInfo->d_id);
679}
680
681inline
686
687} // close package namespace
688
689// FREE FUNCTIONS
690
691inline
695{
697 if (lhs.selectionId() == rhs.selectionId()) {
698 switch (rhs.selectionId()) {
699 case Class::SELECTION_ID_CHOICE_A:
700 return lhs.choiceA() == rhs.choiceA();
701 case Class::SELECTION_ID_CHOICE_B:
702 return lhs.choiceB() == rhs.choiceB();
703 default:
704 BSLS_ASSERT(Class::SELECTION_ID_UNDEFINED == rhs.selectionId());
705 return true;
706 }
707 }
708 else {
709 return false;
710 }
711}
712
713inline
717{
718 return !(lhs == rhs);
719}
720
721inline
722bsl::ostream& s_baltst::operator<<(
723 bsl::ostream& stream,
725{
726 return rhs.print(stream, 0, -1);
727}
728
729
730inline
734{
735 return lhs.choice() == rhs.choice();
736}
737
738inline
742{
743 return !(lhs == rhs);
744}
745
746inline
747bsl::ostream& s_baltst::operator<<(
748 bsl::ostream& stream,
750{
751 return rhs.print(stream, 0, -1);
752}
753
754
755#endif
756
757// GENERATED BY BLP_BAS_CODEGEN_2021.08.08
758// USING bas_codegen.pl s_baltst_mysequencewithnullableanonymouschoice.xsd -m msg -C mysequencewithnullableanonymouschoice -p s_baltst --noExternalization --noHashSupport --noAggregateConversion
759// ----------------------------------------------------------------------------
760// NOTICE:
761// Copyright 2021 Bloomberg Finance L.P. All rights reserved.
762// Property of Bloomberg Finance L.P. (BFLP)
763// This software is made available solely pursuant to the
764// terms of a BFLP license agreement which governs its use.
765// ------------------------------- END-OF-FILE --------------------------------
766
767/** @} */
768/** @} */
769/** @} */
Definition bdlb_nullablevalue.h:257
Definition s_baltst_mysequencewithnullableanonymouschoice.h:70
int & choiceB()
Definition s_baltst_mysequencewithnullableanonymouschoice.h:518
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)
bool isUndefinedValue() const
Definition s_baltst_mysequencewithnullableanonymouschoice.h:574
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:495
MySequenceWithNullableAnonymousChoiceChoice()
Definition s_baltst_mysequencewithnullableanonymouschoice.h:482
bsls::ObjectBuffer< int > d_choiceB
Definition s_baltst_mysequencewithnullableanonymouschoice.h:75
~MySequenceWithNullableAnonymousChoiceChoice()
Destroy this object.
Definition s_baltst_mysequencewithnullableanonymouschoice.h:488
bool isChoiceBValue() const
Definition s_baltst_mysequencewithnullableanonymouschoice.h:568
@ SELECTION_INDEX_CHOICE_A
Definition s_baltst_mysequencewithnullableanonymouschoice.h:94
@ SELECTION_INDEX_CHOICE_B
Definition s_baltst_mysequencewithnullableanonymouschoice.h:95
MySequenceWithNullableAnonymousChoiceChoice & operator=(const MySequenceWithNullableAnonymousChoiceChoice &rhs)
Assign to this object the value of the specified rhs object.
bool isChoiceAValue() const
Definition s_baltst_mysequencewithnullableanonymouschoice.h:562
@ 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
int & choiceA()
Definition s_baltst_mysequencewithnullableanonymouschoice.h:511
int selectionId() const
Definition s_baltst_mysequencewithnullableanonymouschoice.h:526
int accessSelection(ACCESSOR &accessor) const
Definition s_baltst_mysequencewithnullableanonymouschoice.h:532
@ NUM_SELECTIONS
Definition s_baltst_mysequencewithnullableanonymouschoice.h:90
Definition s_baltst_mysequencewithnullableanonymouschoice.h:283
int accessAttributes(ACCESSOR &accessor) const
Definition s_baltst_mysequencewithnullableanonymouschoice.h:638
@ ATTRIBUTE_INDEX_CHOICE
Definition s_baltst_mysequencewithnullableanonymouschoice.h:299
static const char CLASS_NAME[]
Definition s_baltst_mysequencewithnullableanonymouschoice.h:303
bdlb::NullableValue< MySequenceWithNullableAnonymousChoiceChoice > & choice()
Definition s_baltst_mysequencewithnullableanonymouschoice.h:631
@ ATTRIBUTE_ID_CHOICE
Definition s_baltst_mysequencewithnullableanonymouschoice.h:291
~MySequenceWithNullableAnonymousChoice()
Destroy this object.
int manipulateAttribute(MANIPULATOR &manipulator, int id)
Definition s_baltst_mysequencewithnullableanonymouschoice.h:600
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:651
static const bdlat_AttributeInfo * lookupAttributeInfo(const char *name, int nameLength)
static const bdlat_AttributeInfo ATTRIBUTE_INFO_ARRAY[]
Definition s_baltst_mysequencewithnullableanonymouschoice.h:305
int manipulateAttributes(MANIPULATOR &manipulator)
Definition s_baltst_mysequencewithnullableanonymouschoice.h:587
MySequenceWithNullableAnonymousChoice & operator=(const MySequenceWithNullableAnonymousChoice &rhs)
Assign to this object the value of the specified rhs object.
static const bdlat_AttributeInfo * lookupAttributeInfo(int id)
@ NUM_ATTRIBUTES
Definition s_baltst_mysequencewithnullableanonymouschoice.h:295
#define BDLAT_DECL_CHOICE_WITH_BITWISEMOVEABLE_TRAITS(ClassName)
Definition bdlat_typetraits.h:242
#define BDLAT_DECL_SEQUENCE_WITH_BITWISEMOVEABLE_TRAITS(ClassName)
Definition bdlat_typetraits.h:275
#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 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_attributeinfo.h:137
int d_id
Definition bdlat_attributeinfo.h:140
Definition bdlat_selectioninfo.h:136
TYPE & object()
Definition bsls_objectbuffer.h:351