8#ifndef INCLUDED_BDLAT_CHOICEFUNCTIONS
9#define INCLUDED_BDLAT_CHOICEFUNCTIONS
484#include <bdlscm_version.h>
513#ifndef BDE_OMIT_INTERNAL_DEPRECATED
524 template <
class TYPE>
528 bslalg::HasTrait<TYPE, bdlat_TypeTraitBasicChoice>::value> {
537 template <
class TYPE>
544 template <
class TYPE>
546 const char *selectionName,
547 int selectionNameLength);
555 template <
class TYPE,
class MANIPULATOR>
565 template <
class TYPE,
class ACCESSOR>
571 template <
class TYPE>
573 const char *selectionName,
574 int selectionNameLength);
578 template <
class TYPE>
584 template <
class TYPE>
601 template <
class TYPE>
604 template <
class TYPE>
606 const char *selectionName,
607 int selectionNameLength);
609 template <
class TYPE,
class MANIPULATOR>
611 MANIPULATOR& manipulator);
614 template <
class TYPE,
class ACCESSOR>
617 template <
class TYPE>
619 const char *selectionName,
620 int selectionNameLength);
622 template <
class TYPE>
626 template <
class TYPE>
644 return bdlat_choiceMakeSelection(
object, selectionId);
650 const char *selectionName,
651 int selectionNameLength)
655 selectionNameLength);
658template <
class TYPE,
class MANIPULATOR>
661 MANIPULATOR& manipulator)
670template <
class TYPE,
class ACCESSOR>
684 const char *selectionName,
685 int selectionNameLength)
689 selectionNameLength);
719 return object->makeSelection(selectionId);
726 const char *selectionName,
727 int selectionNameLength)
731 return object->makeSelection(selectionName, selectionNameLength);
734template <
class TYPE,
class MANIPULATOR>
738 MANIPULATOR& manipulator)
742 return object->manipulateSelection(manipulator);
746template <
class TYPE,
class ACCESSOR>
753 return object.accessSelection(accessor);
760 const char *selectionName,
761 int selectionNameLength)
765 return 0 !=
object.lookupSelectionInfo(selectionName, selectionNameLength);
775 return 0 !=
object.lookupSelectionInfo(selectionId);
784 return object.selectionId();
#define BSLMF_ASSERT(expr)
Definition bslmf_assert.h:229
#define BSLS_ASSERT_SAFE(X)
Definition bsls_assert.h:1762
#define BSLS_IDENT(str)
Definition bsls_ident.h:195
Definition bdlat_choicefunctions.h:504
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:515
@ k_UNDEFINED_SELECTION_ID
Definition bdlat_choicefunctions.h:511
@ UNDEFINED_SELECTION_ID
Definition bdlat_choicefunctions.h:514
int bdlat_choiceAccessSelection(const TYPE &object, ACCESSOR &accessor)
int selectionId(const TYPE &object)
Definition bdlat_choicefunctions.h:528
Definition bslmf_integralconstant.h:244
Definition bslalg_hastrait.h:117