41 #ifndef OBJECTS_GENOMECOLL_GC_GENOMICPART_BASE_HPP
42 #define OBJECTS_GENOMECOLL_GC_GENOMICPART_BASE_HPP
48 #ifndef BEGIN_objects_SCOPE
49 # define BEGIN_objects_SCOPE BEGIN_SCOPE(objects)
50 # define END_objects_SCOPE END_SCOPE(objects)
100 virtual void Reset(
void);
103 virtual void ResetSelection(
void);
109 E_Choice Which(
void)
const;
115 void CheckSelected(E_Choice index)
const;
121 NCBI_NORETURN
void ThrowInvalidSelection(E_Choice index)
const;
129 static string SelectionName(E_Choice index);
161 bool IsAssembly(
void)
const;
167 const TAssembly& GetAssembly(
void)
const;
187 bool IsMol(
void)
const;
193 const TMol& GetMol(
void)
const;
213 bool IsSeqs(
void)
const;
219 const TSeqs& GetSeqs(
void)
const;
225 TSeqs& SetSeqs(
void);
242 static const char*
const sm_SelectionNames[];
Base class for all serializable objects.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define NCBI_GENOME_COLLECTION_EXPORT
bool IsAssembly(void) const
Check if variant Assembly is selected.
E_ChoiceStopper
Maximum+1 value of the choice variant enumerator.
CGC_GenomicPart_Base(const CGC_GenomicPart_Base &)
CGC_GenomicPart_Base & operator=(const CGC_GenomicPart_Base &)
void Select(E_Choice index, EResetVariant reset=eDoResetVariant)
Select the requested variant if needed.
void Select(E_Choice index, EResetVariant reset, CObjectMemoryPool *pool)
Select the requested variant if needed, allocating CObject variants from memory pool.
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
bool IsMol(void) const
Check if variant Mol is selected.
bool IsSeqs(void) const
Check if variant Seqs is selected.
E_Choice Which(void) const
Which variant is currently selected.
DECLARE_INTERNAL_TYPE_INFO()
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
NCBI_NS_NCBI::CSerialObject * m_object
void DoSelect(E_Choice index, CObjectMemoryPool *pool=0)
virtual void ResetSelection(void)
Reset the selection (set it to e_not_set).
@ e_not_set
No variant selected.