NCBI C++ ToolKit
Public Types | Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Private Attributes | Static Private Attributes
COrgName_Base::C_Name Class Reference

Search Toolkit Book for COrgName_Base::C_Name

C_Name --. More...

#include <OrgName_.hpp>

+ Inheritance diagram for COrgName_Base::C_Name:
+ Collaboration diagram for COrgName_Base::C_Name:

List of all members.

Public Types

enum  E_Choice {
  e_not_set = 0, e_Binomial, e_Virus, e_Hybrid,
  e_Namedhybrid, e_Partial
}
 Choice variants. More...
enum  E_ChoiceStopper { e_MaxChoice = 6 }
 Maximum+1 value of the choice variant enumerator. More...
typedef CBinomialOrgName TBinomial
typedef string TVirus
typedef CMultiOrgName THybrid
typedef CBinomialOrgName TNamedhybrid
typedef CPartialOrgName TPartial

Public Member Functions

 C_Name (void)
 ~C_Name (void)
 DECLARE_INTERNAL_TYPE_INFO ()
void Reset (void)
 Reset the whole object.
void ResetSelection (void)
 Reset the selection (set it to e_not_set).
E_Choice Which (void) const
 Which variant is currently selected.
void CheckSelected (E_Choice index) const
 Verify selection, throw exception if it differs from the expected.
NCBI_NORETURN void ThrowInvalidSelection (E_Choice index) const
 Throw 'InvalidSelection' exception.
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.
bool IsBinomial (void) const
 Check if variant Binomial is selected.
const TBinomialGetBinomial (void) const
 Get the variant data.
TBinomialSetBinomial (void)
 Select the variant.
void SetBinomial (TBinomial &value)
 Select the variant and set its data.
bool IsVirus (void) const
 Check if variant Virus is selected.
const TVirusGetVirus (void) const
 Get the variant data.
TVirusSetVirus (void)
 Select the variant.
void SetVirus (const TVirus &value)
 Select the variant and set its data.
bool IsHybrid (void) const
 Check if variant Hybrid is selected.
const THybridGetHybrid (void) const
 Get the variant data.
THybridSetHybrid (void)
 Select the variant.
void SetHybrid (THybrid &value)
 Select the variant and set its data.
bool IsNamedhybrid (void) const
 Check if variant Namedhybrid is selected.
const TNamedhybridGetNamedhybrid (void) const
 Get the variant data.
TNamedhybridSetNamedhybrid (void)
 Select the variant.
void SetNamedhybrid (TNamedhybrid &value)
 Select the variant and set its data.
bool IsPartial (void) const
 Check if variant Partial is selected.
const TPartialGetPartial (void) const
 Get the variant data.
TPartialSetPartial (void)
 Select the variant.
void SetPartial (TPartial &value)
 Select the variant and set its data.

Static Public Member Functions

static string SelectionName (E_Choice index)
 Retrieve selection name (for diagnostic purposes).

Private Types

typedef CSerialObject Tparent

Private Member Functions

 C_Name (const C_Name &)
C_Nameoperator= (const C_Name &)
void DoSelect (E_Choice index, CObjectMemoryPool *pool=0)

Private Attributes

E_Choice m_choice
union {
   NCBI_NS_NCBI::CUnionBuffer
< NCBI_NS_STD::string >   m_string
   NCBI_NS_NCBI::CSerialObject *   m_object
}; 

Static Private Attributes

static const char *const sm_SelectionNames []

Detailed Description

C_Name --.

Definition at line 97 of file OrgName_.hpp.


Member Typedef Documentation

Definition at line 172 of file OrgName_.hpp.

Definition at line 174 of file OrgName_.hpp.

Definition at line 175 of file OrgName_.hpp.

Definition at line 99 of file OrgName_.hpp.

Definition at line 176 of file OrgName_.hpp.

Definition at line 173 of file OrgName_.hpp.


Member Enumeration Documentation

Choice variants.

Enumerator:
e_not_set 

No variant selected.

e_Binomial 

genus/species type name

e_Virus 

virus names are different

e_Hybrid 

hybrid between organisms

e_Namedhybrid 

some hybrids have genus x species name

e_Partial 

when genus not known

