41 #ifndef msbuild__BUILD_SYSTEM_PROJECT_TREE_BUILDER_MSBUILD_REFERENCE_BASE_HPP
42 #define msbuild__BUILD_SYSTEM_PROJECT_TREE_BUILDER_MSBUILD_REFERENCE_BASE_HPP
51 #ifndef BEGIN_msbuild_SCOPE
52 # define BEGIN_msbuild_SCOPE BEGIN_SCOPE(msbuild)
53 # define END_msbuild_SCOPE END_SCOPE(msbuild)
79 typedef NCBI_NS_NCBI::CSerialObject
Tparent;
94 class C_Attlist :
public NCBI_NS_NCBI::CSerialObject
96 typedef NCBI_NS_NCBI::CSerialObject
Tparent;
438 NCBI_NS_NCBI::CObjectMemoryPool* pool);
681 NCBI_NS_NCBI::CUnionBuffer<NCBI_NS_STD::string>
m_string;
751 typedef NCBI_NS_STD::list< NCBI_NS_NCBI::CRef< C_E_Reference > >
TReference;
833 virtual void Reset(
void);
844 NCBI_NS_STD::list< NCBI_NS_NCBI::CRef< C_E_Reference > >
m_Reference;
865 return IsSetInclude();
871 if (!CanGetInclude()) {
887 m_Include = std::forward<CReference_Base::C_Attlist::TInclude>(
value);
895 if (!IsSetInclude()) {
896 m_Include = UnassignedString();
912 return IsSetCondition();
918 if (!CanGetCondition()) {
934 m_Condition = std::forward<CReference_Base::C_Attlist::TCondition>(
value);
942 if (!IsSetCondition()) {
943 m_Condition = UnassignedString();
959 return IsSetExclude();
965 if (!CanGetExclude()) {
981 m_Exclude = std::forward<CReference_Base::C_Attlist::TExclude>(
value);
989 if (!IsSetExclude()) {
990 m_Exclude = UnassignedString();
1006 return IsSetRemove();
1012 if (!CanGetRemove()) {
1028 m_Remove = std::forward<CReference_Base::C_Attlist::TRemove>(
value);
1036 if (!IsSetRemove()) {
1037 m_Remove = UnassignedString();
1053 return IsSetLabel();
1059 if (!CanGetLabel()) {
1075 m_Label = std::forward<CReference_Base::C_Attlist::TLabel>(
value);
1083 if (!IsSetLabel()) {
1084 m_Label = UnassignedString();
1100 if ( m_choice != index )
1101 ThrowInvalidSelection(index);
1110 DoSelect(index, pool);
1117 Select(index, reset, 0);
1123 return m_choice == e_HintPath;
1129 CheckSelected(e_HintPath);
1143 return m_choice == e_Name;
1149 CheckSelected(e_Name);
1163 return m_choice == e_FusionName;
1169 CheckSelected(e_FusionName);
1183 return m_choice == e_SpecificVersion;
1189 CheckSelected(e_SpecificVersion);
1203 return m_choice == e_Aliases;
1209 CheckSelected(e_Aliases);
1223 return m_choice == e_Private;
1229 CheckSelected(e_Private);
1243 return m_choice == e_EmbedInteropTypes;
1249 return m_choice == e_RequiredTargetFramework;
1255 CheckSelected(e_RequiredTargetFramework);
1269 return m_HNFSAPER.NotEmpty();
1281 if ( !m_HNFSAPER ) {
1284 return (*m_HNFSAPER);
1290 if ( !m_HNFSAPER ) {
1293 return (*m_HNFSAPER);
#define END_msbuild_SCOPE
#define BEGIN_msbuild_SCOPE
======================== ITEMS ===================================== Possible Types include SimpleIte...
======================== ITEMS ===================================== Possible Types include SimpleIte...
uint32_t Uint4
4-byte (32-bit) unsigned integer
NCBI_NS_STD::string TPrivate
NCBI_NS_STD::string TFusionName
void Select(E_Choice index, NCBI_NS_NCBI::EResetVariant reset=NCBI_NS_NCBI::eDoResetVariant)
Select the requested variant if needed.
NCBI_NS_STD::string TInclude
bool IsSetReference(void) const
Check if a value has been assigned to Reference data member.
E_Choice Which(void) const
Which variant is currently selected.
const TInclude & GetInclude(void) const
Get the Include member data.
const THintPath & GetHintPath(void) const
Get the variant data.
CReference_Base(const CReference_Base &)
TFusionName & SetFusionName(void)
Select the variant.
bool CanGetCondition(void) const
Check if it is safe to call GetCondition method.
const TExclude & GetExclude(void) const
Get the Exclude member data.
NCBI_NS_STD::string TSpecificVersion
const TLabel & GetLabel(void) const
Get the Label member data.
TSpecificVersion & SetSpecificVersion(void)
Select the variant.
NCBI_NS_STD::string m_Include
TAliases & SetAliases(void)
Select the variant.
const THNFSAPER & GetHNFSAPER(void) const
Get the HNFSAPER member data.
TReference & SetReference(void)
Assign a value to Reference data member.
bool IsSetInclude(void) const
redefine Include just to give a specific description Check if a value has been assigned to Include da...
bool IsSetRemove(void) const
Semi-colon separated list of files (wildcards are allowed) or other item names to remove from the exi...
NCBI_NS_STD::string TCondition
const TAliases & GetAliases(void) const
Get the variant data.
void Reset(void)
Reset the whole object.
bool IsSetCondition(void) const
Optional expression evaluated to determine whether the items should be evaluated Check if a value has...
void ResetAttlist(void)
Reset Attlist data member.
const TEmbedInteropTypes & GetEmbedInteropTypes(void) const
Get the variant data.
C_Attlist & operator=(const C_Attlist &)
void ResetInclude(void)
Reset Include data member.
NCBI_NS_STD::string THintPath
void DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool *pool=0)
bool CanGetRemove(void) const
Check if it is safe to call GetRemove method.
NCBI_NS_NCBI::CSerialObject Tparent
NCBI_NS_NCBI::CRef< THNFSAPER > m_HNFSAPER
void ResetCondition(void)
Reset Condition data member.
void Reset(void)
Reset the whole object.
const TCondition & GetCondition(void) const
Get the Condition member data.
TLabel & SetLabel(void)
Assign a value to Label data member.
bool IsHintPath(void) const
Check if variant HintPath is selected.
NCBI_NS_STD::list< NCBI_NS_NCBI::CRef< C_E_Reference > > m_Reference
C_E_Reference & operator=(const C_E_Reference &)
NCBI_NS_STD::string TAliases
C_Attlist(const C_Attlist &)
const TSpecificVersion & GetSpecificVersion(void) const
Get the variant data.
static NCBI_NS_STD::string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
NCBI_NS_NCBI::CSerialObject Tparent
THNFSAPER & SetHNFSAPER(void)
Assign a value to HNFSAPER data member.
TRemove & SetRemove(void)
Assign a value to Remove data member.
bool IsSpecificVersion(void) const
Check if variant SpecificVersion is selected.
NCBI_NS_STD::string m_Exclude
bool IsPrivate(void) const
Check if variant Private is selected.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
NCBI_NS_NCBI::CSerialObject Tparent
DECLARE_INTERNAL_TYPE_INFO()
bool IsName(void) const
Check if variant Name is selected.
bool CanGetAttlist(void) const
Check if it is safe to call GetAttlist method.
NCBI_NS_NCBI::CRef< TAttlist > m_Attlist
NCBI_NS_STD::string TRemove
bool CanGetLabel(void) const
Check if it is safe to call GetLabel method.
DECLARE_INTERNAL_TYPE_INFO()
const TReference & GetReference(void) const
Get the Reference member data.
DECLARE_INTERNAL_TYPE_INFO()
NCBI_NS_STD::list< NCBI_NS_NCBI::CRef< C_E_Reference > > TReference
bool CanGetReference(void) const
Check if it is safe to call GetReference method.
const TAttlist & GetAttlist(void) const
Get the Attlist member data.
void ResetLabel(void)
Reset Label data member.
Tparent::CMemberIndex< E_memberIndex, 6 > TmemberIndex
Tparent::CMemberIndex< E_memberIndex, 3 > TmemberIndex
Tparent::CMemberIndex< E_memberIndex, 2 > TmemberIndex
C_HNFSAPER & operator=(const C_HNFSAPER &)
E_ChoiceStopper
Maximum+1 value of the choice variant enumerator.
bool CanGetHNFSAPER(void) const
Check if it is safe to call GetHNFSAPER method.
bool IsRequiredTargetFramework(void) const
Check if variant RequiredTargetFramework is selected.
virtual ~CReference_Base(void)
TExclude & SetExclude(void)
Assign a value to Exclude data member.
bool IsEmbedInteropTypes(void) const
Check if variant EmbedInteropTypes is selected.
CEmbedInteropTypes TEmbedInteropTypes
TCondition & SetCondition(void)
Assign a value to Condition data member.
const TPrivate & GetPrivate(void) const
Get the variant data.
TPrivate & SetPrivate(void)
Select the variant.
TRequiredTargetFramework & SetRequiredTargetFramework(void)
Select the variant.
static const char *const sm_SelectionNames[]
const TRequiredTargetFramework & GetRequiredTargetFramework(void) const
Get the variant data.
C_HNFSAPER(const C_HNFSAPER &)
bool CanGetInclude(void) const
Check if it is safe to call GetInclude method.
THintPath & SetHintPath(void)
Select the variant.
NCBI_NS_STD::string TRequiredTargetFramework
NCBI_NS_STD::string m_Condition
TName & SetName(void)
Select the variant.
NCBI_NS_STD::string TExclude
TEmbedInteropTypes & SetEmbedInteropTypes(void)
Select the variant.
NCBI_NS_NCBI::CSerialObject Tparent
CReference_Base & operator=(const CReference_Base &)
void ResetRemove(void)
Reset Remove data member.
NCBI_NS_STD::string m_Label
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
virtual void Reset(void)
Reset the whole object.
const TRemove & GetRemove(void) const
Get the Remove member data.
C_E_Reference(const C_E_Reference &)
NCBI_NS_STD::string TLabel
bool IsSetLabel(void) const
Optional expression.
void ResetExclude(void)
Reset Exclude data member.
const TName & GetName(void) const
Get the variant data.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
void Reset(void)
Reset the whole object.
bool IsAliases(void) const
Check if variant Aliases is selected.
TAttlist & SetAttlist(void)
Assign a value to Attlist data member.
bool IsFusionName(void) const
Check if variant FusionName is selected.
NCBI_NS_NCBI::CUnionBuffer< NCBI_NS_STD::string > m_string
bool IsSetHNFSAPER(void) const
Check if a value has been assigned to HNFSAPER data member.
bool IsSetAttlist(void) const
Check if a value has been assigned to Attlist data member.
const TFusionName & GetFusionName(void) const
Get the variant data.
NCBI_NS_STD::string m_Remove
TInclude & SetInclude(void)
Assign a value to Include data member.
NCBI_NS_STD::string TName
bool CanGetExclude(void) const
Check if it is safe to call GetExclude method.
void ResetHNFSAPER(void)
Reset HNFSAPER data member.
void ResetReference(void)
Reset Reference data member.
NCBI_NS_NCBI::CSerialObject * m_object
bool IsSetExclude(void) const
Semi-colon separated list of files (wildcards are allowed) or other item names to exclude from the In...
DECLARE_INTERNAL_TYPE_INFO()
@ e_MaxChoice
== e_RequiredTargetFramework+1
@ e_Private
Whether the reference should be copied to the output folder (optional, boolean)
@ e_FusionName
Fusion name of the assembly (optional)
@ e_RequiredTargetFramework
The minimum required target framework version in order to use this assembly as a reference.
@ e_Aliases
Aliases for the reference (optional)
@ e_HintPath
Relative or absolute path to the assembly (optional)
@ e_SpecificVersion
Whether only the version in the fusion name should be referenced (optional, boolean)
@ e_not_set
No variant selected.
@ e_Name
Friendly display name (optional)
const GenericPointer< typename T::ValueType > T2 value