BDE 4.39.x Production Release
Loading...
Searching...
No Matches
s_baltst_featuretestmessage.h
Go to the documentation of this file.
1/// @file s_baltst_featuretestmessage.h
2///
3/// The content of this file has been pre-processed for Doxygen.
4///
5
6
7// s_baltst_featuretestmessage.h *DO NOT EDIT* @generated -*-C++-*-
8#ifndef INCLUDED_S_BALTST_FEATURETESTMESSAGE
9#define INCLUDED_S_BALTST_FEATURETESTMESSAGE
10
11#include <bsls_ident.h>
12BSLS_IDENT_RCSID(s_baltst_featuretestmessage_h, "$Id$ $CSID$")
14
15/// @defgroup s_baltst_featuretestmessage s_baltst_featuretestmessage
16/// @brief Provide value-semantic attribute classes
17/// @addtogroup Standalones
18/// @{
19/// @addtogroup s_baltst
20/// @{
21/// @addtogroup s_baltst_featuretestmessage
22/// @{
23///
24/// <h1> Outline </h1>
25/// * <a href="#s_baltst_featuretestmessage-purpose"> Purpose</a>
26///
27/// # Purpose {#s_baltst_featuretestmessage-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_featuretestmessage
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
68
70
72
73#include <bsl_iosfwd.h>
74#include <bsl_limits.h>
75
76
77
78namespace bslma { class Allocator; }
79
80namespace s_baltst { class FeatureTestMessage; }
81namespace s_baltst {
82
83 // ========================
84 // class FeatureTestMessage
85 // ========================
86
88
89 // INSTANCE DATA
90 union {
102 };
103
104 int d_selectionId;
105 bslma::Allocator *d_allocator_p;
106
107 // PRIVATE ACCESSORS
108 bool isEqualTo(const FeatureTestMessage& rhs) const;
109
110 public:
111 // TYPES
112
113 enum {
126 };
127
128 enum {
129 NUM_SELECTIONS = 11
130 };
131
132 enum {
144 };
145
146 // CONSTANTS
147 static const char CLASS_NAME[];
148
150
151 // CLASS METHODS
152
153 /// Return selection information for the selection indicated by the
154 /// specified `id` if the selection exists, and 0 otherwise.
156
157 /// Return selection information for the selection indicated by the
158 /// specified `name` of the specified `nameLength` if the selection
159 /// exists, and 0 otherwise.
161 const char *name,
162 int nameLength);
163
164 // CREATORS
165
166 /// Create an object of type `FeatureTestMessage` having the default
167 /// value. Use the optionally specified `basicAllocator` to supply
168 /// memory. If `basicAllocator` is 0, the currently installed default
169 /// allocator is used.
170 explicit FeatureTestMessage(bslma::Allocator *basicAllocator = 0);
171
172 /// Create an object of type `FeatureTestMessage` having the value of
173 /// the specified `original` object. Use the optionally specified
174 /// `basicAllocator` to supply memory. If `basicAllocator` is 0, the
175 /// currently installed default allocator is used.
177 bslma::Allocator *basicAllocator = 0);
178
179#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
180 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
181 /// Create an object of type `FeatureTestMessage` having the value of
182 /// the specified `original` object. After performing this action, the
183 /// `original` object will be left in a valid, but unspecified state.
184 FeatureTestMessage(FeatureTestMessage&& original) noexcept;
185
186 /// Create an object of type `FeatureTestMessage` having the value of
187 /// the specified `original` object. After performing this action, the
188 /// `original` object will be left in a valid, but unspecified state.
189 /// Use the optionally specified `basicAllocator` to supply memory. If
190 /// `basicAllocator` is 0, the currently installed default allocator is
191 /// used.
193 bslma::Allocator *basicAllocator);
194#endif
195
196 /// Destroy this object.
198
199 // MANIPULATORS
200
201 /// Assign to this object the value of the specified `rhs` object.
203
204#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
205 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
206 /// Assign to this object the value of the specified `rhs` object.
207 /// After performing this action, the `rhs` object will be left in a
208 /// valid, but unspecified state.
210#endif
211
212 /// Reset this object to the default value (i.e., its value upon default
213 /// construction).
214 void reset();
215
216 /// Set the value of this object to be the default for the selection
217 /// indicated by the specified `selectionId`. Return 0 on success, and
218 /// non-zero value otherwise (i.e., the selection is not found).
220
221 /// Set the value of this object to be the default for the selection
222 /// indicated by the specified `name` of the specified `nameLength`.
223 /// Return 0 on success, and non-zero value otherwise (i.e., the
224 /// selection is not found).
225 int makeSelection(const char *name, int nameLength);
226
229#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
230 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
232#endif
233 // Set the value of this object to be a "Selection1" value. Optionally
234 // specify the 'value' of the "Selection1". If 'value' is not
235 // specified, the default "Selection1" value is used.
236
239#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
240 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
242#endif
243 // Set the value of this object to be a "Selection2" value. Optionally
244 // specify the 'value' of the "Selection2". If 'value' is not
245 // specified, the default "Selection2" value is used.
246
249#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
250 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
252#endif
253 // Set the value of this object to be a "Selection3" value. Optionally
254 // specify the 'value' of the "Selection3". If 'value' is not
255 // specified, the default "Selection3" value is used.
256
259#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
260 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
262#endif
263 // Set the value of this object to be a "Selection4" value. Optionally
264 // specify the 'value' of the "Selection4". If 'value' is not
265 // specified, the default "Selection4" value is used.
266
269#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
270 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
272#endif
273 // Set the value of this object to be a "Selection5" value. Optionally
274 // specify the 'value' of the "Selection5". If 'value' is not
275 // specified, the default "Selection5" value is used.
276
279#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
280 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
282#endif
283 // Set the value of this object to be a "Selection6" value. Optionally
284 // specify the 'value' of the "Selection6". If 'value' is not
285 // specified, the default "Selection6" value is used.
286
287 /// Set the value of this object to be a "Selection7" value. Optionally
288 /// specify the `value` of the "Selection7". If `value` is not
289 /// specified, the default "Selection7" value is used.
292
295#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
296 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
298#endif
299 // Set the value of this object to be a "Selection8" value. Optionally
300 // specify the 'value' of the "Selection8". If 'value' is not
301 // specified, the default "Selection8" value is used.
302
305#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
306 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
308#endif
309 // Set the value of this object to be a "Selection9" value. Optionally
310 // specify the 'value' of the "Selection9". If 'value' is not
311 // specified, the default "Selection9" value is used.
312
315#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
316 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
318#endif
319 // Set the value of this object to be a "Selection10" value.
320 // Optionally specify the 'value' of the "Selection10". If 'value' is
321 // not specified, the default "Selection10" value is used.
322
325#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
326 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
328#endif
329 // Set the value of this object to be a "Selection11" value.
330 // Optionally specify the 'value' of the "Selection11". If 'value' is
331 // not specified, the default "Selection11" value is used.
332
333 /// Invoke the specified `manipulator` on the address of the modifiable
334 /// selection, supplying `manipulator` with the corresponding selection
335 /// information structure. Return the value returned from the
336 /// invocation of `manipulator` if this object has a defined selection,
337 /// and -1 otherwise.
338 template <typename t_MANIPULATOR>
339 int manipulateSelection(t_MANIPULATOR& manipulator);
340
341 /// Return a reference to the modifiable "Selection1" selection of this
342 /// object if "Selection1" is the current selection.
343 ///
344 /// \pre The behavior is undefined unless "Selection1" is the selection of this object.
346
347 /// Return a reference to the modifiable "Selection2" selection of this
348 /// object if "Selection2" is the current selection.
349 ///
350 /// \pre The behavior is undefined unless "Selection2" is the selection of this object.
352
353 /// Return a reference to the modifiable "Selection3" selection of this
354 /// object if "Selection3" is the current selection.
355 ///
356 /// \pre The behavior is undefined unless "Selection3" is the selection of this object.
358
359 /// Return a reference to the modifiable "Selection4" selection of this
360 /// object if "Selection4" is the current selection.
361 ///
362 /// \pre The behavior is undefined unless "Selection4" is the selection of this object.
364
365 /// Return a reference to the modifiable "Selection5" selection of this
366 /// object if "Selection5" is the current selection.
367 ///
368 /// \pre The behavior is undefined unless "Selection5" is the selection of this object.
370
371 /// Return a reference to the modifiable "Selection6" selection of this
372 /// object if "Selection6" is the current selection.
373 ///
374 /// \pre The behavior is undefined unless "Selection6" is the selection of this object.
376
377 /// Return a reference to the modifiable "Selection7" selection of this
378 /// object if "Selection7" is the current selection.
379 ///
380 /// \pre The behavior is undefined unless "Selection7" is the selection of this object.
382
383 /// Return a reference to the modifiable "Selection8" selection of this
384 /// object if "Selection8" is the current selection.
385 ///
386 /// \pre The behavior is undefined unless "Selection8" is the selection of this object.
388
389 /// Return a reference to the modifiable "Selection9" selection of this
390 /// object if "Selection9" is the current selection.
391 ///
392 /// \pre The behavior is undefined unless "Selection9" is the selection of this object.
394
395 /// Return a reference to the modifiable "Selection10" selection of this
396 /// object if "Selection10" is the current selection.
397 ///
398 /// \pre The behavior is undefined unless "Selection10" is the selection of this object.
400
401 /// Return a reference to the modifiable "Selection11" selection of this
402 /// object if "Selection11" is the current selection.
403 ///
404 /// \pre The behavior is undefined unless "Selection11" is the selection of this object.
406
407 // ACCESSORS
408
409 /// Format this object to the specified output `stream` at the
410 /// optionally specified indentation `level` and return a reference to
411 /// the modifiable `stream`. If `level` is specified, optionally
412 /// specify `spacesPerLevel`, the number of spaces per indentation level
413 /// for this and all of its nested objects. Each line is indented by
414 /// the absolute value of `level * spacesPerLevel`. If `level` is
415 /// negative, suppress indentation of the first line. If
416 /// `spacesPerLevel` is negative, suppress line breaks and format the
417 /// entire output on one line. If `stream` is initially invalid, this operation has no effect.
418 ///
419 /// \note Note that a trailing newline is provided
420 /// in multiline mode only.
421 bsl::ostream& print(bsl::ostream& stream,
422 int level = 0,
423 int spacesPerLevel = 4) const;
424
425 /// Return the id of the current selection if the selection is defined,
426 /// and -1 otherwise.
427 int selectionId() const;
428
429 /// Invoke the specified `accessor` on the non-modifiable selection,
430 /// supplying `accessor` with the corresponding selection information
431 /// structure. Return the value returned from the invocation of
432 /// `accessor` if this object has a defined selection, and -1 otherwise.
433 template <typename t_ACCESSOR>
434 int accessSelection(t_ACCESSOR& accessor) const;
435
436 /// Return a reference to the non-modifiable "Selection1" selection of
437 /// this object if "Selection1" is the current selection.
438 ///
439 /// \pre The behavior is undefined unless "Selection1" is the selection of this object.
440 const s_baltst::Sequence1& selection1() const;
441
442 /// Return a reference to the non-modifiable "Selection2" selection of
443 /// this object if "Selection2" is the current selection.
444 ///
445 /// \pre The behavior is undefined unless "Selection2" is the selection of this object.
446 const bsl::vector<char>& selection2() const;
447
448 /// Return a reference to the non-modifiable "Selection3" selection of
449 /// this object if "Selection3" is the current selection.
450 ///
451 /// \pre The behavior is undefined unless "Selection3" is the selection of this object.
452 const s_baltst::Sequence2& selection3() const;
453
454 /// Return a reference to the non-modifiable "Selection4" selection of
455 /// this object if "Selection4" is the current selection.
456 ///
457 /// \pre The behavior is undefined unless "Selection4" is the selection of this object.
458 const s_baltst::Sequence3& selection4() const;
459
460 /// Return a reference to the non-modifiable "Selection5" selection of
461 /// this object if "Selection5" is the current selection.
462 ///
463 /// \pre The behavior is undefined unless "Selection5" is the selection of this object.
464 const bdlt::DatetimeTz& selection5() const;
465
466 /// Return a reference to the non-modifiable "Selection6" selection of
467 /// this object if "Selection6" is the current selection.
468 ///
469 /// \pre The behavior is undefined unless "Selection6" is the selection of this object.
470 const s_baltst::CustomString& selection6() const;
471
472 /// Return a reference to the non-modifiable "Selection7" selection of
473 /// this object if "Selection7" is the current selection.
474 ///
475 /// \pre The behavior is undefined unless "Selection7" is the selection of this object.
477
478 /// Return a reference to the non-modifiable "Selection8" selection of
479 /// this object if "Selection8" is the current selection.
480 ///
481 /// \pre The behavior is undefined unless "Selection8" is the selection of this object.
482 const s_baltst::Choice3& selection8() const;
483
484 /// Return a reference to the non-modifiable "Selection9" selection of
485 /// this object if "Selection9" is the current selection.
486 ///
487 /// \pre The behavior is undefined unless "Selection9" is the selection of this object.
488 const s_baltst::VoidSequence& selection9() const;
489
490 /// Return a reference to the non-modifiable "Selection10" selection of
491 /// this object if "Selection10" is the current selection.
492 ///
493 /// \pre The behavior is undefined unless "Selection10" is the selection of this object.
495
496 /// Return a reference to the non-modifiable "Selection11" selection of
497 /// this object if "Selection11" is the current selection.
498 ///
499 /// \pre The behavior is undefined unless "Selection11" is the selection of this object.
501
502 /// Return `true` if the value of this object is a "Selection1" value,
503 /// and return `false` otherwise.
504 bool isSelection1Value() const;
505
506 /// Return `true` if the value of this object is a "Selection2" value,
507 /// and return `false` otherwise.
508 bool isSelection2Value() const;
509
510 /// Return `true` if the value of this object is a "Selection3" value,
511 /// and return `false` otherwise.
512 bool isSelection3Value() const;
513
514 /// Return `true` if the value of this object is a "Selection4" value,
515 /// and return `false` otherwise.
516 bool isSelection4Value() const;
517
518 /// Return `true` if the value of this object is a "Selection5" value,
519 /// and return `false` otherwise.
520 bool isSelection5Value() const;
521
522 /// Return `true` if the value of this object is a "Selection6" value,
523 /// and return `false` otherwise.
524 bool isSelection6Value() const;
525
526 /// Return `true` if the value of this object is a "Selection7" value,
527 /// and return `false` otherwise.
528 bool isSelection7Value() const;
529
530 /// Return `true` if the value of this object is a "Selection8" value,
531 /// and return `false` otherwise.
532 bool isSelection8Value() const;
533
534 /// Return `true` if the value of this object is a "Selection9" value,
535 /// and return `false` otherwise.
536 bool isSelection9Value() const;
537
538 /// Return `true` if the value of this object is a "Selection10" value,
539 /// and return `false` otherwise.
540 bool isSelection10Value() const;
541
542 /// Return `true` if the value of this object is a "Selection11" value,
543 /// and return `false` otherwise.
544 bool isSelection11Value() const;
545
546 /// Return `true` if the value of this object is undefined, and `false`
547 /// otherwise.
548 bool isUndefinedValue() const;
549
550 /// Return the symbolic name of the current selection of this object.
551 const char *selectionName() const;
552
553 // HIDDEN FRIENDS
554
555 /// Return `true` if the specified `lhs` and `rhs` objects have the same
556 /// value, and `false` otherwise. Two `FeatureTestMessage` objects have
557 /// the same value if either the selections in both objects have the
558 /// same ids and the same values, or both selections are undefined.
559 friend bool operator==(const FeatureTestMessage& lhs,
560 const FeatureTestMessage& rhs)
561 {
562 return lhs.isEqualTo(rhs);
563 }
564
565 /// Return `true` if the specified `lhs` and `rhs` objects do not have
566 /// the same values, as determined by `operator==`, and `false`
567 /// otherwise.
568 friend bool operator!=(const FeatureTestMessage& lhs,
569 const FeatureTestMessage& rhs)
570 {
571 return !(lhs == rhs);
572 }
573
574 /// Format the specified `rhs` to the specified output `stream` and
575 /// return a reference to the modifiable `stream`.
576 friend bsl::ostream& operator<<(bsl::ostream& stream,
577 const FeatureTestMessage& rhs)
578 {
579 return rhs.print(stream, 0, -1);
580 }
581};
582
583} // close package namespace
584
585// TRAITS
586
588
589// ============================================================================
590// INLINE DEFINITIONS
591// ============================================================================
592
593namespace s_baltst {
594
595 // ------------------------
596 // class FeatureTestMessage
597 // ------------------------
598
599// CLASS METHODS
600// PRIVATE ACCESSORS
601inline
602bool FeatureTestMessage::isEqualTo(const FeatureTestMessage& rhs) const
603{
604 typedef FeatureTestMessage Class;
605 if (this->selectionId() == rhs.selectionId()) {
606 switch (rhs.selectionId()) {
607 case Class::SELECTION_ID_SELECTION1:
608 return this->selection1() == rhs.selection1();
609 case Class::SELECTION_ID_SELECTION2:
610 return this->selection2() == rhs.selection2();
611 case Class::SELECTION_ID_SELECTION3:
612 return this->selection3() == rhs.selection3();
613 case Class::SELECTION_ID_SELECTION4:
614 return this->selection4() == rhs.selection4();
615 case Class::SELECTION_ID_SELECTION5:
616 return this->selection5() == rhs.selection5();
617 case Class::SELECTION_ID_SELECTION6:
618 return this->selection6() == rhs.selection6();
619 case Class::SELECTION_ID_SELECTION7:
620 return this->selection7() == rhs.selection7();
621 case Class::SELECTION_ID_SELECTION8:
622 return this->selection8() == rhs.selection8();
623 case Class::SELECTION_ID_SELECTION9:
624 return this->selection9() == rhs.selection9();
625 case Class::SELECTION_ID_SELECTION10:
626 return this->selection10() == rhs.selection10();
627 case Class::SELECTION_ID_SELECTION11:
628 return this->selection11() == rhs.selection11();
629 default:
630 BSLS_ASSERT(Class::SELECTION_ID_UNDEFINED == rhs.selectionId());
631 return true;
632 }
633 }
634 else {
635 return false;
636 }
637}
638
639// CREATORS
640inline
642: d_selectionId(SELECTION_ID_UNDEFINED)
643, d_allocator_p(bslma::Default::allocator(basicAllocator))
644{
645}
646
647inline
652
653// MANIPULATORS
654template <typename t_MANIPULATOR>
655int FeatureTestMessage::manipulateSelection(t_MANIPULATOR& manipulator)
656{
657 switch (d_selectionId) {
659 return manipulator(&d_selection1.object(),
662 return manipulator(&d_selection2.object(),
665 return manipulator(&d_selection3.object(),
668 return manipulator(d_selection4,
671 return manipulator(&d_selection5.object(),
674 return manipulator(&d_selection6.object(),
677 return manipulator(&d_selection7.object(),
680 return manipulator(&d_selection8.object(),
683 return manipulator(&d_selection9.object(),
686 return manipulator(&d_selection10.object(),
689 return manipulator(&d_selection11.object(),
691 default:
693 return -1;
694 }
695}
696
697inline
703
704inline
710
711inline
717
718inline
724
725inline
731
732inline
738
739inline
745
746inline
752
753inline
759
760inline
766
767inline
773
774// ACCESSORS
775inline
777{
778 return d_selectionId;
779}
780
781template <typename t_ACCESSOR>
782int FeatureTestMessage::accessSelection(t_ACCESSOR& accessor) const
783{
784 switch (d_selectionId) {
786 return accessor(d_selection1.object(),
789 return accessor(d_selection2.object(),
792 return accessor(d_selection3.object(),
795 return accessor(*d_selection4,
798 return accessor(d_selection5.object(),
801 return accessor(d_selection6.object(),
804 return accessor(d_selection7.object(),
807 return accessor(d_selection8.object(),
810 return accessor(d_selection9.object(),
813 return accessor(d_selection10.object(),
816 return accessor(d_selection11.object(),
818 default:
819 BSLS_ASSERT(SELECTION_ID_UNDEFINED == d_selectionId);
820 return -1;
821 }
822}
823
824inline
830
831inline
837
838inline
844
845inline
847{
848 BSLS_ASSERT(SELECTION_ID_SELECTION4 == d_selectionId);
849 return *d_selection4;
850}
851
852inline
854{
855 BSLS_ASSERT(SELECTION_ID_SELECTION5 == d_selectionId);
856 return d_selection5.object();
857}
858
859inline
865
866inline
872
873inline
879
880inline
886
887inline
893
894inline
900
901inline
903{
904 return SELECTION_ID_SELECTION1 == d_selectionId;
905}
906
907inline
909{
910 return SELECTION_ID_SELECTION2 == d_selectionId;
911}
912
913inline
915{
916 return SELECTION_ID_SELECTION3 == d_selectionId;
917}
918
919inline
921{
922 return SELECTION_ID_SELECTION4 == d_selectionId;
923}
924
925inline
927{
928 return SELECTION_ID_SELECTION5 == d_selectionId;
929}
930
931inline
933{
934 return SELECTION_ID_SELECTION6 == d_selectionId;
935}
936
937inline
939{
940 return SELECTION_ID_SELECTION7 == d_selectionId;
941}
942
943inline
945{
946 return SELECTION_ID_SELECTION8 == d_selectionId;
947}
948
949inline
951{
952 return SELECTION_ID_SELECTION9 == d_selectionId;
953}
954
955inline
957{
958 return SELECTION_ID_SELECTION10 == d_selectionId;
959}
960
961inline
963{
964 return SELECTION_ID_SELECTION11 == d_selectionId;
965}
966
967inline
969{
970 return SELECTION_ID_UNDEFINED == d_selectionId;
971}
972} // close package namespace
973
974// FREE FUNCTIONS
975
976
977#endif
978
979// GENERATED BY BLP_BAS_CODEGEN_2025.08.21
980// USING bas_codegen.pl s_baltst_featuretestmessage.xsd --mode msg --includedir . --msgComponent featuretestmessage --noRecurse --noExternalization --noHashSupport --noAggregateConversion
981// ----------------------------------------------------------------------------
982// NOTICE:
983// Copyright 2025 Bloomberg Finance L.P. All rights reserved.
984// Property of Bloomberg Finance L.P. (BFLP)
985// This software is made available solely pursuant to the
986// terms of a BFLP license agreement which governs its use.
987// ------------------------------- END-OF-FILE --------------------------------
988
989/** @} */
990/** @} */
991/** @} */
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_featuretestmessage.h:87
s_baltst::Enumerated::Value & selection7()
Definition s_baltst_featuretestmessage.h:740
bool isSelection2Value() const
Definition s_baltst_featuretestmessage.h:908
s_baltst::Sequence2 & selection3()
Definition s_baltst_featuretestmessage.h:712
bool isUndefinedValue() const
Definition s_baltst_featuretestmessage.h:968
s_baltst::Choice3 & makeSelection8(const s_baltst::Choice3 &value)
friend bool operator!=(const FeatureTestMessage &lhs, const FeatureTestMessage &rhs)
Definition s_baltst_featuretestmessage.h:568
@ SELECTION_ID_SELECTION6
Definition s_baltst_featuretestmessage.h:120
@ SELECTION_ID_SELECTION7
Definition s_baltst_featuretestmessage.h:121
@ SELECTION_ID_SELECTION2
Definition s_baltst_featuretestmessage.h:116
@ SELECTION_ID_SELECTION9
Definition s_baltst_featuretestmessage.h:123
@ SELECTION_ID_SELECTION4
Definition s_baltst_featuretestmessage.h:118
@ SELECTION_ID_SELECTION10
Definition s_baltst_featuretestmessage.h:124
@ SELECTION_ID_SELECTION11
Definition s_baltst_featuretestmessage.h:125
@ SELECTION_ID_SELECTION3
Definition s_baltst_featuretestmessage.h:117
@ SELECTION_ID_UNDEFINED
Definition s_baltst_featuretestmessage.h:114
@ SELECTION_ID_SELECTION1
Definition s_baltst_featuretestmessage.h:115
@ SELECTION_ID_SELECTION5
Definition s_baltst_featuretestmessage.h:119
@ SELECTION_ID_SELECTION8
Definition s_baltst_featuretestmessage.h:122
int makeSelection(const char *name, int nameLength)
s_baltst::SequenceWithAnonymity & selection11()
Definition s_baltst_featuretestmessage.h:768
~FeatureTestMessage()
Destroy this object.
Definition s_baltst_featuretestmessage.h:648
s_baltst::Sequence3 & makeSelection4(const s_baltst::Sequence3 &value)
int selectionId() const
Definition s_baltst_featuretestmessage.h:776
FeatureTestMessage & operator=(const FeatureTestMessage &rhs)
Assign to this object the value of the specified rhs object.
bsls::ObjectBuffer< s_baltst::VoidSequence > d_selection9
Definition s_baltst_featuretestmessage.h:99
bool isSelection3Value() const
Definition s_baltst_featuretestmessage.h:914
int makeSelection(int selectionId)
friend bool operator==(const FeatureTestMessage &lhs, const FeatureTestMessage &rhs)
Definition s_baltst_featuretestmessage.h:559
friend bsl::ostream & operator<<(bsl::ostream &stream, const FeatureTestMessage &rhs)
Definition s_baltst_featuretestmessage.h:576
s_baltst::Sequence3 * d_selection4
Definition s_baltst_featuretestmessage.h:94
bsls::ObjectBuffer< bdlt::DatetimeTz > d_selection5
Definition s_baltst_featuretestmessage.h:95
bool isSelection9Value() const
Definition s_baltst_featuretestmessage.h:950
s_baltst::SequenceWithAnonymity & makeSelection11(const s_baltst::SequenceWithAnonymity &value)
s_baltst::Choice3 & makeSelection8()
s_baltst::UnsignedSequence & makeSelection10(const s_baltst::UnsignedSequence &value)
bsl::ostream & print(bsl::ostream &stream, int level=0, int spacesPerLevel=4) const
bsls::ObjectBuffer< s_baltst::Choice3 > d_selection8
Definition s_baltst_featuretestmessage.h:98
FeatureTestMessage(const FeatureTestMessage &original, bslma::Allocator *basicAllocator=0)
s_baltst::Sequence2 & makeSelection3()
bsls::ObjectBuffer< bsl::vector< char > > d_selection2
Definition s_baltst_featuretestmessage.h:92
s_baltst::Sequence1 & makeSelection1()
bdlt::DatetimeTz & makeSelection5()
static const bdlat_SelectionInfo * lookupSelectionInfo(const char *name, int nameLength)
bsls::ObjectBuffer< s_baltst::UnsignedSequence > d_selection10
Definition s_baltst_featuretestmessage.h:100
static const char CLASS_NAME[]
Definition s_baltst_featuretestmessage.h:147
s_baltst::Sequence1 & selection1()
Definition s_baltst_featuretestmessage.h:698
bool isSelection1Value() const
Definition s_baltst_featuretestmessage.h:902
s_baltst::Choice3 & selection8()
Definition s_baltst_featuretestmessage.h:747
bool isSelection10Value() const
Definition s_baltst_featuretestmessage.h:956
bdlt::DatetimeTz & makeSelection5(const bdlt::DatetimeTz &value)
bool isSelection7Value() const
Definition s_baltst_featuretestmessage.h:938
s_baltst::UnsignedSequence & makeSelection10()
FeatureTestMessage(bslma::Allocator *basicAllocator=0)
Definition s_baltst_featuretestmessage.h:641
s_baltst::CustomString & selection6()
Definition s_baltst_featuretestmessage.h:733
bool isSelection11Value() const
Definition s_baltst_featuretestmessage.h:962
bdlt::DatetimeTz & selection5()
Definition s_baltst_featuretestmessage.h:726
int accessSelection(t_ACCESSOR &accessor) const
Definition s_baltst_featuretestmessage.h:782
s_baltst::VoidSequence & makeSelection9(const s_baltst::VoidSequence &value)
bsls::ObjectBuffer< s_baltst::CustomString > d_selection6
Definition s_baltst_featuretestmessage.h:96
static const bdlat_SelectionInfo SELECTION_INFO_ARRAY[]
Definition s_baltst_featuretestmessage.h:149
s_baltst::Sequence2 & makeSelection3(const s_baltst::Sequence2 &value)
bsl::vector< char > & selection2()
Definition s_baltst_featuretestmessage.h:705
s_baltst::Enumerated::Value & makeSelection7(s_baltst::Enumerated::Value value)
s_baltst::CustomString & makeSelection6(const s_baltst::CustomString &value)
s_baltst::UnsignedSequence & selection10()
Definition s_baltst_featuretestmessage.h:761
bsls::ObjectBuffer< s_baltst::Sequence1 > d_selection1
Definition s_baltst_featuretestmessage.h:91
bsl::vector< char > & makeSelection2()
s_baltst::VoidSequence & makeSelection9()
bool isSelection4Value() const
Definition s_baltst_featuretestmessage.h:920
s_baltst::Enumerated::Value & makeSelection7()
int manipulateSelection(t_MANIPULATOR &manipulator)
Definition s_baltst_featuretestmessage.h:655
s_baltst::Sequence1 & makeSelection1(const s_baltst::Sequence1 &value)
s_baltst::CustomString & makeSelection6()
static const bdlat_SelectionInfo * lookupSelectionInfo(int id)
bool isSelection8Value() const
Definition s_baltst_featuretestmessage.h:944
@ NUM_SELECTIONS
Definition s_baltst_featuretestmessage.h:129
s_baltst::Sequence3 & selection4()
Definition s_baltst_featuretestmessage.h:719
s_baltst::VoidSequence & selection9()
Definition s_baltst_featuretestmessage.h:754
bool isSelection6Value() const
Definition s_baltst_featuretestmessage.h:932
bool isSelection5Value() const
Definition s_baltst_featuretestmessage.h:926
s_baltst::Sequence3 & makeSelection4()
bsls::ObjectBuffer< s_baltst::Enumerated::Value > d_selection7
Definition s_baltst_featuretestmessage.h:97
bsls::ObjectBuffer< s_baltst::Sequence2 > d_selection3
Definition s_baltst_featuretestmessage.h:93
const char * selectionName() const
Return the symbolic name of the current selection of this object.
bsl::vector< char > & makeSelection2(const bsl::vector< char > &value)
bsls::ObjectBuffer< s_baltst::SequenceWithAnonymity > d_selection11
Definition s_baltst_featuretestmessage.h:101
s_baltst::SequenceWithAnonymity & makeSelection11()
@ SELECTION_INDEX_SELECTION10
Definition s_baltst_featuretestmessage.h:142
@ SELECTION_INDEX_SELECTION9
Definition s_baltst_featuretestmessage.h:141
@ SELECTION_INDEX_SELECTION5
Definition s_baltst_featuretestmessage.h:137
@ SELECTION_INDEX_SELECTION8
Definition s_baltst_featuretestmessage.h:140
@ SELECTION_INDEX_SELECTION3
Definition s_baltst_featuretestmessage.h:135
@ SELECTION_INDEX_SELECTION7
Definition s_baltst_featuretestmessage.h:139
@ SELECTION_INDEX_SELECTION1
Definition s_baltst_featuretestmessage.h:133
@ SELECTION_INDEX_SELECTION11
Definition s_baltst_featuretestmessage.h:143
@ SELECTION_INDEX_SELECTION2
Definition s_baltst_featuretestmessage.h:134
@ SELECTION_INDEX_SELECTION4
Definition s_baltst_featuretestmessage.h:136
@ SELECTION_INDEX_SELECTION6
Definition s_baltst_featuretestmessage.h:138
Definition s_baltst_ratsnest.h:2317
Definition s_baltst_ratsnest.h:2576
Definition s_baltst_ratsnest.h:95
Definition s_baltst_sequencewithanonymity.h:893
Definition s_baltst_unsignedsequence.h:69
Definition s_baltst_voidsequence.h:67
#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