8#ifndef INCLUDED_BDLAT_CHOICEFUNCTIONS
9#define INCLUDED_BDLAT_CHOICEFUNCTIONS
488#include <bdlscm_version.h>
517#ifndef BDE_OMIT_INTERNAL_DEPRECATED
528 template <
class TYPE>
532 bslalg::HasTrait<TYPE, bdlat_TypeTraitBasicChoice>::value> {
541 template <
class TYPE>
548 template <
class TYPE>
550 const char *selectionName,
551 int selectionNameLength);
566 template <
class TYPE,
class MANIPULATOR>
583 template <
class TYPE,
class ACCESSOR>
589 template <
class TYPE>
591 const char *selectionName,
592 int selectionNameLength);
596 template <
class TYPE>
602 template <
class TYPE>
619 template <
class TYPE>
622 template <
class TYPE>
624 const char *selectionName,
625 int selectionNameLength);
627 template <
class TYPE,
class MANIPULATOR>
629 MANIPULATOR& manipulator);
632 template <
class TYPE,
class ACCESSOR>
635 template <
class TYPE>
637 const char *selectionName,
638 int selectionNameLength);
640 template <
class TYPE>
644 template <
class TYPE>
662 return bdlat_choiceMakeSelection(
object, selectionId);
668 const char *selectionName,
669 int selectionNameLength)
673 selectionNameLength);
676template <
class TYPE,
class MANIPULATOR>
679 MANIPULATOR& manipulator)
688template <
class TYPE,
class ACCESSOR>
702 const char *selectionName,
703 int selectionNameLength)
707 selectionNameLength);
737 return object->makeSelection(selectionId);
744 const char *selectionName,
745 int selectionNameLength)
749 return object->makeSelection(selectionName, selectionNameLength);
752template <
class TYPE,
class MANIPULATOR>
756 MANIPULATOR& manipulator)
760 return object->manipulateSelection(manipulator);
764template <
class TYPE,
class ACCESSOR>
771 return object.accessSelection(accessor);
778 const char *selectionName,
779 int selectionNameLength)
783 return 0 !=
object.lookupSelectionInfo(selectionName, selectionNameLength);
793 return 0 !=
object.lookupSelectionInfo(selectionId);
802 return object.selectionId();
#define BSLMF_ASSERT(expr)
Definition bslmf_assert.h:231
#define BSLS_ASSERT_SAFE(X)
Definition bsls_assert.h:1917
#define BSLS_IDENT(str)
BSLS_IDENT() - insert string into .comment binary segment (if supported)
Definition bsls_ident.h:238
int bdlat_choiceAccessSelection(const ChoiceRef &ref, t_ACCESSOR &accessor)
Definition bdlar_choiceref.h:350
int bdlat_choiceSelectionId(const ChoiceRef &ref)
Definition bdlar_choiceref.h:370
bool bdlat_choiceHasSelection(const ChoiceRef &ref, const char *selectionName, int selectionNameLength)
Definition bdlar_choiceref.h:356
int bdlat_choiceMakeSelection(ChoiceRef *ref, int selectionId)
Definition bdlar_choiceref.h:328
int bdlat_choiceManipulateSelection(ChoiceRef *ref, t_MANIPULATOR &manipulator)
Definition bdlar_choiceref.h:343
Definition bdlar_choiceref.h:499
int bdlat_choiceSelectionId(const TYPE &object)
bool hasSelection(const TYPE &object, const char *selectionName, int selectionNameLength)
int bdlat_choiceManipulateSelection(TYPE *object, MANIPULATOR &manipulator)
int manipulateSelection(TYPE *object, MANIPULATOR &manipulator)
bool bdlat_choiceHasSelection(const TYPE &object, const char *selectionName, int selectionNameLength)
int bdlat_choiceMakeSelection(TYPE *object, int selectionId)
int makeSelection(TYPE *object, int selectionId)
int accessSelection(const TYPE &object, ACCESSOR &accessor)
@ BDEAT_UNDEFINED_SELECTION_ID
Definition bdlat_choicefunctions.h:519
@ k_UNDEFINED_SELECTION_ID
Definition bdlat_choicefunctions.h:515
@ UNDEFINED_SELECTION_ID
Definition bdlat_choicefunctions.h:518
int bdlat_choiceAccessSelection(const TYPE &object, ACCESSOR &accessor)
int selectionId(const TYPE &object)
Definition bdlat_choicefunctions.h:532
Definition bslmf_integralconstant.h:261
Definition bslalg_hastrait.h:117