BDE 4.14.0 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 public:
108 // TYPES
109
110 enum {
123 };
124
125 enum {
126 NUM_SELECTIONS = 11
127 };
128
129 enum {
141 };
142
143 // CONSTANTS
144 static const char CLASS_NAME[];
145
147
148 // CLASS METHODS
149
150 /// Return selection information for the selection indicated by the
151 /// specified `id` if the selection exists, and 0 otherwise.
153
154 /// Return selection information for the selection indicated by the
155 /// specified `name` of the specified `nameLength` if the selection
156 /// exists, and 0 otherwise.
158 const char *name,
159 int nameLength);
160
161 // CREATORS
162
163 /// Create an object of type `FeatureTestMessage` having the default
164 /// value. Use the optionally specified `basicAllocator` to supply
165 /// memory. If `basicAllocator` is 0, the currently installed default
166 /// allocator is used.
167 explicit FeatureTestMessage(bslma::Allocator *basicAllocator = 0);
168
169 /// Create an object of type `FeatureTestMessage` having the value of
170 /// the specified `original` object. Use the optionally specified
171 /// `basicAllocator` to supply memory. If `basicAllocator` is 0, the
172 /// currently installed default allocator is used.
174 bslma::Allocator *basicAllocator = 0);
175
176#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
177 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
178 /// Create an object of type `FeatureTestMessage` having the value of
179 /// the specified `original` object. After performing this action, the
180 /// `original` object will be left in a valid, but unspecified state.
181 FeatureTestMessage(FeatureTestMessage&& original) noexcept;
182
183 /// Create an object of type `FeatureTestMessage` having the value of
184 /// the specified `original` object. After performing this action, the
185 /// `original` object will be left in a valid, but unspecified state.
186 /// Use the optionally specified `basicAllocator` to supply memory. If
187 /// `basicAllocator` is 0, the currently installed default allocator is
188 /// used.
190 bslma::Allocator *basicAllocator);
191#endif
192
193 /// Destroy this object.
195
196 // MANIPULATORS
197
198 /// Assign to this object the value of the specified `rhs` object.
200
201#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
202 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
203 /// Assign to this object the value of the specified `rhs` object.
204 /// After performing this action, the `rhs` object will be left in a
205 /// valid, but unspecified state.
207#endif
208
209 /// Reset this object to the default value (i.e., its value upon default
210 /// construction).
211 void reset();
212
213 /// Set the value of this object to be the default for the selection
214 /// indicated by the specified `selectionId`. Return 0 on success, and
215 /// non-zero value otherwise (i.e., the selection is not found).
217
218 /// Set the value of this object to be the default for the selection
219 /// indicated by the specified `name` of the specified `nameLength`.
220 /// Return 0 on success, and non-zero value otherwise (i.e., the
221 /// selection is not found).
222 int makeSelection(const char *name, int nameLength);
223
226#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
227 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
229#endif
230 // Set the value of this object to be a "Selection1" value. Optionally
231 // specify the 'value' of the "Selection1". If 'value' is not
232 // specified, the default "Selection1" value is used.
233
236#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
237 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
239#endif
240 // Set the value of this object to be a "Selection2" value. Optionally
241 // specify the 'value' of the "Selection2". If 'value' is not
242 // specified, the default "Selection2" value is used.
243
246#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
247 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
249#endif
250 // Set the value of this object to be a "Selection3" value. Optionally
251 // specify the 'value' of the "Selection3". If 'value' is not
252 // specified, the default "Selection3" value is used.
253
256#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
257 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
259#endif
260 // Set the value of this object to be a "Selection4" value. Optionally
261 // specify the 'value' of the "Selection4". If 'value' is not
262 // specified, the default "Selection4" value is used.
263
266#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
267 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
269#endif
270 // Set the value of this object to be a "Selection5" value. Optionally
271 // specify the 'value' of the "Selection5". If 'value' is not
272 // specified, the default "Selection5" value is used.
273
276#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
277 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
279#endif
280 // Set the value of this object to be a "Selection6" value. Optionally
281 // specify the 'value' of the "Selection6". If 'value' is not
282 // specified, the default "Selection6" value is used.
283
284 /// Set the value of this object to be a "Selection7" value. Optionally
285 /// specify the `value` of the "Selection7". If `value` is not
286 /// specified, the default "Selection7" value is used.
289
292#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
293 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
295#endif
296 // Set the value of this object to be a "Selection8" value. Optionally
297 // specify the 'value' of the "Selection8". If 'value' is not
298 // specified, the default "Selection8" value is used.
299
302#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
303 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
305#endif
306 // Set the value of this object to be a "Selection9" value. Optionally
307 // specify the 'value' of the "Selection9". If 'value' is not
308 // specified, the default "Selection9" value is used.
309
312#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
313 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
315#endif
316 // Set the value of this object to be a "Selection10" value.
317 // Optionally specify the 'value' of the "Selection10". If 'value' is
318 // not specified, the default "Selection10" value is used.
319
322#if defined(BSLS_COMPILERFEATURES_SUPPORT_RVALUE_REFERENCES) \
323 && defined(BSLS_COMPILERFEATURES_SUPPORT_NOEXCEPT)
325#endif
326 // Set the value of this object to be a "Selection11" value.
327 // Optionally specify the 'value' of the "Selection11". If 'value' is
328 // not specified, the default "Selection11" value is used.
329
330 /// Invoke the specified `manipulator` on the address of the modifiable
331 /// selection, supplying `manipulator` with the corresponding selection
332 /// information structure. Return the value returned from the
333 /// invocation of `manipulator` if this object has a defined selection,
334 /// and -1 otherwise.
335 template<class MANIPULATOR>
336 int manipulateSelection(MANIPULATOR& manipulator);
337
338 /// Return a reference to the modifiable "Selection1" selection of this
339 /// object if "Selection1" is the current selection. The behavior is
340 /// undefined unless "Selection1" is the selection of this object.
342
343 /// Return a reference to the modifiable "Selection2" selection of this
344 /// object if "Selection2" is the current selection. The behavior is
345 /// undefined unless "Selection2" is the selection of this object.
347
348 /// Return a reference to the modifiable "Selection3" selection of this
349 /// object if "Selection3" is the current selection. The behavior is
350 /// undefined unless "Selection3" is the selection of this object.
352
353 /// Return a reference to the modifiable "Selection4" selection of this
354 /// object if "Selection4" is the current selection. The behavior is
355 /// undefined unless "Selection4" is the selection of this object.
357
358 /// Return a reference to the modifiable "Selection5" selection of this
359 /// object if "Selection5" is the current selection. The behavior is
360 /// undefined unless "Selection5" is the selection of this object.
362
363 /// Return a reference to the modifiable "Selection6" selection of this
364 /// object if "Selection6" is the current selection. The behavior is
365 /// undefined unless "Selection6" is the selection of this object.
367
368 /// Return a reference to the modifiable "Selection7" selection of this
369 /// object if "Selection7" is the current selection. The behavior is
370 /// undefined unless "Selection7" is the selection of this object.
372
373 /// Return a reference to the modifiable "Selection8" selection of this
374 /// object if "Selection8" is the current selection. The behavior is
375 /// undefined unless "Selection8" is the selection of this object.
377
378 /// Return a reference to the modifiable "Selection9" selection of this
379 /// object if "Selection9" is the current selection. The behavior is
380 /// undefined unless "Selection9" is the selection of this object.
382
383 /// Return a reference to the modifiable "Selection10" selection of this
384 /// object if "Selection10" is the current selection. The behavior is
385 /// undefined unless "Selection10" is the selection of this object.
387
388 /// Return a reference to the modifiable "Selection11" selection of this
389 /// object if "Selection11" is the current selection. The behavior is
390 /// undefined unless "Selection11" is the selection of this 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 /// Return the id of the current selection if the selection is defined,
411 /// and -1 otherwise.
412 int selectionId() const;
413
414 /// Invoke the specified `accessor` on the non-modifiable selection,
415 /// supplying `accessor` with the corresponding selection information
416 /// structure. Return the value returned from the invocation of
417 /// `accessor` if this object has a defined selection, and -1 otherwise.
418 template<class ACCESSOR>
419 int accessSelection(ACCESSOR& accessor) const;
420
421 /// Return a reference to the non-modifiable "Selection1" selection of
422 /// this object if "Selection1" is the current selection. The behavior
423 /// is undefined unless "Selection1" is the selection of this object.
424 const s_baltst::Sequence1& selection1() const;
425
426 /// Return a reference to the non-modifiable "Selection2" selection of
427 /// this object if "Selection2" is the current selection. The behavior
428 /// is undefined unless "Selection2" is the selection of this object.
429 const bsl::vector<char>& selection2() const;
430
431 /// Return a reference to the non-modifiable "Selection3" selection of
432 /// this object if "Selection3" is the current selection. The behavior
433 /// is undefined unless "Selection3" is the selection of this object.
434 const s_baltst::Sequence2& selection3() const;
435
436 /// Return a reference to the non-modifiable "Selection4" selection of
437 /// this object if "Selection4" is the current selection. The behavior
438 /// is undefined unless "Selection4" is the selection of this object.
439 const s_baltst::Sequence3& selection4() const;
440
441 /// Return a reference to the non-modifiable "Selection5" selection of
442 /// this object if "Selection5" is the current selection. The behavior
443 /// is undefined unless "Selection5" is the selection of this object.
444 const bdlt::DatetimeTz& selection5() const;
445
446 /// Return a reference to the non-modifiable "Selection6" selection of
447 /// this object if "Selection6" is the current selection. The behavior
448 /// is undefined unless "Selection6" is the selection of this object.
449 const s_baltst::CustomString& selection6() const;
450
451 /// Return a reference to the non-modifiable "Selection7" selection of
452 /// this object if "Selection7" is the current selection. The behavior
453 /// is undefined unless "Selection7" is the selection of this object.
455
456 /// Return a reference to the non-modifiable "Selection8" selection of
457 /// this object if "Selection8" is the current selection. The behavior
458 /// is undefined unless "Selection8" is the selection of this object.
459 const s_baltst::Choice3& selection8() const;
460
461 /// Return a reference to the non-modifiable "Selection9" selection of
462 /// this object if "Selection9" is the current selection. The behavior
463 /// is undefined unless "Selection9" is the selection of this object.
464 const s_baltst::VoidSequence& selection9() const;
465
466 /// Return a reference to the non-modifiable "Selection10" selection of
467 /// this object if "Selection10" is the current selection. The behavior
468 /// is undefined unless "Selection10" is the selection of this object.
470
471 /// Return a reference to the non-modifiable "Selection11" selection of
472 /// this object if "Selection11" is the current selection. The behavior
473 /// is undefined unless "Selection11" is the selection of this object.
475
476 /// Return `true` if the value of this object is a "Selection1" value,
477 /// and return `false` otherwise.
478 bool isSelection1Value() const;
479
480 /// Return `true` if the value of this object is a "Selection2" value,
481 /// and return `false` otherwise.
482 bool isSelection2Value() const;
483
484 /// Return `true` if the value of this object is a "Selection3" value,
485 /// and return `false` otherwise.
486 bool isSelection3Value() const;
487
488 /// Return `true` if the value of this object is a "Selection4" value,
489 /// and return `false` otherwise.
490 bool isSelection4Value() const;
491
492 /// Return `true` if the value of this object is a "Selection5" value,
493 /// and return `false` otherwise.
494 bool isSelection5Value() const;
495
496 /// Return `true` if the value of this object is a "Selection6" value,
497 /// and return `false` otherwise.
498 bool isSelection6Value() const;
499
500 /// Return `true` if the value of this object is a "Selection7" value,
501 /// and return `false` otherwise.
502 bool isSelection7Value() const;
503
504 /// Return `true` if the value of this object is a "Selection8" value,
505 /// and return `false` otherwise.
506 bool isSelection8Value() const;
507
508 /// Return `true` if the value of this object is a "Selection9" value,
509 /// and return `false` otherwise.
510 bool isSelection9Value() const;
511
512 /// Return `true` if the value of this object is a "Selection10" value,
513 /// and return `false` otherwise.
514 bool isSelection10Value() const;
515
516 /// Return `true` if the value of this object is a "Selection11" value,
517 /// and return `false` otherwise.
518 bool isSelection11Value() const;
519
520 /// Return `true` if the value of this object is undefined, and `false`
521 /// otherwise.
522 bool isUndefinedValue() const;
523
524 /// Return the symbolic name of the current selection of this object.
525 const char *selectionName() const;
526};
527
528// FREE OPERATORS
529
530/// Return `true` if the specified `lhs` and `rhs` objects have the same
531/// value, and `false` otherwise. Two `FeatureTestMessage` objects have the same
532/// value if either the selections in both objects have the same ids and
533/// the same values, or both selections are undefined.
534inline
535bool operator==(const FeatureTestMessage& lhs, const FeatureTestMessage& rhs);
536
537/// Return `true` if the specified `lhs` and `rhs` objects do not have the
538/// same values, as determined by `operator==`, and `false` otherwise.
539inline
540bool operator!=(const FeatureTestMessage& lhs, const FeatureTestMessage& rhs);
541
542/// Format the specified `rhs` to the specified output `stream` and
543/// return a reference to the modifiable `stream`.
544inline
545bsl::ostream& operator<<(bsl::ostream& stream, const FeatureTestMessage& rhs);
546
547} // close package namespace
548
549// TRAITS
550
552
553// ============================================================================
554// INLINE FUNCTION DEFINITIONS
555// ============================================================================
556
557namespace s_baltst {
558
559 // ------------------------
560 // class FeatureTestMessage
561 // ------------------------
562
563// CLASS METHODS
564// CREATORS
565inline
567: d_selectionId(SELECTION_ID_UNDEFINED)
568, d_allocator_p(bslma::Default::allocator(basicAllocator))
569{
570}
571
572inline
577
578// MANIPULATORS
579template <class MANIPULATOR>
580int FeatureTestMessage::manipulateSelection(MANIPULATOR& manipulator)
581{
582 switch (d_selectionId) {
584 return manipulator(&d_selection1.object(),
587 return manipulator(&d_selection2.object(),
590 return manipulator(&d_selection3.object(),
593 return manipulator(d_selection4,
596 return manipulator(&d_selection5.object(),
599 return manipulator(&d_selection6.object(),
602 return manipulator(&d_selection7.object(),
605 return manipulator(&d_selection8.object(),
608 return manipulator(&d_selection9.object(),
611 return manipulator(&d_selection10.object(),
614 return manipulator(&d_selection11.object(),
616 default:
618 return -1;
619 }
620}
621
622inline
628
629inline
635
636inline
642
643inline
649
650inline
656
657inline
663
664inline
670
671inline
677
678inline
684
685inline
691
692inline
698
699// ACCESSORS
700inline
702{
703 return d_selectionId;
704}
705
706template <class ACCESSOR>
707int FeatureTestMessage::accessSelection(ACCESSOR& accessor) const
708{
709 switch (d_selectionId) {
711 return accessor(d_selection1.object(),
714 return accessor(d_selection2.object(),
717 return accessor(d_selection3.object(),
720 return accessor(*d_selection4,
723 return accessor(d_selection5.object(),
726 return accessor(d_selection6.object(),
729 return accessor(d_selection7.object(),
732 return accessor(d_selection8.object(),
735 return accessor(d_selection9.object(),
738 return accessor(d_selection10.object(),
741 return accessor(d_selection11.object(),
743 default:
744 BSLS_ASSERT(SELECTION_ID_UNDEFINED == d_selectionId);
745 return -1;
746 }
747}
748
749inline
755
756inline
762
763inline
769
770inline
772{
773 BSLS_ASSERT(SELECTION_ID_SELECTION4 == d_selectionId);
774 return *d_selection4;
775}
776
777inline
779{
780 BSLS_ASSERT(SELECTION_ID_SELECTION5 == d_selectionId);
781 return d_selection5.object();
782}
783
784inline
790
791inline
797
798inline
804
805inline
811
812inline
818
819inline
825
826inline
828{
829 return SELECTION_ID_SELECTION1 == d_selectionId;
830}
831
832inline
834{
835 return SELECTION_ID_SELECTION2 == d_selectionId;
836}
837
838inline
840{
841 return SELECTION_ID_SELECTION3 == d_selectionId;
842}
843
844inline
846{
847 return SELECTION_ID_SELECTION4 == d_selectionId;
848}
849
850inline
852{
853 return SELECTION_ID_SELECTION5 == d_selectionId;
854}
855
856inline
858{
859 return SELECTION_ID_SELECTION6 == d_selectionId;
860}
861
862inline
864{
865 return SELECTION_ID_SELECTION7 == d_selectionId;
866}
867
868inline
870{
871 return SELECTION_ID_SELECTION8 == d_selectionId;
872}
873
874inline
876{
877 return SELECTION_ID_SELECTION9 == d_selectionId;
878}
879
880inline
882{
883 return SELECTION_ID_SELECTION10 == d_selectionId;
884}
885
886inline
888{
889 return SELECTION_ID_SELECTION11 == d_selectionId;
890}
891
892inline
894{
895 return SELECTION_ID_UNDEFINED == d_selectionId;
896}
897} // close package namespace
898
899// FREE FUNCTIONS
900
901inline
905{
906 typedef s_baltst::FeatureTestMessage Class;
907 if (lhs.selectionId() == rhs.selectionId()) {
908 switch (rhs.selectionId()) {
909 case Class::SELECTION_ID_SELECTION1:
910 return lhs.selection1() == rhs.selection1();
911 case Class::SELECTION_ID_SELECTION2:
912 return lhs.selection2() == rhs.selection2();
913 case Class::SELECTION_ID_SELECTION3:
914 return lhs.selection3() == rhs.selection3();
915 case Class::SELECTION_ID_SELECTION4:
916 return lhs.selection4() == rhs.selection4();
917 case Class::SELECTION_ID_SELECTION5:
918 return lhs.selection5() == rhs.selection5();
919 case Class::SELECTION_ID_SELECTION6:
920 return lhs.selection6() == rhs.selection6();
921 case Class::SELECTION_ID_SELECTION7:
922 return lhs.selection7() == rhs.selection7();
923 case Class::SELECTION_ID_SELECTION8:
924 return lhs.selection8() == rhs.selection8();
925 case Class::SELECTION_ID_SELECTION9:
926 return lhs.selection9() == rhs.selection9();
927 case Class::SELECTION_ID_SELECTION10:
928 return lhs.selection10() == rhs.selection10();
929 case Class::SELECTION_ID_SELECTION11:
930 return lhs.selection11() == rhs.selection11();
931 default:
932 BSLS_ASSERT(Class::SELECTION_ID_UNDEFINED == rhs.selectionId());
933 return true;
934 }
935 }
936 else {
937 return false;
938 }
939}
940
941inline
945{
946 return !(lhs == rhs);
947}
948
949inline
950bsl::ostream& s_baltst::operator<<(
951 bsl::ostream& stream,
953{
954 return rhs.print(stream, 0, -1);
955}
956
957
958#endif
959
960// GENERATED BY @BLP_BAS_CODEGEN_VERSION@
961// USING bas_codegen.pl s_baltst_featuretestmessage.xsd --mode msg --includedir . --msgComponent featuretestmessage --noRecurse --noExternalization --noHashSupport --noAggregateConversion
962// ----------------------------------------------------------------------------
963// NOTICE:
964// Copyright 2022 Bloomberg Finance L.P. All rights reserved.
965// Property of Bloomberg Finance L.P. (BFLP)
966// This software is made available solely pursuant to the
967// terms of a BFLP license agreement which governs its use.
968// ------------------------------- END-OF-FILE --------------------------------
969
970/** @} */
971/** @} */
972/** @} */
Definition bdlt_datetimetz.h:308
Definition bslstl_vector.h:1025
Definition bslma_allocator.h:457
Definition s_baltst_ratsnest.h:984
Definition s_baltst_customstring.h:71
Definition s_baltst_featuretestmessage.h:87
s_baltst::Enumerated::Value & selection7()
Definition s_baltst_featuretestmessage.h:665
bool isSelection2Value() const
Definition s_baltst_featuretestmessage.h:833
s_baltst::Sequence2 & selection3()
Definition s_baltst_featuretestmessage.h:637
bool isUndefinedValue() const
Definition s_baltst_featuretestmessage.h:893
s_baltst::Choice3 & makeSelection8(const s_baltst::Choice3 &value)
int makeSelection(const char *name, int nameLength)
s_baltst::SequenceWithAnonymity & selection11()
Definition s_baltst_featuretestmessage.h:693
~FeatureTestMessage()
Destroy this object.
Definition s_baltst_featuretestmessage.h:573
s_baltst::Sequence3 & makeSelection4(const s_baltst::Sequence3 &value)
int selectionId() const
Definition s_baltst_featuretestmessage.h:701
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:839
int makeSelection(int selectionId)
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:875
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)
@ NUM_SELECTIONS
Definition s_baltst_featuretestmessage.h:126
bsls::ObjectBuffer< s_baltst::UnsignedSequence > d_selection10
Definition s_baltst_featuretestmessage.h:100
static const char CLASS_NAME[]
Definition s_baltst_featuretestmessage.h:144
s_baltst::Sequence1 & selection1()
Definition s_baltst_featuretestmessage.h:623
bool isSelection1Value() const
Definition s_baltst_featuretestmessage.h:827
s_baltst::Choice3 & selection8()
Definition s_baltst_featuretestmessage.h:672
@ SELECTION_ID_SELECTION6
Definition s_baltst_featuretestmessage.h:117
@ SELECTION_ID_SELECTION7
Definition s_baltst_featuretestmessage.h:118
@ SELECTION_ID_SELECTION2
Definition s_baltst_featuretestmessage.h:113
@ SELECTION_ID_SELECTION9
Definition s_baltst_featuretestmessage.h:120
@ SELECTION_ID_SELECTION4
Definition s_baltst_featuretestmessage.h:115
@ SELECTION_ID_SELECTION10
Definition s_baltst_featuretestmessage.h:121
@ SELECTION_ID_SELECTION11
Definition s_baltst_featuretestmessage.h:122
@ SELECTION_ID_SELECTION3
Definition s_baltst_featuretestmessage.h:114
@ SELECTION_ID_UNDEFINED
Definition s_baltst_featuretestmessage.h:111
@ SELECTION_ID_SELECTION1
Definition s_baltst_featuretestmessage.h:112
@ SELECTION_ID_SELECTION5
Definition s_baltst_featuretestmessage.h:116
@ SELECTION_ID_SELECTION8
Definition s_baltst_featuretestmessage.h:119
bool isSelection10Value() const
Definition s_baltst_featuretestmessage.h:881
int manipulateSelection(MANIPULATOR &manipulator)
Definition s_baltst_featuretestmessage.h:580
bdlt::DatetimeTz & makeSelection5(const bdlt::DatetimeTz &value)
bool isSelection7Value() const
Definition s_baltst_featuretestmessage.h:863
s_baltst::UnsignedSequence & makeSelection10()
FeatureTestMessage(bslma::Allocator *basicAllocator=0)
Definition s_baltst_featuretestmessage.h:566
s_baltst::CustomString & selection6()
Definition s_baltst_featuretestmessage.h:658
bool isSelection11Value() const
Definition s_baltst_featuretestmessage.h:887
bdlt::DatetimeTz & selection5()
Definition s_baltst_featuretestmessage.h:651
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:146
@ SELECTION_INDEX_SELECTION10
Definition s_baltst_featuretestmessage.h:139
@ SELECTION_INDEX_SELECTION9
Definition s_baltst_featuretestmessage.h:138
@ SELECTION_INDEX_SELECTION5
Definition s_baltst_featuretestmessage.h:134
@ SELECTION_INDEX_SELECTION8
Definition s_baltst_featuretestmessage.h:137
@ SELECTION_INDEX_SELECTION3
Definition s_baltst_featuretestmessage.h:132
@ SELECTION_INDEX_SELECTION7
Definition s_baltst_featuretestmessage.h:136
@ SELECTION_INDEX_SELECTION1
Definition s_baltst_featuretestmessage.h:130
@ SELECTION_INDEX_SELECTION11
Definition s_baltst_featuretestmessage.h:140
@ SELECTION_INDEX_SELECTION2
Definition s_baltst_featuretestmessage.h:131
@ SELECTION_INDEX_SELECTION4
Definition s_baltst_featuretestmessage.h:133
@ SELECTION_INDEX_SELECTION6
Definition s_baltst_featuretestmessage.h:135
s_baltst::Sequence2 & makeSelection3(const s_baltst::Sequence2 &value)
bsl::vector< char > & selection2()
Definition s_baltst_featuretestmessage.h:630
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:686
int accessSelection(ACCESSOR &accessor) const
Definition s_baltst_featuretestmessage.h:707
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:845
s_baltst::Enumerated::Value & makeSelection7()
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:869
s_baltst::Sequence3 & selection4()
Definition s_baltst_featuretestmessage.h:644
s_baltst::VoidSequence & selection9()
Definition s_baltst_featuretestmessage.h:679
bool isSelection6Value() const
Definition s_baltst_featuretestmessage.h:857
bool isSelection5Value() const
Definition s_baltst_featuretestmessage.h:851
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()
Definition s_baltst_ratsnest.h:2224
Definition s_baltst_ratsnest.h:2474
Definition s_baltst_ratsnest.h:95
Definition s_baltst_sequencewithanonymity.h:832
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:249
#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 balxml_encoderoptions.h:68
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_selectioninfo.h:136
Value
Definition s_baltst_enumerated.h:71
TYPE & object()
Definition bsls_objectbuffer.h:351