41 #ifndef OBJECTS_SEQFEAT_FEAT_ID_BASE_HPP
42 #define OBJECTS_SEQFEAT_FEAT_ID_BASE_HPP
48 #ifndef BEGIN_objects_SCOPE
49 # define BEGIN_objects_SCOPE BEGIN_SCOPE(objects)
50 # define END_objects_SCOPE END_SCOPE(objects)
103 virtual void Reset(
void);
106 virtual void ResetSelection(
void);
112 E_Choice Which(
void)
const;
118 void CheckSelected(E_Choice index)
const;
124 NCBI_NORETURN
void ThrowInvalidSelection(E_Choice index)
const;
132 static string SelectionName(E_Choice index);
165 bool IsGibb(
void)
const;
171 TGibb GetGibb(
void)
const;
177 TGibb& SetGibb(
void);
192 bool IsGiim(
void)
const;
198 const TGiim& GetGiim(
void)
const;
204 TGiim& SetGiim(
void);
218 bool IsLocal(
void)
const;
224 const TLocal& GetLocal(
void)
const;
244 bool IsGeneral(
void)
const;
250 const TGeneral& GetGeneral(
void)
const;
273 static const char*
const sm_SelectionNames[];
*** Feature identifiers ******************************** *
Base class for all serializable objects.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define NCBI_SEQFEAT_EXPORT
E_ChoiceStopper
Maximum+1 value of the choice variant enumerator.
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
CFeat_id_Base & operator=(const CFeat_id_Base &)
NCBI_NS_NCBI::CSerialObject * m_object
E_Choice Which(void) const
Which variant is currently selected.
void Select(E_Choice index, EResetVariant reset, CObjectMemoryPool *pool)
Select the requested variant if needed, allocating CObject variants from memory pool.
bool IsGibb(void) const
Check if variant Gibb is selected.
bool IsLocal(void) const
Check if variant Local is selected.
bool IsGiim(void) const
Check if variant Giim is selected.
DECLARE_INTERNAL_TYPE_INFO()
TGibb & SetGibb(void)
Select the variant.
void DoSelect(E_Choice index, CObjectMemoryPool *pool=0)
virtual void ResetSelection(void)
Reset the selection (set it to e_not_set).
CFeat_id_Base(const CFeat_id_Base &)
TGibb GetGibb(void) const
Get the variant data.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
bool IsGeneral(void) const
Check if variant General is selected.
void Select(E_Choice index, EResetVariant reset=eDoResetVariant)
Select the requested variant if needed.
@ e_not_set
No variant selected.
@ e_General
for use by various databases
@ e_Local
for local software use
const GenericPointer< typename T::ValueType > T2 value