41 #ifndef OBJECTS_PCASSAY2_PC_ASSAYTARGETINFO_BASE_HPP
42 #define OBJECTS_PCASSAY2_PC_ASSAYTARGETINFO_BASE_HPP
53 #ifndef BEGIN_objects_SCOPE
54 # define BEGIN_objects_SCOPE BEGIN_SCOPE(objects)
55 # define END_objects_SCOPE END_SCOPE(objects)
63 #ifndef BEGIN_pcassay2_SCOPE
64 # define BEGIN_pcassay2_SCOPE BEGIN_SCOPE(pcassay2)
65 # define END_pcassay2_SCOPE END_SCOPE(pcassay2)
337 NCBI_NS_NCBI::CUnionBuffer<NCBI_NS_STD::string>
m_string;
583 if ( m_choice != index )
584 ThrowInvalidSelection(index);
593 DoSelect(index, pool);
600 Select(index, reset, 0);
606 return m_choice == e_Gene_id;
612 CheckSelected(e_Gene_id);
633 return m_choice == e_Protein_accession;
639 CheckSelected(e_Protein_accession);
653 return m_choice == e_Nucleotide_accession;
659 CheckSelected(e_Nucleotide_accession);
673 return m_choice == e_Other;
679 CheckSelected(e_Other);
693 return m_choice == e_Tax_id;
699 CheckSelected(e_Tax_id);
748 m_Name = std::forward<CPC_AssayTargetInfo_Base::TName>(
value);
846 m_Descr = std::forward<CPC_AssayTargetInfo_Base::TDescr>(
value);
database and identifier of the target molecule
Molecular target information provides by organization describes the functionality of the target,...
Base class for all serializable objects.
static CStringUTF8 UnassignedStringUTF8(void)
void ThrowUnassigned(TMemberIndex index) const
uint32_t Uint4
4-byte (32-bit) unsigned integer
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
bool IsGene_id(void) const
Check if variant Gene_id is selected.
void SetName(const TName &value)
Assign a value to Name data member.
NCBI_NS_NCBI::CUnionBuffer< NCBI_NS_STD::string > m_string
TGene_id GetGene_id(void) const
Get the variant data.
virtual ~CPC_AssayTargetInfo_Base(void)
TGene_id & SetGene_id(void)
Select the variant.
bool IsSetMol_id(void) const
Check if a value has been assigned to Mol_id data member.
bool CanGetName(void) const
Check if it is safe to call GetName method.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
TTax_id GetTax_id(void) const
Get the variant data.
bool CanGetDescr(void) const
Check if it is safe to call GetDescr method.
bool IsOther(void) const
Check if variant Other is selected.
void Select(E_Choice index, EResetVariant reset=eDoResetVariant)
Select the requested variant if needed.
C_Mol_id & operator=(const C_Mol_id &)
CPC_AssayTargetInfo_Base(const CPC_AssayTargetInfo_Base &)
const TMol_id & GetMol_id(void) const
Get the Mol_id member data.
void SetDescr(const TDescr &value)
Assign a value to Descr data member.
objects::CBioSource TOrganism
CPC_AssayTargetInfo_Base & operator=(const CPC_AssayTargetInfo_Base &)
TComment & SetComment(void)
Assign a value to Comment data member.
bool IsSetDescr(void) const
Target Description (e.g., cellular functionality and location) Check if a value has been assigned to ...
const TNucleotide_accession & GetNucleotide_accession(void) const
Get the variant data.
static const char *const sm_SelectionNames[]
bool IsSetName(void) const
Molecular name of target Check if a value has been assigned to Name data member.
TProtein_accession & SetProtein_accession(void)
Select the variant.
const TComment & GetComment(void) const
Get the Comment member data.
const TProtein_accession & GetProtein_accession(void) const
Get the variant data.
void ResetComment(void)
Reset Comment data member.
string TNucleotide_accession
E_ChoiceStopper
Maximum+1 value of the choice variant enumerator.
virtual void Reset(void)
Reset the whole object.
TDescr & SetDescr(void)
Assign a value to Descr data member.
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.
void ResetName(void)
Reset Name data member.
void SetDescr(TDescr &&value)
TOrganism & SetOrganism(void)
Assign a value to Organism data member.
const TOther & GetOther(void) const
Get the variant data.
bool IsNucleotide_accession(void) const
Check if variant Nucleotide_accession is selected.
bool CanGetMol_id(void) const
Check if it is safe to call GetMol_id method.
TTax_id & SetTax_id(void)
Select the variant.
list< CStringUTF8 > m_Comment
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
void ResetOrganism(void)
Reset Organism data member.
void SetOrganism(TOrganism &value)
Assign a value to Organism data member.
void DoSelect(E_Choice index, CObjectMemoryPool *pool=0)
const TOrganism & GetOrganism(void) const
Get the Organism member data.
bool CanGetOrganism(void) const
Check if it is safe to call GetOrganism method.
bool IsSetOrganism(void) const
Target Organism Check if a value has been assigned to Organism data member.
bool IsSetComment(void) const
Comments or Additional Information Check if a value has been assigned to Comment data member.
bool IsProtein_accession(void) const
Check if variant Protein_accession is selected.
void ResetDescr(void)
Reset Descr data member.
TOther & SetOther(void)
Select the variant.
void SetName(TName &&value)
list< CStringUTF8 > TComment
DECLARE_INTERNAL_TYPE_INFO()
CPC_AssayTargetInfo_Base(void)
bool IsTax_id(void) const
Check if variant Tax_id is selected.
void * m_dummy_pointer_for_alignment
DECLARE_INTERNAL_TYPE_INFO()
const TDescr & GetDescr(void) const
Get the Descr member data.
Tparent::CMemberIndex< E_memberIndex, 6 > TmemberIndex
bool CanGetComment(void) const
Check if it is safe to call GetComment method.
TName & SetName(void)
Assign a value to Name data member.
void ResetMol_id(void)
Reset Mol_id data member.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
TNucleotide_accession & SetNucleotide_accession(void)
Select the variant.
E_Choice Which(void) const
Which variant is currently selected.
void Reset(void)
Reset the whole object.
C_Mol_id(const C_Mol_id &)
const TName & GetName(void) const
Get the Name member data.
string TProtein_accession
TMol_id & SetMol_id(void)
Assign a value to Mol_id data member.
@ e_Gene_id
target is a NCBI Gene ID
@ e_not_set
No variant selected.
@ e_Nucleotide_accession
target is a NCBI Nucleotide Accession
@ e_Tax_id
target is a NCBI Taxonomy ID
@ e_Protein_accession
target is a NCBI Protein Accession
@ e_Other
target is beyond supported type (format = TYPE::RESOURCE::IDENTIFIER)
@ e_MaxChoice
== e_Tax_id+1
bool IsSetMol_id(void) const
NCBI database identifier of the target molecule Check if a value has been assigned to Mol_id data mem...
bool CanGetName(void) const
Check if it is safe to call GetName method.
bool CanGetDescr(void) const
Check if it is safe to call GetDescr method.
const TDescr & GetDescr(void) const
Get the Descr member data.
TMol_id GetMol_id(void) const
Get the Mol_id member data.
TComment & SetComment(void)
Assign a value to Comment data member.
bool IsSetDescr(void) const
Target Description (e.g., cellular functionality and location) Check if a value has been assigned to ...
bool IsSetName(void) const
Molecular name of target Check if a value has been assigned to Name data member.
bool CanGetMol_id(void) const
Check if it is safe to call GetMol_id method.
const TComment & GetComment(void) const
Get the Comment member data.
TDescr & SetDescr(void)
Assign a value to Descr data member.
const TOrganism & GetOrganism(void) const
Get the Organism member data.
bool CanGetOrganism(void) const
Check if it is safe to call GetOrganism method.
bool IsSetOrganism(void) const
Target Organism Check if a value has been assigned to Organism data member.
bool IsSetComment(void) const
Comments or Additional Information Check if a value has been assigned to Comment data member.
TName & SetName(void)
Assign a value to Name data member.
CRef< TOrganism > m_Organism
const TName & GetName(void) const
Get the Name member data.
bool CanGetComment(void) const
Check if it is safe to call GetComment method.
void ResetMol_id(void)
Reset Mol_id data member.
TMol_id & SetMol_id(void)
Assign a value to Mol_id data member.
const GenericPointer< typename T::ValueType > T2 value
#define END_pcassay2_SCOPE
#define BEGIN_pcassay2_SCOPE