Definition at line 111 of file OrgName_.hpp.

Maximum+1 value of the choice variant enumerator.

Enumerator:
e_MaxChoice 

== e_Partial+1

Definition at line 120 of file OrgName_.hpp.


Constructor & Destructor Documentation

END_CHOICE_INFO COrgName_Base::C_Name::C_Name ( void  )

Definition at line 231 of file OrgName_.cpp.

COrgName_Base::C_Name::~C_Name ( void  )

Definition at line 237 of file OrgName_.cpp.

References COrgName_Base::Reset().

COrgName_Base::C_Name::C_Name ( const C_Name ) [private]

Member Function Documentation

void COrgName_Base::C_Name::CheckSelected ( E_Choice  index) const [inline]

Verify selection, throw exception if it differs from the expected.

Parameters:
indexExpected selection.

Definition at line 675 of file OrgName_.hpp.

COrgName_Base::C_Name::DECLARE_INTERNAL_TYPE_INFO ( )
void COrgName_Base::C_Name::DoSelect ( E_Choice  index,
CObjectMemoryPool pool = 0 
) [private]
const COrgName_Base::C_Name::TBinomial & COrgName_Base::C_Name::GetBinomial ( void  ) const

Get the variant data.

Returns:
Reference to the data.

Definition at line 121 of file OrgName_.cpp.

Referenced by COrgName::GetFlatName().

const COrgName_Base::C_Name::THybrid & COrgName_Base::C_Name::GetHybrid ( void  ) const

Get the variant data.

Returns:
Reference to the data.

Definition at line 149 of file OrgName_.cpp.

Referenced by COrgName::GetFlatName().

const COrgName_Base::C_Name::TNamedhybrid & COrgName_Base::C_Name::GetNamedhybrid ( void  ) const

Get the variant data.

Returns:
Reference to the data.

Definition at line 171 of file OrgName_.cpp.

Referenced by COrgName::GetFlatName().

const COrgName_Base::C_Name::TPartial & COrgName_Base::C_Name::GetPartial ( void  ) const

Get the variant data.

Returns:
Reference to the data.

Definition at line 193 of file OrgName_.cpp.

Referenced by COrgName::GetFlatName().

const COrgName_Base::C_Name::TVirus & COrgName_Base::C_Name::GetVirus ( void  ) const [inline]

Get the variant data.

Returns:
Reference to the data.

Definition at line 710 of file OrgName_.hpp.

Referenced by COrgName::GetFlatName().

bool COrgName_Base::C_Name::IsBinomial ( void  ) const [inline]

Check if variant Binomial is selected.

Binomial type is defined as 'typedef CBinomialOrgName TBinomial'.

Returns:
  • true, if the variant is selected.
  • false, otherwise.

Definition at line 698 of file OrgName_.hpp.

Referenced by COrgName::GetFlatName().

bool COrgName_Base::C_Name::IsHybrid ( void  ) const [inline]

Check if variant Hybrid is selected.

Hybrid type is defined as 'typedef CMultiOrgName THybrid'.

Returns:
  • true, if the variant is selected.
  • false, otherwise.

Definition at line 724 of file OrgName_.hpp.

bool COrgName_Base::C_Name::IsNamedhybrid ( void  ) const [inline]

Check if variant Namedhybrid is selected.

Namedhybrid type is defined as 'typedef CBinomialOrgName TNamedhybrid'.

Returns:
  • true, if the variant is selected.
  • false, otherwise.

Definition at line 730 of file OrgName_.hpp.

bool COrgName_Base::C_Name::IsPartial ( void  ) const [inline]

Check if variant Partial is selected.

Partial type is defined as 'typedef CPartialOrgName TPartial'.

Returns:
  • true, if the variant is selected.
  • false, otherwise.

Definition at line 736 of file OrgName_.hpp.

bool COrgName_Base::C_Name::IsVirus ( void  ) const [inline]

Check if variant Virus is selected.

Virus type is defined as 'typedef string TVirus'.

Returns:
  • true, if the variant is selected.
  • false, otherwise.

Definition at line 704 of file OrgName_.hpp.

C_Name& COrgName_Base::C_Name::operator= ( const C_Name ) [private]
void COrgName_Base::C_Name::Reset ( void  )

