NCBI C++ ToolKit
Reference_.hpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id$
2  * ===========================================================================
3  *
4  * PUBLIC DOMAIN NOTICE
5  * National Center for Biotechnology Information
6  *
7  * This software/database is a "United States Government Work" under the
8  * terms of the United States Copyright Act. It was written as part of
9  * the author's official duties as a United States Government employee and
10  * thus cannot be copyrighted. This software/database is freely available
11  * to the public for use. The National Library of Medicine and the U.S.
12  * Government have not placed any restriction on its use or reproduction.
13  *
14  * Although all reasonable efforts have been taken to ensure the accuracy
15  * and reliability of the software and data, the NLM and the U.S.
16  * Government do not and cannot warrant the performance or results that
17  * may be obtained by using this software or data. The NLM and the U.S.
18  * Government disclaim all warranties, express or implied, including
19  * warranties of performance, merchantability or fitness for any particular
20  * purpose.
21  *
22  * Please cite the author in any work or product based on this material.
23  *
24  * ===========================================================================
25  *
26  */
27 
28 /// @file Reference_.hpp
29 /// Data storage class.
30 ///
31 /// This file was generated by application DATATOOL
32 /// using the following specifications:
33 /// <a href="/IEB/ToolBox/CPP_DOC/lxr/source/src/build-system/project_tree_builder/msbuild/msbuild_dataobj.xsd">msbuild_dataobj.xsd</a>
34 /// and additional tune-up parameters:
35 /// <a href="/IEB/ToolBox/CPP_DOC/lxr/source/src/build-system/project_tree_builder/msbuild/msbuild_dataobj.def">msbuild_dataobj.def</a>
36 ///
37 /// ATTENTION:
38 /// Don't edit or commit this file into CVS as this file will
39 /// be overridden (by DATATOOL) without warning!
40 
41 #ifndef msbuild__BUILD_SYSTEM_PROJECT_TREE_BUILDER_MSBUILD_REFERENCE_BASE_HPP
42 #define msbuild__BUILD_SYSTEM_PROJECT_TREE_BUILDER_MSBUILD_REFERENCE_BASE_HPP
43 
44 // standard includes
45 #include <serial/serialbase.hpp>
46 
47 // generated includes
48 #include <list>
49 #include <string>
50 
51 #ifndef BEGIN_msbuild_SCOPE
52 # define BEGIN_msbuild_SCOPE BEGIN_SCOPE(msbuild)
53 # define END_msbuild_SCOPE END_SCOPE(msbuild)
54 #endif
55 BEGIN_msbuild_SCOPE // namespace msbuild::
56 
57 
58 // forward declarations
59 class CEmbedInteropTypes;
60 
61 
62 // generated classes
63 
64 
65 /** @addtogroup dataspec_msbuild_dataobj
66  *
67  * @{
68  */
69 
70 /////////////////////////////////////////////////////////////////////////////
71 /// ======================== ITEMS =====================================
72 /// Possible Types include SimpleItemType (no meta-data subelements), GenericItemType (any meta-data), or something more specific.
73 ///
74 /// CReference_Base --
75 ///
76 
77 class CReference_Base : public NCBI_NS_NCBI::CSerialObject
78 {
79  typedef NCBI_NS_NCBI::CSerialObject Tparent;
80 public:
81  // constructor
82  CReference_Base(void);
83  // destructor
84  virtual ~CReference_Base(void);
85 
86  // type info
88 
89  /////////////////////////////////////////////////////////////////////////////
90  ///
91  /// C_Attlist --
92  ///
93 
94  class C_Attlist : public NCBI_NS_NCBI::CSerialObject
95  {
96  typedef NCBI_NS_NCBI::CSerialObject Tparent;
97  public:
98  // constructor
99  C_Attlist(void);
100  // destructor
101  ~C_Attlist(void);
102 
103  // type info
105 
106  // types
112 
113  // member index
114  enum class E_memberIndex {
115  e__allMandatory = 0,
116  e_Include,
117  e_Condition,
118  e_Exclude,
119  e_Remove,
120  e_Label
121  };
122  typedef Tparent::CMemberIndex<E_memberIndex, 6> TmemberIndex;
123 
124  // getters
125  // setters
126 
127  /// redefine Include just to give a specific description
128  /// Check if a value has been assigned to Include data member.
129  ///
130  /// Data member Include is optional;
131  /// its type is defined as 'typedef NCBI_NS_STD::string TInclude'
132  /// @return
133  /// - true, if a value has been assigned.
134  /// - false, otherwise.
135  bool IsSetInclude(void) const;
136 
137  /// Check if it is safe to call GetInclude method.
138  ///
139  /// @return
140  /// - true, if the data member is getatable.
141  /// - false, otherwise.
142  bool CanGetInclude(void) const;
143 
144  /// Reset Include data member.
145  void ResetInclude(void);
146 
147  /// Get the Include member data.
148  ///
149  /// @return
150  /// Reference to the member data.
151  const TInclude& GetInclude(void) const;
152 
153  /// Assign a value to Include data member.
154  ///
155  /// @param value
156  /// Value to assign
157  void SetInclude(const TInclude& value);
158  void SetInclude(TInclude&& value);
159 
160  /// Assign a value to Include data member.
161  ///
162  /// @return
163  /// Reference to the data value.
164  TInclude& SetInclude(void);
165 
166  ///Optional expression evaluated to determine whether the items should be evaluated
167  /// Check if a value has been assigned to Condition data member.
168  ///
169  /// Data member Condition is optional;
170  /// its type is defined as 'typedef NCBI_NS_STD::string TCondition'
171  /// @return
172  /// - true, if a value has been assigned.
173  /// - false, otherwise.
174  bool IsSetCondition(void) const;
175 
176  /// Check if it is safe to call GetCondition method.
177  ///
178  /// @return
179  /// - true, if the data member is getatable.
180  /// - false, otherwise.
181  bool CanGetCondition(void) const;
182 
183  /// Reset Condition data member.
184  void ResetCondition(void);
185 
186  /// Get the Condition member data.
187  ///
188  /// @return
189  /// Reference to the member data.
190  const TCondition& GetCondition(void) const;
191 
192  /// Assign a value to Condition data member.
193  ///
194  /// @param value
195  /// Value to assign
196  void SetCondition(const TCondition& value);
197  void SetCondition(TCondition&& value);
198 
199  /// Assign a value to Condition data member.
200  ///
201  /// @return
202  /// Reference to the data value.
203  TCondition& SetCondition(void);
204 
205  ///Semi-colon separated list of files (wildcards are allowed) or other item names to exclude from the Include list
206  /// Check if a value has been assigned to Exclude data member.
207  ///
208  /// Data member Exclude is optional;
209  /// its type is defined as 'typedef NCBI_NS_STD::string TExclude'
210  /// @return
211  /// - true, if a value has been assigned.
212  /// - false, otherwise.
213  bool IsSetExclude(void) const;
214 
215  /// Check if it is safe to call GetExclude method.
216  ///
217  /// @return
218  /// - true, if the data member is getatable.
219  /// - false, otherwise.
220  bool CanGetExclude(void) const;
221 
222  /// Reset Exclude data member.
223  void ResetExclude(void);
224 
225  /// Get the Exclude member data.
226  ///
227  /// @return
228  /// Reference to the member data.
229  const TExclude& GetExclude(void) const;
230 
231  /// Assign a value to Exclude data member.
232  ///
233  /// @param value
234  /// Value to assign
235  void SetExclude(const TExclude& value);
236  void SetExclude(TExclude&& value);
237 
238  /// Assign a value to Exclude data member.
239  ///
240  /// @return
241  /// Reference to the data value.
242  TExclude& SetExclude(void);
243 
244  ///Semi-colon separated list of files (wildcards are allowed) or other item names to remove from the existing list contents
245  /// Check if a value has been assigned to Remove data member.
246  ///
247  /// Data member Remove is optional;
248  /// its type is defined as 'typedef NCBI_NS_STD::string TRemove'
249  /// @return
250  /// - true, if a value has been assigned.
251  /// - false, otherwise.
252  bool IsSetRemove(void) const;
253 
254  /// Check if it is safe to call GetRemove method.
255  ///
256  /// @return
257  /// - true, if the data member is getatable.
258  /// - false, otherwise.
259  bool CanGetRemove(void) const;
260 
261  /// Reset Remove data member.
262  void ResetRemove(void);
263 
264  /// Get the Remove member data.
265  ///
266  /// @return
267  /// Reference to the member data.
268  const TRemove& GetRemove(void) const;
269 
270  /// Assign a value to Remove data member.
271  ///
272  /// @param value
273  /// Value to assign
274  void SetRemove(const TRemove& value);
275  void SetRemove(TRemove&& value);
276 
277  /// Assign a value to Remove data member.
278  ///
279  /// @return
280  /// Reference to the data value.
281  TRemove& SetRemove(void);
282 
283  /// Optional expression. Used to identify or order system and user elements
284  /// Check if a value has been assigned to Label data member.
285  ///
286  /// Data member Label is optional;
287  /// its type is defined as 'typedef NCBI_NS_STD::string TLabel'
288  /// @return
289  /// - true, if a value has been assigned.
290  /// - false, otherwise.
291  bool IsSetLabel(void) const;
292 
293  /// Check if it is safe to call GetLabel method.
294  ///
295  /// @return
296  /// - true, if the data member is getatable.
297  /// - false, otherwise.
298  bool CanGetLabel(void) const;
299 
300  /// Reset Label data member.
301  void ResetLabel(void);
302 
303  /// Get the Label member data.
304  ///
305  /// @return
306  /// Reference to the member data.
307  const TLabel& GetLabel(void) const;
308 
309  /// Assign a value to Label data member.
310  ///
311  /// @param value
312  /// Value to assign
313  void SetLabel(const TLabel& value);
314  void SetLabel(TLabel&& value);
315 
316  /// Assign a value to Label data member.
317  ///
318  /// @return
319  /// Reference to the data value.
320  TLabel& SetLabel(void);
321 
322  /// Reset the whole object
323  void Reset(void);
324 
325 
326  private:
327  // Prohibit copy constructor and assignment operator
330 
331  // data
338  };
339  /////////////////////////////////////////////////////////////////////////////
340  /// ======================== ITEMS =====================================
341  /// Possible Types include SimpleItemType (no meta-data subelements), GenericItemType (any meta-data), or something more specific.
342  ///
343  /// C_E_Reference --
344  ///
345 
346  class C_E_Reference : public NCBI_NS_NCBI::CSerialObject
347  {
348  typedef NCBI_NS_NCBI::CSerialObject Tparent;
349  public:
350  // constructor
351  C_E_Reference(void);
352  // destructor
353  ~C_E_Reference(void);
354 
355  // type info
357 
358  /////////////////////////////////////////////////////////////////////////////
359  ///
360  /// C_HNFSAPER --
361  ///
362 
363  class C_HNFSAPER : public NCBI_NS_NCBI::CSerialObject
364  {
365  typedef NCBI_NS_NCBI::CSerialObject Tparent;
366  public:
367  // constructor
368  C_HNFSAPER(void);
369  // destructor
370  ~C_HNFSAPER(void);
371 
372  // type info
374 
375 
376  /// Choice variants.
377  enum E_Choice {
378  e_not_set = 0, ///< No variant selected
379  e_HintPath, ///<Relative or absolute path to the assembly (optional)
380  e_Name, ///<Friendly display name (optional)
381  e_FusionName, ///<Fusion name of the assembly (optional)
382  e_SpecificVersion, ///<Whether only the version in the fusion name should be referenced (optional, boolean)
383  e_Aliases, ///<Aliases for the reference (optional)
384  e_Private, ///<Whether the reference should be copied to the output folder (optional, boolean)
386  e_RequiredTargetFramework ///<The minimum required target framework version in order to use this assembly as a reference
387  };
388  /// Maximum+1 value of the choice variant enumerator.
390  e_MaxChoice = 9 ///< == e_RequiredTargetFramework+1
391  };
392 
393  /// Reset the whole object
394  void Reset(void);
395 
396  /// Reset the selection (set it to e_not_set).
397  void ResetSelection(void);
398 
399  /// Which variant is currently selected.
400  ///
401  /// @return
402  /// Choice state enumerator.
403  E_Choice Which(void) const;
404 
405  /// Verify selection, throw exception if it differs from the expected.
406  ///
407  /// @param index
408  /// Expected selection.
409  void CheckSelected(E_Choice index) const;
410 
411  /// Throw 'InvalidSelection' exception.
412  ///
413  /// @param index
414  /// Expected selection.
415  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
416 
417  /// Retrieve selection name (for diagnostic purposes).
418  ///
419  /// @param index
420  /// One of possible selection states.
421  /// @return
422  /// Name string.
424 
425  /// Select the requested variant if needed.
426  ///
427  /// @param index
428  /// New selection state.
429  /// @param reset
430  /// Flag that defines the resetting of the variant data. The data will
431  /// be reset if either the current selection differs from the new one,
432  /// or the flag is set to eDoResetVariant.
434  /// Select the requested variant if needed,
435  /// allocating CObject variants from memory pool.
436  void Select(E_Choice index,
438  NCBI_NS_NCBI::CObjectMemoryPool* pool);
439 
440  // types
449 
450  // getters
451  // setters
452 
453 
454  /// Check if variant HintPath is selected.
455  ///
456  /// HintPath type is defined as 'typedef NCBI_NS_STD::string THintPath'.
457  /// @return
458  /// - true, if the variant is selected.
459  /// - false, otherwise.
460  bool IsHintPath(void) const;
461 
462  /// Get the variant data.
463  ///
464  /// @return
465  /// Reference to the data.
466  const THintPath& GetHintPath(void) const;
467 
468  /// Select the variant.
469  ///
470  /// @return
471  /// Reference to the variant data.
472  THintPath& SetHintPath(void);
473 
474  /// Select the variant and set its data.
475  ///
476  /// @param value
477  /// Variant data.
478  void SetHintPath(const THintPath& value);
479 
480 
481  /// Check if variant Name is selected.
482  ///
483  /// Name type is defined as 'typedef NCBI_NS_STD::string TName'.
484  /// @return
485  /// - true, if the variant is selected.
486  /// - false, otherwise.
487  bool IsName(void) const;
488 
489  /// Get the variant data.
490  ///
491  /// @return
492  /// Reference to the data.
493  const TName& GetName(void) const;
494 
495  /// Select the variant.
496  ///
497  /// @return
498  /// Reference to the variant data.
499  TName& SetName(void);
500 
501  /// Select the variant and set its data.
502  ///
503  /// @param value
504  /// Variant data.
505  void SetName(const TName& value);
506 
507 
508  /// Check if variant FusionName is selected.
509  ///
510  /// FusionName type is defined as 'typedef NCBI_NS_STD::string TFusionName'.
511  /// @return
512  /// - true, if the variant is selected.
513  /// - false, otherwise.
514  bool IsFusionName(void) const;
515 
516  /// Get the variant data.
517  ///
518  /// @return
519  /// Reference to the data.
520  const TFusionName& GetFusionName(void) const;
521 
522  /// Select the variant.
523  ///
524  /// @return
525  /// Reference to the variant data.
526  TFusionName& SetFusionName(void);
527 
528  /// Select the variant and set its data.
529  ///
530  /// @param value
531  /// Variant data.
532  void SetFusionName(const TFusionName& value);
533 
534 
535  /// Check if variant SpecificVersion is selected.
536  ///
537  /// SpecificVersion type is defined as 'typedef NCBI_NS_STD::string TSpecificVersion'.
538  /// @return
539  /// - true, if the variant is selected.
540  /// - false, otherwise.
541  bool IsSpecificVersion(void) const;
542 
543  /// Get the variant data.
544  ///
545  /// @return
546  /// Reference to the data.
547  const TSpecificVersion& GetSpecificVersion(void) const;
548 
549  /// Select the variant.
550  ///
551  /// @return
552  /// Reference to the variant data.
554 
555  /// Select the variant and set its data.
556  ///
557  /// @param value
558  /// Variant data.
560 
561 
562  /// Check if variant Aliases is selected.
563  ///
564  /// Aliases type is defined as 'typedef NCBI_NS_STD::string TAliases'.
565  /// @return
566  /// - true, if the variant is selected.
567  /// - false, otherwise.
568  bool IsAliases(void) const;
569 
570  /// Get the variant data.
571  ///
572  /// @return
573  /// Reference to the data.
574  const TAliases& GetAliases(void) const;
575 
576  /// Select the variant.
577  ///
578  /// @return
579  /// Reference to the variant data.
580  TAliases& SetAliases(void);
581 
582  /// Select the variant and set its data.
583  ///
584  /// @param value
585  /// Variant data.
586  void SetAliases(const TAliases& value);
587 
588 
589  /// Check if variant Private is selected.
590  ///
591  /// Private type is defined as 'typedef NCBI_NS_STD::string TPrivate'.
592  /// @return
593  /// - true, if the variant is selected.
594  /// - false, otherwise.
595  bool IsPrivate(void) const;
596 
597  /// Get the variant data.
598  ///
599  /// @return
600  /// Reference to the data.
601  const TPrivate& GetPrivate(void) const;
602 
603  /// Select the variant.
604  ///
605  /// @return
606  /// Reference to the variant data.
607  TPrivate& SetPrivate(void);
608 
609  /// Select the variant and set its data.
610  ///
611  /// @param value
612  /// Variant data.
613  void SetPrivate(const TPrivate& value);
614 
615 
616  /// Check if variant EmbedInteropTypes is selected.
617  ///
618  /// EmbedInteropTypes type is defined as 'typedef CEmbedInteropTypes TEmbedInteropTypes'.
619  /// @return
620  /// - true, if the variant is selected.
621  /// - false, otherwise.
622  bool IsEmbedInteropTypes(void) const;
623 
624  /// Get the variant data.
625  ///
626  /// @return
627  /// Reference to the data.
628  const TEmbedInteropTypes& GetEmbedInteropTypes(void) const;
629 
630  /// Select the variant.
631  ///
632  /// @return
633  /// Reference to the variant data.
635  /// Select the variant and set its data.
636  ///
637  /// @param value
638  /// Reference to the data.
640 
641 
642  /// Check if variant RequiredTargetFramework is selected.
643  ///
644  /// RequiredTargetFramework type is defined as 'typedef NCBI_NS_STD::string TRequiredTargetFramework'.
645  /// @return
646  /// - true, if the variant is selected.
647  /// - false, otherwise.
648  bool IsRequiredTargetFramework(void) const;
649 
650  /// Get the variant data.
651  ///
652  /// @return
653  /// Reference to the data.
655 
656  /// Select the variant.
657  ///
658  /// @return
659  /// Reference to the variant data.
661 
662  /// Select the variant and set its data.
663  ///
664  /// @param value
665  /// Variant data.
667 
668 
669  private:
670  // copy constructor and assignment operator
673  // choice state
675  // helper methods
676  void DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool* pool = 0);
677 
678  static const char* const sm_SelectionNames[];
679  // data
680  union {
681  NCBI_NS_NCBI::CUnionBuffer<NCBI_NS_STD::string> m_string;
682  NCBI_NS_NCBI::CSerialObject *m_object;
683  };
684  };
685  // types
687 
688  // member index
689  enum class E_memberIndex {
690  e__allMandatory = 0,
691  e_HNFSAPER
692  };
693  typedef Tparent::CMemberIndex<E_memberIndex, 2> TmemberIndex;
694 
695  // getters
696  // setters
697 
698  /// Check if a value has been assigned to HNFSAPER data member.
699  ///
700  /// Data member HNFSAPER is mandatory;
701  /// its type is defined as 'typedef C_HNFSAPER THNFSAPER'
702  /// @return
703  /// - true, if a value has been assigned.
704  /// - false, otherwise.
705  bool IsSetHNFSAPER(void) const;
706 
707  /// Check if it is safe to call GetHNFSAPER method.
708  ///
709  /// @return
710  /// - true, if the data member is getatable.
711  /// - false, otherwise.
712  bool CanGetHNFSAPER(void) const;
713 
714  /// Reset HNFSAPER data member.
715  void ResetHNFSAPER(void);
716 
717  /// Get the HNFSAPER member data.
718  ///
719  /// @return
720  /// Reference to the member data.
721  const THNFSAPER& GetHNFSAPER(void) const;
722 
723  /// Assign a value to HNFSAPER data member.
724  ///
725  /// @param value
726  /// Reference to value.
727  void SetHNFSAPER(THNFSAPER& value);
728 
729  /// Assign a value to HNFSAPER data member.
730  ///
731  /// @return
732  /// Reference to the data value.
733  THNFSAPER& SetHNFSAPER(void);
734 
735  /// Reset the whole object
736  void Reset(void);
737 
738 
739  private:
740  // Prohibit copy constructor and assignment operator
743 
744  // data
746  NCBI_NS_NCBI::CRef< THNFSAPER > m_HNFSAPER;
747  };
748  // types
751  typedef NCBI_NS_STD::list< NCBI_NS_NCBI::CRef< C_E_Reference > > TReference;
752 
753  // member index
754  enum class E_memberIndex {
755  e__allMandatory = 0,
756  e_Attlist,
758  };
759  typedef Tparent::CMemberIndex<E_memberIndex, 3> TmemberIndex;
760 
761  // getters
762  // setters
763 
764  /// Check if a value has been assigned to Attlist data member.
765  ///
766  /// Data member Attlist is mandatory;
767  /// its type is defined as 'typedef C_Attlist TAttlist'
768  /// @return
769  /// - true, if a value has been assigned.
770  /// - false, otherwise.
771  bool IsSetAttlist(void) const;
772 
773  /// Check if it is safe to call GetAttlist method.
774  ///
775  /// @return
776  /// - true, if the data member is getatable.
777  /// - false, otherwise.
778  bool CanGetAttlist(void) const;
779 
780  /// Reset Attlist data member.
781  void ResetAttlist(void);
782 
783  /// Get the Attlist member data.
784  ///
785  /// @return
786  /// Reference to the member data.
787  const TAttlist& GetAttlist(void) const;
788 
789  /// Assign a value to Attlist data member.
790  ///
791  /// @param value
792  /// Reference to value.
793  void SetAttlist(TAttlist& value);
794 
795  /// Assign a value to Attlist data member.
796  ///
797  /// @return
798  /// Reference to the data value.
799  TAttlist& SetAttlist(void);
800 
801  /// Check if a value has been assigned to Reference data member.
802  ///
803  /// Data member Reference is optional;
804  /// its type is defined as 'typedef NCBI_NS_STD::list< NCBI_NS_NCBI::CRef< C_E_Reference > > TReference'
805  /// @return
806  /// - true, if a value has been assigned.
807  /// - false, otherwise.
808  bool IsSetReference(void) const;
809 
810  /// Check if it is safe to call GetReference method.
811  ///
812  /// @return
813  /// - true, if the data member is getatable.
814  /// - false, otherwise.
815  bool CanGetReference(void) const;
816 
817  /// Reset Reference data member.
818  void ResetReference(void);
819 
820  /// Get the Reference member data.
821  ///
822  /// @return
823  /// Reference to the member data.
824  const TReference& GetReference(void) const;
825 
826  /// Assign a value to Reference data member.
827  ///
828  /// @return
829  /// Reference to the data value.
830  TReference& SetReference(void);
831 
832  /// Reset the whole object
833  virtual void Reset(void);
834 
835 
836 private:
837  // Prohibit copy constructor and assignment operator
840 
841  // data
843  NCBI_NS_NCBI::CRef< TAttlist > m_Attlist;
844  NCBI_NS_STD::list< NCBI_NS_NCBI::CRef< C_E_Reference > > m_Reference;
845 };
846 
847 /* @} */
848 
849 
850 
851 
852 
853 ///////////////////////////////////////////////////////////
854 ///////////////////// inline methods //////////////////////
855 ///////////////////////////////////////////////////////////
856 inline
858 {
859  return ((m_set_State[0] & 0x3) != 0);
860 }
861 
862 inline
864 {
865  return IsSetInclude();
866 }
867 
868 inline
870 {
871  if (!CanGetInclude()) {
872  ThrowUnassigned(0);
873  }
874  return m_Include;
875 }
876 
877 inline
879 {
880  m_Include = value;
881  m_set_State[0] |= 0x3;
882 }
883 
884 inline
886 {
887  m_Include = std::forward<CReference_Base::C_Attlist::TInclude>(value);
888  m_set_State[0] |= 0x3;
889 }
890 
891 inline
893 {
894 #ifdef _DEBUG
895  if (!IsSetInclude()) {
896  m_Include = UnassignedString();
897  }
898 #endif
899  m_set_State[0] |= 0x1;
900  return m_Include;
901 }
902 
903 inline
905 {
906  return ((m_set_State[0] & 0xc) != 0);
907 }
908 
909 inline
911 {
912  return IsSetCondition();
913 }
914 
915 inline
917 {
918  if (!CanGetCondition()) {
919  ThrowUnassigned(1);
920  }
921  return m_Condition;
922 }
923 
924 inline
926 {
927  m_Condition = value;
928  m_set_State[0] |= 0xc;
929 }
930 
931 inline
933 {
934  m_Condition = std::forward<CReference_Base::C_Attlist::TCondition>(value);
935  m_set_State[0] |= 0xc;
936 }
937 
938 inline
940 {
941 #ifdef _DEBUG
942  if (!IsSetCondition()) {
943  m_Condition = UnassignedString();
944  }
945 #endif
946  m_set_State[0] |= 0x4;
947  return m_Condition;
948 }
949 
950 inline
952 {
953  return ((m_set_State[0] & 0x30) != 0);
954 }
955 
956 inline
958 {
959  return IsSetExclude();
960 }
961 
962 inline
964 {
965  if (!CanGetExclude()) {
966  ThrowUnassigned(2);
967  }
968  return m_Exclude;
969 }
970 
971 inline
973 {
974  m_Exclude = value;
975  m_set_State[0] |= 0x30;
976 }
977 
978 inline
980 {
981  m_Exclude = std::forward<CReference_Base::C_Attlist::TExclude>(value);
982  m_set_State[0] |= 0x30;
983 }
984 
985 inline
987 {
988 #ifdef _DEBUG
989  if (!IsSetExclude()) {
990  m_Exclude = UnassignedString();
991  }
992 #endif
993  m_set_State[0] |= 0x10;
994  return m_Exclude;
995 }
996 
997 inline
999 {
1000  return ((m_set_State[0] & 0xc0) != 0);
1001 }
1002 
1003 inline
1005 {
1006  return IsSetRemove();
1007 }
1008 
1009 inline
1011 {
1012  if (!CanGetRemove()) {
1013  ThrowUnassigned(3);
1014  }
1015  return m_Remove;
1016 }
1017 
1018 inline
1020 {
1021  m_Remove = value;
1022  m_set_State[0] |= 0xc0;
1023 }
1024 
1025 inline
1027 {
1028  m_Remove = std::forward<CReference_Base::C_Attlist::TRemove>(value);
1029  m_set_State[0] |= 0xc0;
1030 }
1031 
1032 inline
1034 {
1035 #ifdef _DEBUG
1036  if (!IsSetRemove()) {
1037  m_Remove = UnassignedString();
1038  }
1039 #endif
1040  m_set_State[0] |= 0x40;
1041  return m_Remove;
1042 }
1043 
1044 inline
1046 {
1047  return ((m_set_State[0] & 0x300) != 0);
1048 }
1049 
1050 inline
1052 {
1053  return IsSetLabel();
1054 }
1055 
1056 inline
1058 {
1059  if (!CanGetLabel()) {
1060  ThrowUnassigned(4);
1061  }
1062  return m_Label;
1063 }
1064 
1065 inline
1067 {
1068  m_Label = value;
1069  m_set_State[0] |= 0x300;
1070 }
1071 
1072 inline
1074 {
1075  m_Label = std::forward<CReference_Base::C_Attlist::TLabel>(value);
1076  m_set_State[0] |= 0x300;
1077 }
1078 
1079 inline
1081 {
1082 #ifdef _DEBUG
1083  if (!IsSetLabel()) {
1084  m_Label = UnassignedString();
1085  }
1086 #endif
1087  m_set_State[0] |= 0x100;
1088  return m_Label;
1089 }
1090 
1091 inline
1093 {
1094  return m_choice;
1095 }
1096 
1097 inline
1099 {
1100  if ( m_choice != index )
1101  ThrowInvalidSelection(index);
1102 }
1103 
1104 inline
1105 void CReference_Base::C_E_Reference::C_HNFSAPER::Select(E_Choice index, NCBI_NS_NCBI::EResetVariant reset, NCBI_NS_NCBI::CObjectMemoryPool* pool)
1106 {
1107  if ( reset == NCBI_NS_NCBI::eDoResetVariant || m_choice != index ) {
1108  if ( m_choice != e_not_set )
1109  ResetSelection();
1110  DoSelect(index, pool);
1111  }
1112 }
1113 
1114 inline
1116 {
1117  Select(index, reset, 0);
1118 }
1119 
1120 inline
1122 {
1123  return m_choice == e_HintPath;
1124 }
1125 
1126 inline
1128 {
1129  CheckSelected(e_HintPath);
1130  return *m_string;
1131 }
1132 
1133 inline
1135 {
1136  Select(e_HintPath, NCBI_NS_NCBI::eDoNotResetVariant);
1137  return *m_string;
1138 }
1139 
1140 inline
1142 {
1143  return m_choice == e_Name;
1144 }
1145 
1146 inline
1148 {
1149  CheckSelected(e_Name);
1150  return *m_string;
1151 }
1152 
1153 inline
1155 {
1156  Select(e_Name, NCBI_NS_NCBI::eDoNotResetVariant);
1157  return *m_string;
1158 }
1159 
1160 inline
1162 {
1163  return m_choice == e_FusionName;
1164 }
1165 
1166 inline
1168 {
1169  CheckSelected(e_FusionName);
1170  return *m_string;
1171 }
1172 
1173 inline
1175 {
1176  Select(e_FusionName, NCBI_NS_NCBI::eDoNotResetVariant);
1177  return *m_string;
1178 }
1179 
1180 inline
1182 {
1183  return m_choice == e_SpecificVersion;
1184 }
1185 
1186 inline
1188 {
1189  CheckSelected(e_SpecificVersion);
1190  return *m_string;
1191 }
1192 
1193 inline
1195 {
1196  Select(e_SpecificVersion, NCBI_NS_NCBI::eDoNotResetVariant);
1197  return *m_string;
1198 }
1199 
1200 inline
1202 {
1203  return m_choice == e_Aliases;
1204 }
1205 
1206 inline
1208 {
1209  CheckSelected(e_Aliases);
1210  return *m_string;
1211 }
1212 
1213 inline
1215 {
1216  Select(e_Aliases, NCBI_NS_NCBI::eDoNotResetVariant);
1217  return *m_string;
1218 }
1219 
1220 inline
1222 {
1223  return m_choice == e_Private;
1224 }
1225 
1226 inline
1228 {
1229  CheckSelected(e_Private);
1230  return *m_string;
1231 }
1232 
1233 inline
1235 {
1236  Select(e_Private, NCBI_NS_NCBI::eDoNotResetVariant);
1237  return *m_string;
1238 }
1239 
1240 inline
1242 {
1243  return m_choice == e_EmbedInteropTypes;
1244 }
1245 
1246 inline
1248 {
1249  return m_choice == e_RequiredTargetFramework;
1250 }
1251 
1252 inline
1254 {
1255  CheckSelected(e_RequiredTargetFramework);
1256  return *m_string;
1257 }
1258 
1259 inline
1261 {
1262  Select(e_RequiredTargetFramework, NCBI_NS_NCBI::eDoNotResetVariant);
1263  return *m_string;
1264 }
1265 
1266 inline
1268 {
1269  return m_HNFSAPER.NotEmpty();
1270 }
1271 
1272 inline
1274 {
1275  return true;
1276 }
1277 
1278 inline
1280 {
1281  if ( !m_HNFSAPER ) {
1282  const_cast<C_E_Reference*>(this)->ResetHNFSAPER();
1283  }
1284  return (*m_HNFSAPER);
1285 }
1286 
1287 inline
1289 {
1290  if ( !m_HNFSAPER ) {
1291  ResetHNFSAPER();
1292  }
1293  return (*m_HNFSAPER);
1294 }
1295 
1296 inline
1298 {
1299  return m_Attlist.NotEmpty();
1300 }
1301 
1302 inline
1304 {
1305  return true;
1306 }
1307 
1308 inline
1310 {
1311  if ( !m_Attlist ) {
1312  const_cast<CReference_Base*>(this)->ResetAttlist();
1313  }
1314  return (*m_Attlist);
1315 }
1316 
1317 inline
1319 {
1320  if ( !m_Attlist ) {
1321  ResetAttlist();
1322  }
1323  return (*m_Attlist);
1324 }
1325 
1326 inline
1328 {
1329  return ((m_set_State[0] & 0xc) != 0);
1330 }
1331 
1332 inline
1334 {
1335  return true;
1336 }
1337 
1338 inline
1340 {
1341  return m_Reference;
1342 }
1343 
1344 inline
1346 {
1347  m_set_State[0] |= 0x4;
1348  return m_Reference;
1349 }
1350 
1351 ///////////////////////////////////////////////////////////
1352 ////////////////// end of inline methods //////////////////
1353 ///////////////////////////////////////////////////////////
1354 
1355 
1356 
1357 
1358 
1359 END_msbuild_SCOPE // namespace msbuild::
1360 
1361 
1362 #endif // msbuild__BUILD_SYSTEM_PROJECT_TREE_BUILDER_MSBUILD_REFERENCE_BASE_HPP
#define END_msbuild_SCOPE
Definition: Reference_.hpp:53
#define BEGIN_msbuild_SCOPE
Definition: Reference_.hpp:52
CEmbedInteropTypes –.
C_Attlist –.
Definition: Reference_.hpp:95
======================== ITEMS ===================================== Possible Types include SimpleIte...
Definition: Reference_.hpp:347
======================== ITEMS ===================================== Possible Types include SimpleIte...
Definition: Reference_.hpp:78
string
Definition: cgiapp.hpp:687
EResetVariant
Definition: serialbase.hpp:76
@ eDoResetVariant
Definition: serialbase.hpp:77
@ eDoNotResetVariant
Definition: serialbase.hpp:78
uint32_t Uint4
4-byte (32-bit) unsigned integer
Definition: ncbitype.h:103
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
Definition: Reference_.hpp:107
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.
Definition: Reference_.hpp:869
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.
Definition: Reference_.hpp:910
const TExclude & GetExclude(void) const
Get the Exclude member data.
Definition: Reference_.hpp:963
const TLabel & GetLabel(void) const
Get the Label member data.
TSpecificVersion & SetSpecificVersion(void)
Select the variant.
NCBI_NS_STD::string m_Include
Definition: Reference_.hpp:333
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...
Definition: Reference_.hpp:857
bool IsSetRemove(void) const
Semi-colon separated list of files (wildcards are allowed) or other item names to remove from the exi...
Definition: Reference_.hpp:998
NCBI_NS_STD::string TCondition
Definition: Reference_.hpp:108
const TAliases & GetAliases(void) const
Get the variant data.
void Reset(void)
Reset the whole object.
Definition: Reference_.cpp:79
bool IsSetCondition(void) const
Optional expression evaluated to determine whether the items should be evaluated Check if a value has...
Definition: Reference_.hpp:904
void ResetAttlist(void)
Reset Attlist data member.
Definition: Reference_.cpp:328
const TEmbedInteropTypes & GetEmbedInteropTypes(void) const
Get the variant data.
Definition: Reference_.cpp:221
C_Attlist & operator=(const C_Attlist &)
void ResetInclude(void)
Reset Include data member.
Definition: Reference_.cpp:49
void DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool *pool=0)
Definition: Reference_.cpp:142
bool CanGetRemove(void) const
Check if it is safe to call GetRemove method.
NCBI_NS_NCBI::CSerialObject Tparent
Definition: Reference_.hpp:79
NCBI_NS_NCBI::CRef< THNFSAPER > m_HNFSAPER
Definition: Reference_.hpp:746
void ResetCondition(void)
Reset Condition data member.
Definition: Reference_.cpp:55
void Reset(void)
Reset the whole object.
Definition: Reference_.cpp:115
const TCondition & GetCondition(void) const
Get the Condition member data.
Definition: Reference_.hpp:916
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
Definition: Reference_.hpp:844
C_E_Reference & operator=(const C_E_Reference &)
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).
Definition: Reference_.cpp:175
Uint4 m_set_State[1]
Definition: Reference_.hpp:842
NCBI_NS_NCBI::CSerialObject Tparent
Definition: Reference_.hpp:96
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
Definition: Reference_.hpp:335
bool IsPrivate(void) const
Check if variant Private is selected.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
Definition: Reference_.cpp:180
NCBI_NS_NCBI::CSerialObject Tparent
Definition: Reference_.hpp:365
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
Definition: Reference_.hpp:843
NCBI_NS_STD::string TRemove
Definition: Reference_.hpp:110
bool CanGetLabel(void) const
Check if it is safe to call GetLabel method.
C_E_Reference C_E
Definition: Reference_.hpp:750
const TReference & GetReference(void) const
Get the Reference member data.
NCBI_NS_STD::list< NCBI_NS_NCBI::CRef< C_E_Reference > > TReference
Definition: Reference_.hpp:751
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.
Definition: Reference_.cpp:73
Tparent::CMemberIndex< E_memberIndex, 6 > TmemberIndex
Definition: Reference_.hpp:122
Tparent::CMemberIndex< E_memberIndex, 3 > TmemberIndex
Definition: Reference_.hpp:759
Tparent::CMemberIndex< E_memberIndex, 2 > TmemberIndex
Definition: Reference_.hpp:693
C_HNFSAPER & operator=(const C_HNFSAPER &)
E_ChoiceStopper
Maximum+1 value of the choice variant enumerator.
Definition: Reference_.hpp:389
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)
Definition: Reference_.cpp:376
TExclude & SetExclude(void)
Assign a value to Exclude data member.
Definition: Reference_.hpp:986
bool IsEmbedInteropTypes(void) const
Check if variant EmbedInteropTypes is selected.
TCondition & SetCondition(void)
Assign a value to Condition data member.
Definition: Reference_.hpp:939
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[]
Definition: Reference_.hpp:678
const TRequiredTargetFramework & GetRequiredTargetFramework(void) const
Get the variant data.
bool CanGetInclude(void) const
Check if it is safe to call GetInclude method.
Definition: Reference_.hpp:863
THintPath & SetHintPath(void)
Select the variant.
NCBI_NS_STD::string m_Condition
Definition: Reference_.hpp:334
TName & SetName(void)
Select the variant.
NCBI_NS_STD::string TExclude
Definition: Reference_.hpp:109
TEmbedInteropTypes & SetEmbedInteropTypes(void)
Select the variant.
Definition: Reference_.cpp:227
NCBI_NS_NCBI::CSerialObject Tparent
Definition: Reference_.hpp:348
CReference_Base & operator=(const CReference_Base &)
void ResetRemove(void)
Reset Remove data member.
Definition: Reference_.cpp:67
NCBI_NS_STD::string m_Label
Definition: Reference_.hpp:337
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
virtual void Reset(void)
Reset the whole object.
Definition: Reference_.cpp:348
const TRemove & GetRemove(void) const
Get the Remove member data.
C_E_Reference(const C_E_Reference &)
NCBI_NS_STD::string TLabel
Definition: Reference_.hpp:111
bool IsSetLabel(void) const
Optional expression.
void ResetExclude(void)
Reset Exclude data member.
Definition: Reference_.cpp:61
C_Attlist TAttlist
Definition: Reference_.hpp:749
const TName & GetName(void) const
Get the variant data.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
Definition: Reference_.cpp:121
void Reset(void)
Reset the whole object.
Definition: Reference_.cpp:296
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
Definition: Reference_.hpp:681
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
Definition: Reference_.hpp:336
TInclude & SetInclude(void)
Assign a value to Include data member.
Definition: Reference_.hpp:892
bool CanGetExclude(void) const
Check if it is safe to call GetExclude method.
Definition: Reference_.hpp:957
void ResetHNFSAPER(void)
Reset HNFSAPER data member.
Definition: Reference_.cpp:282
void ResetReference(void)
Reset Reference data member.
Definition: Reference_.cpp:342
NCBI_NS_NCBI::CSerialObject * m_object
Definition: Reference_.hpp:682
bool IsSetExclude(void) const
Semi-colon separated list of files (wildcards are allowed) or other item names to exclude from the In...
Definition: Reference_.hpp:951
@ e_MaxChoice
== e_RequiredTargetFramework+1
Definition: Reference_.hpp:390
@ e_Private
Whether the reference should be copied to the output folder (optional, boolean)
Definition: Reference_.hpp:384
@ e_FusionName
Fusion name of the assembly (optional)
Definition: Reference_.hpp:381
@ e_RequiredTargetFramework
The minimum required target framework version in order to use this assembly as a reference.
Definition: Reference_.hpp:386
@ e_Aliases
Aliases for the reference (optional)
Definition: Reference_.hpp:383
@ e_HintPath
Relative or absolute path to the assembly (optional)
Definition: Reference_.hpp:379
@ e_SpecificVersion
Whether only the version in the fusion name should be referenced (optional, boolean)
Definition: Reference_.hpp:382
@ e_Name
Friendly display name (optional)
Definition: Reference_.hpp:380
@ e_not_set
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1227
Modified on Mon May 06 04:51:00 2024 by modify_doxy.py rev. 669887