41 #ifndef msbuild__BUILD_SYSTEM_PROJECT_TREE_BUILDER_MSBUILD_TARGETORIMPORTTYPE_BASE_HPP
42 #define msbuild__BUILD_SYSTEM_PROJECT_TREE_BUILDER_MSBUILD_TARGETORIMPORTTYPE_BASE_HPP
46 #ifndef BEGIN_msbuild_SCOPE
47 # define BEGIN_msbuild_SCOPE BEGIN_SCOPE(msbuild)
48 # define END_msbuild_SCOPE END_SCOPE(msbuild)
73 typedef NCBI_NS_NCBI::CSerialObject
Tparent;
96 virtual void Reset(
void);
140 NCBI_NS_NCBI::CObjectMemoryPool* pool);
#define END_msbuild_SCOPE
#define BEGIN_msbuild_SCOPE
CTargetOrImportType_Base –.
bool IsTarget(void) const
Check if variant Target is selected.
const TImport & GetImport(void) const
Get the variant data.
E_ChoiceStopper
Maximum+1 value of the choice variant enumerator.
static const char *const sm_SelectionNames[]
NCBI_NS_NCBI::CSerialObject * m_object
static NCBI_NS_STD::string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
CTargetOrImportType_Base & operator=(const CTargetOrImportType_Base &)
DECLARE_INTERNAL_TYPE_INFO()
CTargetOrImportType_Base(const CTargetOrImportType_Base &)
bool IsImport(void) const
Check if variant Import is selected.
virtual void ResetSelection(void)
Reset the selection (set it to e_not_set).
NCBI_NS_NCBI::CSerialObject Tparent
E_Choice Which(void) const
Which variant is currently selected.
virtual void Reset(void)
Reset the whole object.
void Select(E_Choice index, NCBI_NS_NCBI::EResetVariant reset=NCBI_NS_NCBI::eDoResetVariant)
Select the requested variant if needed.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
CTargetOrImportType_Base(void)
TImport & SetImport(void)
Select the variant.
TTarget & SetTarget(void)
Select the variant.
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
void DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool *pool=0)
const TTarget & GetTarget(void) const
Get the variant data.
virtual ~CTargetOrImportType_Base(void)
@ e_MaxChoice
== e_Import+1
@ e_not_set
No variant selected.
const GenericPointer< typename T::ValueType > T2 value