BDE 4.39.x Production Release
Loading...
Searching...
No Matches
s_baltst_topchoice.h
Go to the documentation of this file.
1/// @file s_baltst_topchoice.h
2///
3/// The content of this file has been pre-processed for Doxygen.
4///
5
6
7// s_baltst_topchoice.h *DO NOT EDIT* @generated -*-C++-*-
8#ifndef INCLUDED_S_BALTST_TOPCHOICE
9#define INCLUDED_S_BALTST_TOPCHOICE
10
11#include <bsls_ident.h>
12BSLS_IDENT_RCSID(s_baltst_topchoice_h, "$Id$ $CSID$")
14
15/// @defgroup s_baltst_topchoice s_baltst_topchoice
16/// @brief Provide value-semantic attribute classes
17/// @addtogroup Standalones
18/// @{
19/// @addtogroup s_baltst
20/// @{
21/// @addtogroup s_baltst_topchoice
22/// @{
23///
24/// <h1> Outline </h1>
25/// * <a href="#s_baltst_topchoice-purpose"> Purpose</a>
26///
27/// # Purpose {#s_baltst_topchoice-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_topchoice
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 <bslma_default.h>
54
55#include <bsls_assert.h>
56
57#include <bdlt_datetimetz.h>
58
59#include <bsl_vector.h>
60
62
63#include <s_baltst_enumerated.h>
64
65#include <s_baltst_ratsnest.h>
66
67#include <bsl_iosfwd.h>
68#include <bsl_limits.h>
69
70
71
72namespace bslma { class Allocator; }
73
74namespace s_baltst { class Topchoice; }
75namespace s_baltst {
76
77 // ===============
78 // class Topchoice
79 // ===============
80
81class Topchoice {
82
83 // INSTANCE DATA
84 union {
93 };
94
95 int d_selectionId;
96 bslma::Allocator *d_allocator_p;
97
98 // PRIVATE ACCESSORS
99 bool isEqualTo(const Topchoice& rhs) const;
100
101 public:
102 // TYPES
103
104 enum {
114 };
115
116 enum {
118 };
119
120 enum {
129 };
130
131 // CONSTANTS
132 static const char CLASS_NAME[];
133
135
136 // CLASS METHODS
137
138 /// Return selection information for the selection indicated by the
139 /// specified `id` if the selection exists, and 0 otherwise.
141
142 /// Return selection information for the selection indicated by the
143 /// specified `name` of the specified `nameLength` if the selection
144 /// exists, and 0 otherwise.
146 const char *name,
147 int nameLength);
148
149 // CREATORS
150
151 /// Create an object of type `Topchoice` having the default value. Use
152 /// the optionally specified `basicAllocator` to supply memory. If
153 /// `basicAllocator` is 0, the currently installed default allocator is
154 /// used.
155 explicit Topchoice(bslma::Allocator *basicAllocator = 0);
156
157 /// Create an object of type `Topchoice` having the value of the
158 /// specified `original` object. Use the optionally specified
159 /// `basicAllocator` to supply memory. If `basicAllocator` is 0, the
160 /// currently installed default allocator is used.
161 Topchoice(const Topchoice& original,
162 bslma::Allocator *basicAllocator = 0);
163
164#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
165 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
166 /// Create an object of type `Topchoice` having the value of the
167 /// specified `original` object. After performing this action, the
168 /// `original` object will be left in a valid, but unspecified state.
169 Topchoice(Topchoice&& original) noexcept;
170
171 /// Create an object of type `Topchoice` having the value of the
172 /// specified `original` object. After performing this action, the
173 /// `original` object will be left in a valid, but unspecified state.
174 /// Use the optionally specified `basicAllocator` to supply memory. If
175 /// `basicAllocator` is 0, the currently installed default allocator is
176 /// used.
177 Topchoice(Topchoice&& original,
178 bslma::Allocator *basicAllocator);
179#endif
180
181 /// Destroy this object.
182 ~Topchoice();
183
184 // MANIPULATORS
185
186 /// Assign to this object the value of the specified `rhs` object.
188
189#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
190 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
191 /// Assign to this object the value of the specified `rhs` object.
192 /// After performing this action, the `rhs` object will be left in a
193 /// valid, but unspecified state.
195#endif
196
197 /// Reset this object to the default value (i.e., its value upon default
198 /// construction).
199 void reset();
200
201 /// Set the value of this object to be the default for the selection
202 /// indicated by the specified `selectionId`. Return 0 on success, and
203 /// non-zero value otherwise (i.e., the selection is not found).
205
206 /// Set the value of this object to be the default for the selection
207 /// indicated by the specified `name` of the specified `nameLength`.
208 /// Return 0 on success, and non-zero value otherwise (i.e., the
209 /// selection is not found).
210 int makeSelection(const char *name, int nameLength);
211
214#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
215 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
217#endif
218 // Set the value of this object to be a "Selection1" value. Optionally
219 // specify the 'value' of the "Selection1". If 'value' is not
220 // specified, the default "Selection1" value is used.
221
224#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
225 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
227#endif
228 // Set the value of this object to be a "Selection2" value. Optionally
229 // specify the 'value' of the "Selection2". If 'value' is not
230 // specified, the default "Selection2" value is used.
231
234#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
235 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
237#endif
238 // Set the value of this object to be a "Selection3" value. Optionally
239 // specify the 'value' of the "Selection3". If 'value' is not
240 // specified, the default "Selection3" value is used.
241
244#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
245 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
247#endif
248 // Set the value of this object to be a "Selection4" value. Optionally
249 // specify the 'value' of the "Selection4". If 'value' is not
250 // specified, the default "Selection4" value is used.
251
254#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
255 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
257#endif
258 // Set the value of this object to be a "Selection5" value. Optionally
259 // specify the 'value' of the "Selection5". If 'value' is not
260 // specified, the default "Selection5" value is used.
261
264#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
265 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
267#endif
268 // Set the value of this object to be a "Selection6" value. Optionally
269 // specify the 'value' of the "Selection6". If 'value' is not
270 // specified, the default "Selection6" value is used.
271
272 /// Set the value of this object to be a "Selection7" value. Optionally
273 /// specify the `value` of the "Selection7". If `value` is not
274 /// specified, the default "Selection7" value is used.
277
280#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
281 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
283#endif
284 // Set the value of this object to be a "Selection8" value. Optionally
285 // specify the 'value' of the "Selection8". If 'value' is not
286 // specified, the default "Selection8" value is used.
287
288 /// Invoke the specified `manipulator` on the address of the modifiable
289 /// selection, supplying `manipulator` with the corresponding selection
290 /// information structure. Return the value returned from the
291 /// invocation of `manipulator` if this object has a defined selection,
292 /// and -1 otherwise.
293 template <typename t_MANIPULATOR>
294 int manipulateSelection(t_MANIPULATOR& manipulator);
295
296 /// Return a reference to the modifiable "Selection1" selection of this
297 /// object if "Selection1" is the current selection.
298 ///
299 /// \pre The behavior is undefined unless "Selection1" is the selection of this object.
301
302 /// Return a reference to the modifiable "Selection2" selection of this
303 /// object if "Selection2" is the current selection.
304 ///
305 /// \pre The behavior is undefined unless "Selection2" is the selection of this object.
307
308 /// Return a reference to the modifiable "Selection3" selection of this
309 /// object if "Selection3" is the current selection.
310 ///
311 /// \pre The behavior is undefined unless "Selection3" is the selection of this object.
313
314 /// Return a reference to the modifiable "Selection4" selection of this
315 /// object if "Selection4" is the current selection.
316 ///
317 /// \pre The behavior is undefined unless "Selection4" is the selection of this object.
319
320 /// Return a reference to the modifiable "Selection5" selection of this
321 /// object if "Selection5" is the current selection.
322 ///
323 /// \pre The behavior is undefined unless "Selection5" is the selection of this object.
325
326 /// Return a reference to the modifiable "Selection6" selection of this
327 /// object if "Selection6" is the current selection.
328 ///
329 /// \pre The behavior is undefined unless "Selection6" is the selection of this object.
331
332 /// Return a reference to the modifiable "Selection7" selection of this
333 /// object if "Selection7" is the current selection.
334 ///
335 /// \pre The behavior is undefined unless "Selection7" is the selection of this object.
337
338 /// Return a reference to the modifiable "Selection8" selection of this
339 /// object if "Selection8" is the current selection.
340 ///
341 /// \pre The behavior is undefined unless "Selection8" is the selection of this object.
343
344 // ACCESSORS
345
346 /// Format this object to the specified output `stream` at the
347 /// optionally specified indentation `level` and return a reference to
348 /// the modifiable `stream`. If `level` is specified, optionally
349 /// specify `spacesPerLevel`, the number of spaces per indentation level
350 /// for this and all of its nested objects. Each line is indented by
351 /// the absolute value of `level * spacesPerLevel`. If `level` is
352 /// negative, suppress indentation of the first line. If
353 /// `spacesPerLevel` is negative, suppress line breaks and format the
354 /// entire output on one line. If `stream` is initially invalid, this operation has no effect.
355 ///
356 /// \note Note that a trailing newline is provided
357 /// in multiline mode only.
358 bsl::ostream& print(bsl::ostream& stream,
359 int level = 0,
360 int spacesPerLevel = 4) const;
361
362 /// Return the id of the current selection if the selection is defined,
363 /// and -1 otherwise.
364 int selectionId() const;
365
366 /// Invoke the specified `accessor` on the non-modifiable selection,
367 /// supplying `accessor` with the corresponding selection information
368 /// structure. Return the value returned from the invocation of
369 /// `accessor` if this object has a defined selection, and -1 otherwise.
370 template <typename t_ACCESSOR>
371 int accessSelection(t_ACCESSOR& accessor) const;
372
373 /// Return a reference to the non-modifiable "Selection1" selection of
374 /// this object if "Selection1" is the current selection.
375 ///
376 /// \pre The behavior is undefined unless "Selection1" is the selection of this object.
377 const s_baltst::Sequence1& selection1() const;
378
379 /// Return a reference to the non-modifiable "Selection2" selection of
380 /// this object if "Selection2" is the current selection.
381 ///
382 /// \pre The behavior is undefined unless "Selection2" is the selection of this object.
383 const bsl::vector<char>& selection2() const;
384
385 /// Return a reference to the non-modifiable "Selection3" selection of
386 /// this object if "Selection3" is the current selection.
387 ///
388 /// \pre The behavior is undefined unless "Selection3" is the selection of this object.
389 const s_baltst::Sequence2& selection3() const;
390
391 /// Return a reference to the non-modifiable "Selection4" selection of
392 /// this object if "Selection4" is the current selection.
393 ///
394 /// \pre The behavior is undefined unless "Selection4" is the selection of this object.
395 const s_baltst::Sequence3& selection4() const;
396
397 /// Return a reference to the non-modifiable "Selection5" selection of
398 /// this object if "Selection5" is the current selection.
399 ///
400 /// \pre The behavior is undefined unless "Selection5" is the selection of this object.
401 const bdlt::DatetimeTz& selection5() const;
402
403 /// Return a reference to the non-modifiable "Selection6" selection of
404 /// this object if "Selection6" is the current selection.
405 ///
406 /// \pre The behavior is undefined unless "Selection6" is the selection of this object.
407 const s_baltst::CustomString& selection6() const;
408
409 /// Return a reference to the non-modifiable "Selection7" selection of
410 /// this object if "Selection7" is the current selection.
411 ///
412 /// \pre The behavior is undefined unless "Selection7" is the selection of this object.
414
415 /// Return a reference to the non-modifiable "Selection8" selection of
416 /// this object if "Selection8" is the current selection.
417 ///
418 /// \pre The behavior is undefined unless "Selection8" is the selection of this object.
419 const s_baltst::Choice3& selection8() const;
420
421 /// Return `true` if the value of this object is a "Selection1" value,
422 /// and return `false` otherwise.
423 bool isSelection1Value() const;
424
425 /// Return `true` if the value of this object is a "Selection2" value,
426 /// and return `false` otherwise.
427 bool isSelection2Value() const;
428
429 /// Return `true` if the value of this object is a "Selection3" value,
430 /// and return `false` otherwise.
431 bool isSelection3Value() const;
432
433 /// Return `true` if the value of this object is a "Selection4" value,
434 /// and return `false` otherwise.
435 bool isSelection4Value() const;
436
437 /// Return `true` if the value of this object is a "Selection5" value,
438 /// and return `false` otherwise.
439 bool isSelection5Value() const;
440
441 /// Return `true` if the value of this object is a "Selection6" value,
442 /// and return `false` otherwise.
443 bool isSelection6Value() const;
444
445 /// Return `true` if the value of this object is a "Selection7" value,
446 /// and return `false` otherwise.
447 bool isSelection7Value() const;
448
449 /// Return `true` if the value of this object is a "Selection8" value,
450 /// and return `false` otherwise.
451 bool isSelection8Value() const;
452
453 /// Return `true` if the value of this object is undefined, and `false`
454 /// otherwise.
455 bool isUndefinedValue() const;
456
457 /// Return the symbolic name of the current selection of this object.
458 const char *selectionName() const;
459
460 // HIDDEN FRIENDS
461
462 /// Return `true` if the specified `lhs` and `rhs` objects have the same
463 /// value, and `false` otherwise. Two `Topchoice` objects have the same
464 /// value if either the selections in both objects have the same ids and
465 /// the same values, or both selections are undefined.
466 friend bool operator==(const Topchoice& lhs, const Topchoice& rhs)
467 {
468 return lhs.isEqualTo(rhs);
469 }
470
471 /// Return `true` if the specified `lhs` and `rhs` objects do not have
472 /// the same values, as determined by `operator==`, and `false`
473 /// otherwise.
474 friend bool operator!=(const Topchoice& lhs, const Topchoice& rhs)
475 {
476 return !(lhs == rhs);
477 }
478
479 /// Format the specified `rhs` to the specified output `stream` and
480 /// return a reference to the modifiable `stream`.
481 friend bsl::ostream& operator<<(bsl::ostream& stream, const Topchoice& rhs)
482 {
483 return rhs.print(stream, 0, -1);
484 }
485};
486
487} // close package namespace
488
489// TRAITS
490
492
493// ============================================================================
494// INLINE DEFINITIONS
495// ============================================================================
496
497namespace s_baltst {
498
499 // ---------------
500 // class Topchoice
501 // ---------------
502
503// CLASS METHODS
504// PRIVATE ACCESSORS
505inline
506bool Topchoice::isEqualTo(const Topchoice& rhs) const
507{
508 typedef Topchoice Class;
509 if (this->selectionId() == rhs.selectionId()) {
510 switch (rhs.selectionId()) {
511 case Class::SELECTION_ID_SELECTION1:
512 return this->selection1() == rhs.selection1();
513 case Class::SELECTION_ID_SELECTION2:
514 return this->selection2() == rhs.selection2();
515 case Class::SELECTION_ID_SELECTION3:
516 return this->selection3() == rhs.selection3();
517 case Class::SELECTION_ID_SELECTION4:
518 return this->selection4() == rhs.selection4();
519 case Class::SELECTION_ID_SELECTION5:
520 return this->selection5() == rhs.selection5();
521 case Class::SELECTION_ID_SELECTION6:
522 return this->selection6() == rhs.selection6();
523 case Class::SELECTION_ID_SELECTION7:
524 return this->selection7() == rhs.selection7();
525 case Class::SELECTION_ID_SELECTION8:
526 return this->selection8() == rhs.selection8();
527 default:
528 BSLS_ASSERT(Class::SELECTION_ID_UNDEFINED == rhs.selectionId());
529 return true;
530 }
531 }
532 else {
533 return false;
534 }
535}
536
537// CREATORS
538inline
540: d_selectionId(SELECTION_ID_UNDEFINED)
541, d_allocator_p(bslma::Default::allocator(basicAllocator))
542{
543}
544
545inline
547{
548 reset();
549}
550
551// MANIPULATORS
552template <typename t_MANIPULATOR>
585
586inline
592
593inline
599
600inline
606
607inline
613
614inline
620
621inline
627
628inline
634
635inline
641
642// ACCESSORS
643inline
645{
646 return d_selectionId;
647}
648
649template <typename t_ACCESSOR>
682
683inline
685{
686 BSLS_ASSERT(SELECTION_ID_SELECTION1 == d_selectionId);
687 return d_selection1.object();
688}
689
690inline
692{
693 BSLS_ASSERT(SELECTION_ID_SELECTION2 == d_selectionId);
694 return d_selection2.object();
695}
696
697inline
699{
700 BSLS_ASSERT(SELECTION_ID_SELECTION3 == d_selectionId);
701 return d_selection3.object();
702}
703
704inline
706{
707 BSLS_ASSERT(SELECTION_ID_SELECTION4 == d_selectionId);
708 return *d_selection4;
709}
710
711inline
713{
714 BSLS_ASSERT(SELECTION_ID_SELECTION5 == d_selectionId);
715 return d_selection5.object();
716}
717
718inline
720{
721 BSLS_ASSERT(SELECTION_ID_SELECTION6 == d_selectionId);
722 return d_selection6.object();
723}
724
725inline
731
732inline
734{
735 BSLS_ASSERT(SELECTION_ID_SELECTION8 == d_selectionId);
736 return d_selection8.object();
737}
738
739inline
741{
742 return SELECTION_ID_SELECTION1 == d_selectionId;
743}
744
745inline
747{
748 return SELECTION_ID_SELECTION2 == d_selectionId;
749}
750
751inline
753{
754 return SELECTION_ID_SELECTION3 == d_selectionId;
755}
756
757inline
759{
760 return SELECTION_ID_SELECTION4 == d_selectionId;
761}
762
763inline
765{
766 return SELECTION_ID_SELECTION5 == d_selectionId;
767}
768
769inline
771{
772 return SELECTION_ID_SELECTION6 == d_selectionId;
773}
774
775inline
777{
778 return SELECTION_ID_SELECTION7 == d_selectionId;
779}
780
781inline
783{
784 return SELECTION_ID_SELECTION8 == d_selectionId;
785}
786
787inline
789{
790 return SELECTION_ID_UNDEFINED == d_selectionId;
791}
792} // close package namespace
793
794// FREE FUNCTIONS
795
796
797#endif
798
799// GENERATED BY BLP_BAS_CODEGEN_2025.08.21
800// USING bas_codegen.pl s_baltst_topchoice.xsd --mode msg --includedir . --msgComponent topchoice --noRecurse --noExternalization --noHashSupport --noAggregateConversion
801// ----------------------------------------------------------------------------
802// NOTICE:
803// Copyright 2025 Bloomberg Finance L.P. All rights reserved.
804// Property of Bloomberg Finance L.P. (BFLP)
805// This software is made available solely pursuant to the
806// terms of a BFLP license agreement which governs its use.
807// ------------------------------- END-OF-FILE --------------------------------
808
809/** @} */
810/** @} */
811/** @} */
Definition bdlt_datetimetz.h:308
Definition bslstl_vector.h:1120
Definition bslma_allocator.h:545
Definition s_baltst_ratsnest.h:1011
Definition s_baltst_customstring.h:71
Definition s_baltst_ratsnest.h:2317
Definition s_baltst_ratsnest.h:2576
Definition s_baltst_ratsnest.h:95
Definition s_baltst_topchoice.h:81
s_baltst::CustomString & makeSelection6()
bsls::ObjectBuffer< bsl::vector< char > > d_selection2
Definition s_baltst_topchoice.h:86
bsls::ObjectBuffer< s_baltst::CustomString > d_selection6
Definition s_baltst_topchoice.h:90
s_baltst::Sequence1 & makeSelection1()
const char * selectionName() const
Return the symbolic name of the current selection of this object.
bsls::ObjectBuffer< bdlt::DatetimeTz > d_selection5
Definition s_baltst_topchoice.h:89
s_baltst::Sequence3 * d_selection4
Definition s_baltst_topchoice.h:88
bool isSelection1Value() const
Definition s_baltst_topchoice.h:740
bdlt::DatetimeTz & makeSelection5(const bdlt::DatetimeTz &value)
static const char CLASS_NAME[]
Definition s_baltst_topchoice.h:132
s_baltst::Sequence2 & makeSelection3()
@ NUM_SELECTIONS
Definition s_baltst_topchoice.h:117
s_baltst::CustomString & selection6()
Definition s_baltst_topchoice.h:622
bool isSelection8Value() const
Definition s_baltst_topchoice.h:782
bool isUndefinedValue() const
Definition s_baltst_topchoice.h:788
bool isSelection4Value() const
Definition s_baltst_topchoice.h:758
bool isSelection7Value() const
Definition s_baltst_topchoice.h:776
s_baltst::Sequence1 & makeSelection1(const s_baltst::Sequence1 &value)
bool isSelection6Value() const
Definition s_baltst_topchoice.h:770
s_baltst::Sequence1 & selection1()
Definition s_baltst_topchoice.h:587
bsl::vector< char > & selection2()
Definition s_baltst_topchoice.h:594
friend bool operator!=(const Topchoice &lhs, const Topchoice &rhs)
Definition s_baltst_topchoice.h:474
@ SELECTION_ID_SELECTION8
Definition s_baltst_topchoice.h:113
@ SELECTION_ID_UNDEFINED
Definition s_baltst_topchoice.h:105
@ SELECTION_ID_SELECTION5
Definition s_baltst_topchoice.h:110
@ SELECTION_ID_SELECTION2
Definition s_baltst_topchoice.h:107
@ SELECTION_ID_SELECTION1
Definition s_baltst_topchoice.h:106
@ SELECTION_ID_SELECTION3
Definition s_baltst_topchoice.h:108
@ SELECTION_ID_SELECTION4
Definition s_baltst_topchoice.h:109
@ SELECTION_ID_SELECTION7
Definition s_baltst_topchoice.h:112
@ SELECTION_ID_SELECTION6
Definition s_baltst_topchoice.h:111
int makeSelection(const char *name, int nameLength)
Topchoice(bslma::Allocator *basicAllocator=0)
Definition s_baltst_topchoice.h:539
friend bsl::ostream & operator<<(bsl::ostream &stream, const Topchoice &rhs)
Definition s_baltst_topchoice.h:481
s_baltst::Enumerated::Value & selection7()
Definition s_baltst_topchoice.h:629
bool isSelection2Value() const
Definition s_baltst_topchoice.h:746
static const bdlat_SelectionInfo * lookupSelectionInfo(const char *name, int nameLength)
s_baltst::Choice3 & makeSelection8(const s_baltst::Choice3 &value)
int manipulateSelection(t_MANIPULATOR &manipulator)
Definition s_baltst_topchoice.h:553
s_baltst::Sequence2 & makeSelection3(const s_baltst::Sequence2 &value)
bdlt::DatetimeTz & makeSelection5()
bsls::ObjectBuffer< s_baltst::Sequence2 > d_selection3
Definition s_baltst_topchoice.h:87
Topchoice(const Topchoice &original, bslma::Allocator *basicAllocator=0)
int selectionId() const
Definition s_baltst_topchoice.h:644
s_baltst::Sequence3 & selection4()
Definition s_baltst_topchoice.h:608
bool isSelection5Value() const
Definition s_baltst_topchoice.h:764
@ SELECTION_INDEX_SELECTION6
Definition s_baltst_topchoice.h:126
@ SELECTION_INDEX_SELECTION8
Definition s_baltst_topchoice.h:128
@ SELECTION_INDEX_SELECTION3
Definition s_baltst_topchoice.h:123
@ SELECTION_INDEX_SELECTION7
Definition s_baltst_topchoice.h:127
@ SELECTION_INDEX_SELECTION2
Definition s_baltst_topchoice.h:122
@ SELECTION_INDEX_SELECTION5
Definition s_baltst_topchoice.h:125
@ SELECTION_INDEX_SELECTION1
Definition s_baltst_topchoice.h:121
@ SELECTION_INDEX_SELECTION4
Definition s_baltst_topchoice.h:124
s_baltst::Sequence3 & makeSelection4()
bsls::ObjectBuffer< s_baltst::Choice3 > d_selection8
Definition s_baltst_topchoice.h:92
bsls::ObjectBuffer< s_baltst::Sequence1 > d_selection1
Definition s_baltst_topchoice.h:85
s_baltst::Enumerated::Value & makeSelection7(s_baltst::Enumerated::Value value)
int accessSelection(t_ACCESSOR &accessor) const
Definition s_baltst_topchoice.h:650
Topchoice & operator=(const Topchoice &rhs)
Assign to this object the value of the specified rhs object.
static const bdlat_SelectionInfo SELECTION_INFO_ARRAY[]
Definition s_baltst_topchoice.h:134
s_baltst::Enumerated::Value & makeSelection7()
bsls::ObjectBuffer< s_baltst::Enumerated::Value > d_selection7
Definition s_baltst_topchoice.h:91
static const bdlat_SelectionInfo * lookupSelectionInfo(int id)
bdlt::DatetimeTz & selection5()
Definition s_baltst_topchoice.h:615
s_baltst::Choice3 & selection8()
Definition s_baltst_topchoice.h:636
~Topchoice()
Destroy this object.
Definition s_baltst_topchoice.h:546
int makeSelection(int selectionId)
s_baltst::Sequence3 & makeSelection4(const s_baltst::Sequence3 &value)
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
bsl::vector< char > & makeSelection2(const bsl::vector< char > &value)
bool isSelection3Value() const
Definition s_baltst_topchoice.h:752
s_baltst::CustomString & makeSelection6(const s_baltst::CustomString &value)
s_baltst::Sequence2 & selection3()
Definition s_baltst_topchoice.h:601
friend bool operator==(const Topchoice &lhs, const Topchoice &rhs)
Definition s_baltst_topchoice.h:466
bsl::vector< char > & makeSelection2()
s_baltst::Choice3 & makeSelection8()
#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
Value
Definition s_baltst_enumerated.h:71
TYPE & object()
Definition bsls_objectbuffer.h:352