41 #ifndef OBJECTS_SEQALIGN_SPLICED_EXON_CHUNK_BASE_HPP
42 #define OBJECTS_SEQALIGN_SPLICED_EXON_CHUNK_BASE_HPP
48 #ifndef BEGIN_objects_SCOPE
49 # define BEGIN_objects_SCOPE BEGIN_SCOPE(objects)
50 # define END_objects_SCOPE END_SCOPE(objects)
99 virtual void Reset(
void);
102 virtual void ResetSelection(
void);
108 E_Choice Which(
void)
const;
114 void CheckSelected(E_Choice index)
const;
120 NCBI_NORETURN
void ThrowInvalidSelection(E_Choice index)
const;
128 static string SelectionName(E_Choice index);
162 bool IsMatch(
void)
const;
168 TMatch GetMatch(
void)
const;
189 bool IsMismatch(
void)
const;
216 bool IsDiag(
void)
const;
222 TDiag GetDiag(
void)
const;
228 TDiag& SetDiag(
void);
243 bool IsProduct_ins(
void)
const;
270 bool IsGenomic_ins(
void)
const;
300 static const char*
const sm_SelectionNames[];
Base class for all serializable objects.
Spliced-exon-chunk: piece of an exon lengths are given in nucleotide bases (1/3 of aminoacid when pro...
unsigned int TSeqPos
Type for sequence locations and lengths.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define NCBI_SEQALIGN_EXPORT
TProduct_ins m_Product_ins
void Select(E_Choice index, EResetVariant reset=eDoResetVariant)
Select the requested variant if needed.
virtual void ResetSelection(void)
Reset the selection (set it to e_not_set).
TMatch GetMatch(void) const
Get the variant data.
TProduct_ins & SetProduct_ins(void)
Select the variant.
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
bool IsMismatch(void) const
Check if variant Mismatch is selected.
TDiag & SetDiag(void)
Select the variant.
void Select(E_Choice index, EResetVariant reset, CObjectMemoryPool *pool)
Select the requested variant if needed, allocating CObject variants from memory pool.
TDiag GetDiag(void) const
Get the variant data.
E_ChoiceStopper
Maximum+1 value of the choice variant enumerator.
TMismatch GetMismatch(void) const
Get the variant data.
TMismatch & SetMismatch(void)
Select the variant.
TProduct_ins m_Product_ins
CSpliced_exon_chunk_Base & operator=(const CSpliced_exon_chunk_Base &)
TGenomic_ins m_Genomic_ins
bool IsGenomic_ins(void) const
Check if variant Genomic_ins is selected.
bool IsMatch(void) const
Check if variant Match is selected.
TGenomic_ins GetGenomic_ins(void) const
Get the variant data.
TGenomic_ins m_Genomic_ins
TGenomic_ins & SetGenomic_ins(void)
Select the variant.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
bool IsDiag(void) const
Check if variant Diag is selected.
DECLARE_INTERNAL_TYPE_INFO()
TMatch & SetMatch(void)
Select the variant.
bool IsProduct_ins(void) const
Check if variant Product_ins is selected.
CSpliced_exon_chunk_Base(const CSpliced_exon_chunk_Base &)
void DoSelect(E_Choice index, CObjectMemoryPool *pool=0)
TProduct_ins GetProduct_ins(void) const
Get the variant data.
E_Choice Which(void) const
Which variant is currently selected.
@ e_Product_ins
insertion in product sequence (i.e. gap in the genomic sequence)
@ e_Diag
both sequences are represented, there is sufficient similarity between product and genomic sequences....
@ e_Genomic_ins
insertion in genomic sequence (i.e. gap in the product sequence)
@ e_Match
both sequences represented, product and genomic sequences match
@ e_not_set
No variant selected.
@ e_Mismatch
both sequences represented, product and genomic sequences do not match
const GenericPointer< typename T::ValueType > T2 value