Reset the whole object.

Definition at line 54 of file OrgName_.cpp.

References e_not_set, m_choice, and ResetSelection().

void COrgName_Base::C_Name::ResetSelection ( void  )

Reset the selection (set it to e_not_set).

Definition at line 60 of file OrgName_.cpp.

References e_not_set.

Referenced by Reset().

void COrgName_Base::C_Name::Select ( E_Choice  index,
EResetVariant  reset = eDoResetVariant 
)

Select the requested variant if needed.

Parameters:
indexNew selection state.
resetFlag that defines the resetting of the variant data. The data will be reset if either the current selection differs from the new one, or the flag is set to eDoResetVariant.
void COrgName_Base::C_Name::Select ( E_Choice  index,
EResetVariant  reset,
CObjectMemoryPool pool 
)

Select the requested variant if needed, allocating CObject variants from memory pool.

NCBI_NS_STD::string COrgName_Base::C_Name::SelectionName ( E_Choice  index) [static]

Retrieve selection name (for diagnostic purposes).

Parameters:
indexOne of possible selection states.
Returns:
Name string.

Definition at line 111 of file OrgName_.cpp.

References COrgName_Base::GetName().

COrgName_Base::C_Name::TBinomial & COrgName_Base::C_Name::SetBinomial ( void  )
void COrgName_Base::C_Name::SetBinomial ( TBinomial value)

Select the variant and set its data.

Parameters:
valueReference to the data.

Definition at line 133 of file OrgName_.cpp.

References CObject::AddReference().

COrgName_Base::C_Name::THybrid & COrgName_Base::C_Name::SetHybrid ( void  )
void COrgName_Base::C_Name::SetHybrid ( THybrid value)

Select the variant and set its data.

Parameters:
valueReference to the data.

Definition at line 161 of file OrgName_.cpp.

References CObject::AddReference().

COrgName_Base::C_Name::TNamedhybrid & COrgName_Base::C_Name::SetNamedhybrid ( void  )
void COrgName_Base::C_Name::SetNamedhybrid ( TNamedhybrid value)

Select the variant and set its data.

Parameters:
valueReference to the data.

Definition at line 183 of file OrgName_.cpp.

References CObject::AddReference().

COrgName_Base::C_Name::TPartial & COrgName_Base::C_Name::SetPartial ( void  )
void COrgName_Base::C_Name::SetPartial ( TPartial value)

Select the variant and set its data.

Parameters:
valueReference to the data.

Definition at line 205 of file OrgName_.cpp.

References CObject::AddReference().

COrgName_Base::C_Name::TVirus & COrgName_Base::C_Name::SetVirus ( void  ) [inline]
void COrgName_Base::C_Name::SetVirus ( const TVirus value)

Select the variant and set its data.

Parameters:
valueVariant data.

Definition at line 143 of file OrgName_.cpp.

References eDoNotResetVariant.

void COrgName_Base::C_Name::ThrowInvalidSelection ( E_Choice  index) const

Throw 'InvalidSelection' exception.

Parameters:
indexExpected selection.

Definition at line 116 of file OrgName_.cpp.

References DIAG_COMPILE_INFO.

COrgName_Base::C_Name::E_Choice COrgName_Base::C_Name::Which ( void  ) const [inline]

Member Data Documentation

union { ... } [private]

Definition at line 318 of file OrgName_.hpp.

Referenced by Reset(), and Which().

NCBI_NS_NCBI::CSerialObject* COrgName_Base::C_Name::m_object

Definition at line 326 of file OrgName_.hpp.

NCBI_NS_NCBI::CUnionBuffer<NCBI_NS_STD::string> COrgName_Base::C_Name::m_string

Definition at line 325 of file OrgName_.hpp.

const char *const COrgName_Base::C_Name::sm_SelectionNames [static, private]
Initial value:
 {
    "not set",
    "binomial",
    "virus",
    "hybrid",
    "namedhybrid",
    "partial"
}

Definition at line 322 of file OrgName_.hpp.


The documentation for this class was generated from the following files:
Modified on Wed May 23 12:58:32 2012 by modify_doxy.py rev. 337098