NCBI C++ ToolKit
TargetType_.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 TargetType_.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_TARGETTYPE_BASE_HPP
42 #define msbuild__BUILD_SYSTEM_PROJECT_TREE_BUILDER_MSBUILD_TARGETTYPE_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 CItemGroup;
60 class COnError;
61 class CPropertyGroup;
62 class CTask;
63 
64 
65 // generated classes
66 
67 
68 /** @addtogroup dataspec_msbuild_dataobj
69  *
70  * @{
71  */
72 
73 /////////////////////////////////////////////////////////////////////////////
74 ///Groups tasks into a section of the build process
75 ///
76 /// CTargetType_Base --
77 ///
78 
79 class CTargetType_Base : public NCBI_NS_NCBI::CSerialObject
80 {
81  typedef NCBI_NS_NCBI::CSerialObject Tparent;
82 public:
83  // constructor
84  CTargetType_Base(void);
85  // destructor
86  virtual ~CTargetType_Base(void);
87 
88  // type info
90 
91  /////////////////////////////////////////////////////////////////////////////
92  ///
93  /// C_Attlist --
94  ///
95 
96  class C_Attlist : public NCBI_NS_NCBI::CSerialObject
97  {
98  typedef NCBI_NS_NCBI::CSerialObject Tparent;
99  public:
100  // constructor
101  C_Attlist(void);
102  // destructor
103  ~C_Attlist(void);
104 
105  // type info
107 
108  // types
119 
120  // member index
121  enum class E_memberIndex {
122  e__allMandatory = 0,
123  e_Name,
125  e_Inputs,
126  e_Outputs,
127  e_Condition,
129  e_Returns,
132  e_Label
133  };
134  typedef Tparent::CMemberIndex<E_memberIndex, 11> TmemberIndex;
135 
136  // getters
137  // setters
138 
139  /// no elements are allowed under Target after an OnError element
140  ///Name of the target
141  /// Check if a value has been assigned to Name data member.
142  ///
143  /// Data member Name is mandatory;
144  /// its type is defined as 'typedef NCBI_NS_STD::string TName'
145  /// @return
146  /// - true, if a value has been assigned.
147  /// - false, otherwise.
148  bool IsSetName(void) const;
149 
150  /// Check if it is safe to call GetName method.
151  ///
152  /// @return
153  /// - true, if the data member is getatable.
154  /// - false, otherwise.
155  bool CanGetName(void) const;
156 
157  /// Reset Name data member.
158  void ResetName(void);
159 
160  /// Get the Name member data.
161  ///
162  /// @return
163  /// Reference to the member data.
164  const TName& GetName(void) const;
165 
166  /// Assign a value to Name data member.
167  ///
168  /// @param value
169  /// Value to assign
170  void SetName(const TName& value);
171  void SetName(TName&& value);
172 
173  /// Assign a value to Name data member.
174  ///
175  /// @return
176  /// Reference to the data value.
177  TName& SetName(void);
178 
179  ///Optional semi-colon separated list of targets that should be run before this target
180  /// Check if a value has been assigned to DependsOnTargets data member.
181  ///
182  /// Data member DependsOnTargets is optional;
183  /// its type is defined as 'typedef NCBI_NS_STD::string TDependsOnTargets'
184  /// @return
185  /// - true, if a value has been assigned.
186  /// - false, otherwise.
187  bool IsSetDependsOnTargets(void) const;
188 
189  /// Check if it is safe to call GetDependsOnTargets method.
190  ///
191  /// @return
192  /// - true, if the data member is getatable.
193  /// - false, otherwise.
194  bool CanGetDependsOnTargets(void) const;
195 
196  /// Reset DependsOnTargets data member.
197  void ResetDependsOnTargets(void);
198 
199  /// Get the DependsOnTargets member data.
200  ///
201  /// @return
202  /// Reference to the member data.
203  const TDependsOnTargets& GetDependsOnTargets(void) const;
204 
205  /// Assign a value to DependsOnTargets data member.
206  ///
207  /// @param value
208  /// Value to assign
211 
212  /// Assign a value to DependsOnTargets data member.
213  ///
214  /// @return
215  /// Reference to the data value.
217 
218  ///Optional semi-colon separated list of files that form inputs into this target. Their timestamps will be compared with the timestamps of files in Outputs to determine whether the Target is up to date
219  /// Check if a value has been assigned to Inputs data member.
220  ///
221  /// Data member Inputs is optional;
222  /// its type is defined as 'typedef NCBI_NS_STD::string TInputs'
223  /// @return
224  /// - true, if a value has been assigned.
225  /// - false, otherwise.
226  bool IsSetInputs(void) const;
227 
228  /// Check if it is safe to call GetInputs method.
229  ///
230  /// @return
231  /// - true, if the data member is getatable.
232  /// - false, otherwise.
233  bool CanGetInputs(void) const;
234 
235  /// Reset Inputs data member.
236  void ResetInputs(void);
237 
238  /// Get the Inputs member data.
239  ///
240  /// @return
241  /// Reference to the member data.
242  const TInputs& GetInputs(void) const;
243 
244  /// Assign a value to Inputs data member.
245  ///
246  /// @param value
247  /// Value to assign
248  void SetInputs(const TInputs& value);
249  void SetInputs(TInputs&& value);
250 
251  /// Assign a value to Inputs data member.
252  ///
253  /// @return
254  /// Reference to the data value.
255  TInputs& SetInputs(void);
256 
257  ///Optional semi-colon separated list of files that form outputs into this target. Their timestamps will be compared with the timestamps of files in Inputs to determine whether the Target is up to date
258  /// Check if a value has been assigned to Outputs data member.
259  ///
260  /// Data member Outputs is optional;
261  /// its type is defined as 'typedef NCBI_NS_STD::string TOutputs'
262  /// @return
263  /// - true, if a value has been assigned.
264  /// - false, otherwise.
265  bool IsSetOutputs(void) const;
266 
267  /// Check if it is safe to call GetOutputs method.
268  ///
269  /// @return
270  /// - true, if the data member is getatable.
271  /// - false, otherwise.
272  bool CanGetOutputs(void) const;
273 
274  /// Reset Outputs data member.
275  void ResetOutputs(void);
276 
277  /// Get the Outputs member data.
278  ///
279  /// @return
280  /// Reference to the member data.
281  const TOutputs& GetOutputs(void) const;
282 
283  /// Assign a value to Outputs data member.
284  ///
285  /// @param value
286  /// Value to assign
287  void SetOutputs(const TOutputs& value);
288  void SetOutputs(TOutputs&& value);
289 
290  /// Assign a value to Outputs data member.
291  ///
292  /// @return
293  /// Reference to the data value.
294  TOutputs& SetOutputs(void);
295 
296  ///Optional expression evaluated to determine whether the Target and the targets it depends on should be run
297  /// Check if a value has been assigned to Condition data member.
298  ///
299  /// Data member Condition is optional;
300  /// its type is defined as 'typedef NCBI_NS_STD::string TCondition'
301  /// @return
302  /// - true, if a value has been assigned.
303  /// - false, otherwise.
304  bool IsSetCondition(void) const;
305 
306  /// Check if it is safe to call GetCondition method.
307  ///
308  /// @return
309  /// - true, if the data member is getatable.
310  /// - false, otherwise.
311  bool CanGetCondition(void) const;
312 
313  /// Reset Condition data member.
314  void ResetCondition(void);
315 
316  /// Get the Condition member data.
317  ///
318  /// @return
319  /// Reference to the member data.
320  const TCondition& GetCondition(void) const;
321 
322  /// Assign a value to Condition data member.
323  ///
324  /// @param value
325  /// Value to assign
326  void SetCondition(const TCondition& value);
327  void SetCondition(TCondition&& value);
328 
329  /// Assign a value to Condition data member.
330  ///
331  /// @return
332  /// Reference to the data value.
333  TCondition& SetCondition(void);
334 
335  ///Optional expression evaluated to determine whether duplicate items in the Target's Returns should be removed before returning them. The default is not to eliminate duplicates.
336  /// Check if a value has been assigned to KeepDuplicateOutputs data member.
337  ///
338  /// Data member KeepDuplicateOutputs is optional;
339  /// its type is defined as 'typedef NCBI_NS_STD::string TKeepDuplicateOutputs'
340  /// @return
341  /// - true, if a value has been assigned.
342  /// - false, otherwise.
343  bool IsSetKeepDuplicateOutputs(void) const;
344 
345  /// Check if it is safe to call GetKeepDuplicateOutputs method.
346  ///
347  /// @return
348  /// - true, if the data member is getatable.
349  /// - false, otherwise.
350  bool CanGetKeepDuplicateOutputs(void) const;
351 
352  /// Reset KeepDuplicateOutputs data member.
353  void ResetKeepDuplicateOutputs(void);
354 
355  /// Get the KeepDuplicateOutputs member data.
356  ///
357  /// @return
358  /// Reference to the member data.
360 
361  /// Assign a value to KeepDuplicateOutputs data member.
362  ///
363  /// @param value
364  /// Value to assign
367 
368  /// Assign a value to KeepDuplicateOutputs data member.
369  ///
370  /// @return
371  /// Reference to the data value.
373 
374  ///Optional expression evaluated to determine which items generated by the target should be returned by the target. If there are no Returns attributes on Targets in the file, the Outputs attributes are used instead for this purpose.
375  /// Check if a value has been assigned to Returns data member.
376  ///
377  /// Data member Returns is optional;
378  /// its type is defined as 'typedef NCBI_NS_STD::string TReturns'
379  /// @return
380  /// - true, if a value has been assigned.
381  /// - false, otherwise.
382  bool IsSetReturns(void) const;
383 
384  /// Check if it is safe to call GetReturns method.
385  ///
386  /// @return
387  /// - true, if the data member is getatable.
388  /// - false, otherwise.
389  bool CanGetReturns(void) const;
390 
391  /// Reset Returns data member.
392  void ResetReturns(void);
393 
394  /// Get the Returns member data.
395  ///
396  /// @return
397  /// Reference to the member data.
398  const TReturns& GetReturns(void) const;
399 
400  /// Assign a value to Returns data member.
401  ///
402  /// @param value
403  /// Value to assign
404  void SetReturns(const TReturns& value);
405  void SetReturns(TReturns&& value);
406 
407  /// Assign a value to Returns data member.
408  ///
409  /// @return
410  /// Reference to the data value.
411  TReturns& SetReturns(void);
412 
413  ///Optional semi-colon separated list of targets that this target should run before.
414  /// Check if a value has been assigned to BeforeTargets data member.
415  ///
416  /// Data member BeforeTargets is optional;
417  /// its type is defined as 'typedef NCBI_NS_STD::string TBeforeTargets'
418  /// @return
419  /// - true, if a value has been assigned.
420  /// - false, otherwise.
421  bool IsSetBeforeTargets(void) const;
422 
423  /// Check if it is safe to call GetBeforeTargets method.
424  ///
425  /// @return
426  /// - true, if the data member is getatable.
427  /// - false, otherwise.
428  bool CanGetBeforeTargets(void) const;
429 
430  /// Reset BeforeTargets data member.
431  void ResetBeforeTargets(void);
432 
433  /// Get the BeforeTargets member data.
434  ///
435  /// @return
436  /// Reference to the member data.
437  const TBeforeTargets& GetBeforeTargets(void) const;
438 
439  /// Assign a value to BeforeTargets data member.
440  ///
441  /// @param value
442  /// Value to assign
445 
446  /// Assign a value to BeforeTargets data member.
447  ///
448  /// @return
449  /// Reference to the data value.
451 
452  ///Optional semi-colon separated list of targets that this target should run after.
453  /// Check if a value has been assigned to AfterTargets data member.
454  ///
455  /// Data member AfterTargets is optional;
456  /// its type is defined as 'typedef NCBI_NS_STD::string TAfterTargets'
457  /// @return
458  /// - true, if a value has been assigned.
459  /// - false, otherwise.
460  bool IsSetAfterTargets(void) const;
461 
462  /// Check if it is safe to call GetAfterTargets method.
463  ///
464  /// @return
465  /// - true, if the data member is getatable.
466  /// - false, otherwise.
467  bool CanGetAfterTargets(void) const;
468 
469  /// Reset AfterTargets data member.
470  void ResetAfterTargets(void);
471 
472  /// Get the AfterTargets member data.
473  ///
474  /// @return
475  /// Reference to the member data.
476  const TAfterTargets& GetAfterTargets(void) const;
477 
478  /// Assign a value to AfterTargets data member.
479  ///
480  /// @param value
481  /// Value to assign
482  void SetAfterTargets(const TAfterTargets& value);
484 
485  /// Assign a value to AfterTargets data member.
486  ///
487  /// @return
488  /// Reference to the data value.
490 
491  ///Optional expression. Used to identify or order system and user elements
492  /// Check if a value has been assigned to Label data member.
493  ///
494  /// Data member Label is optional;
495  /// its type is defined as 'typedef NCBI_NS_STD::string TLabel'
496  /// @return
497  /// - true, if a value has been assigned.
498  /// - false, otherwise.
499  bool IsSetLabel(void) const;
500 
501  /// Check if it is safe to call GetLabel method.
502  ///
503  /// @return
504  /// - true, if the data member is getatable.
505  /// - false, otherwise.
506  bool CanGetLabel(void) const;
507 
508  /// Reset Label data member.
509  void ResetLabel(void);
510 
511  /// Get the Label member data.
512  ///
513  /// @return
514  /// Reference to the member data.
515  const TLabel& GetLabel(void) const;
516 
517  /// Assign a value to Label data member.
518  ///
519  /// @param value
520  /// Value to assign
521  void SetLabel(const TLabel& value);
522  void SetLabel(TLabel&& value);
523 
524  /// Assign a value to Label data member.
525  ///
526  /// @return
527  /// Reference to the data value.
528  TLabel& SetLabel(void);
529 
530  /// Reset the whole object
531  void Reset(void);
532 
533 
534  private:
535  // Prohibit copy constructor and assignment operator
538 
539  // data
551  };
552  /////////////////////////////////////////////////////////////////////////////
553  ///
554  /// C_TPI --
555  ///
556 
557  class C_TPI : public NCBI_NS_NCBI::CSerialObject
558  {
559  typedef NCBI_NS_NCBI::CSerialObject Tparent;
560  public:
561  // constructor
562  C_TPI(void);
563  // destructor
564  ~C_TPI(void);
565 
566  // type info
568 
569 
570  /// Choice variants.
571  enum E_Choice {
572  e_not_set = 0, ///< No variant selected
576  };
577  /// Maximum+1 value of the choice variant enumerator.
579  e_MaxChoice = 4 ///< == e_ItemGroup+1
580  };
581 
582  /// Reset the whole object
583  void Reset(void);
584 
585  /// Reset the selection (set it to e_not_set).
586  void ResetSelection(void);
587 
588  /// Which variant is currently selected.
589  ///
590  /// @return
591  /// Choice state enumerator.
592  E_Choice Which(void) const;
593 
594  /// Verify selection, throw exception if it differs from the expected.
595  ///
596  /// @param index
597  /// Expected selection.
598  void CheckSelected(E_Choice index) const;
599 
600  /// Throw 'InvalidSelection' exception.
601  ///
602  /// @param index
603  /// Expected selection.
604  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
605 
606  /// Retrieve selection name (for diagnostic purposes).
607  ///
608  /// @param index
609  /// One of possible selection states.
610  /// @return
611  /// Name string.
613 
614  /// Select the requested variant if needed.
615  ///
616  /// @param index
617  /// New selection state.
618  /// @param reset
619  /// Flag that defines the resetting of the variant data. The data will
620  /// be reset if either the current selection differs from the new one,
621  /// or the flag is set to eDoResetVariant.
623  /// Select the requested variant if needed,
624  /// allocating CObject variants from memory pool.
625  void Select(E_Choice index,
627  NCBI_NS_NCBI::CObjectMemoryPool* pool);
628 
629  // types
630  typedef CTask TTask;
633 
634  // getters
635  // setters
636 
637 
638  /// Check if variant Task is selected.
639  ///
640  /// Task type is defined as 'typedef CTask TTask'.
641  /// @return
642  /// - true, if the variant is selected.
643  /// - false, otherwise.
644  bool IsTask(void) const;
645 
646  /// Get the variant data.
647  ///
648  /// @return
649  /// Reference to the data.
650  const TTask& GetTask(void) const;
651 
652  /// Select the variant.
653  ///
654  /// @return
655  /// Reference to the variant data.
656  TTask& SetTask(void);
657  /// Select the variant and set its data.
658  ///
659  /// @param value
660  /// Reference to the data.
661  void SetTask(TTask& value);
662 
663 
664  /// Check if variant PropertyGroup is selected.
665  ///
666  /// PropertyGroup type is defined as 'typedef CPropertyGroup TPropertyGroup'.
667  /// @return
668  /// - true, if the variant is selected.
669  /// - false, otherwise.
670  bool IsPropertyGroup(void) const;
671 
672  /// Get the variant data.
673  ///
674  /// @return
675  /// Reference to the data.
676  const TPropertyGroup& GetPropertyGroup(void) const;
677 
678  /// Select the variant.
679  ///
680  /// @return
681  /// Reference to the variant data.
683  /// Select the variant and set its data.
684  ///
685  /// @param value
686  /// Reference to the data.
688 
689 
690  /// Check if variant ItemGroup is selected.
691  ///
692  /// ItemGroup type is defined as 'typedef CItemGroup TItemGroup'.
693  /// @return
694  /// - true, if the variant is selected.
695  /// - false, otherwise.
696  bool IsItemGroup(void) const;
697 
698  /// Get the variant data.
699  ///
700  /// @return
701  /// Reference to the data.
702  const TItemGroup& GetItemGroup(void) const;
703 
704  /// Select the variant.
705  ///
706  /// @return
707  /// Reference to the variant data.
708  TItemGroup& SetItemGroup(void);
709  /// Select the variant and set its data.
710  ///
711  /// @param value
712  /// Reference to the data.
714 
715 
716  private:
717  // copy constructor and assignment operator
718  C_TPI(const C_TPI& );
719  C_TPI& operator=(const C_TPI& );
720  // choice state
722  // helper methods
723  void DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool* pool = 0);
724 
725  static const char* const sm_SelectionNames[];
726  // data
727  NCBI_NS_NCBI::CSerialObject *m_object;
728  };
729  // types
731  typedef C_TPI TTPI;
732  typedef NCBI_NS_STD::list< NCBI_NS_NCBI::CRef< COnError > > TOnError;
733 
734  // member index
735  enum class E_memberIndex {
736  e__allMandatory = 0,
737  e_Attlist,
738  e_TPI,
739  e_OnError
740  };
741  typedef Tparent::CMemberIndex<E_memberIndex, 4> TmemberIndex;
742 
743  // getters
744  // setters
745 
746  /// Check if a value has been assigned to Attlist data member.
747  ///
748  /// Data member Attlist is mandatory;
749  /// its type is defined as 'typedef C_Attlist TAttlist'
750  /// @return
751  /// - true, if a value has been assigned.
752  /// - false, otherwise.
753  bool IsSetAttlist(void) const;
754 
755  /// Check if it is safe to call GetAttlist method.
756  ///
757  /// @return
758  /// - true, if the data member is getatable.
759  /// - false, otherwise.
760  bool CanGetAttlist(void) const;
761 
762  /// Reset Attlist data member.
763  void ResetAttlist(void);
764 
765  /// Get the Attlist member data.
766  ///
767  /// @return
768  /// Reference to the member data.
769  const TAttlist& GetAttlist(void) const;
770 
771  /// Assign a value to Attlist data member.
772  ///
773  /// @param value
774  /// Reference to value.
775  void SetAttlist(TAttlist& value);
776 
777  /// Assign a value to Attlist data member.
778  ///
779  /// @return
780  /// Reference to the data value.
781  TAttlist& SetAttlist(void);
782 
783  /// Check if a value has been assigned to TPI data member.
784  ///
785  /// Data member TPI is mandatory;
786  /// its type is defined as 'typedef C_TPI TTPI'
787  /// @return
788  /// - true, if a value has been assigned.
789  /// - false, otherwise.
790  bool IsSetTPI(void) const;
791 
792  /// Check if it is safe to call GetTPI method.
793  ///
794  /// @return
795  /// - true, if the data member is getatable.
796  /// - false, otherwise.
797  bool CanGetTPI(void) const;
798 
799  /// Reset TPI data member.
800  void ResetTPI(void);
801 
802  /// Get the TPI member data.
803  ///
804  /// @return
805  /// Reference to the member data.
806  const TTPI& GetTPI(void) const;
807 
808  /// Assign a value to TPI data member.
809  ///
810  /// @param value
811  /// Reference to value.
812  void SetTPI(TTPI& value);
813 
814  /// Assign a value to TPI data member.
815  ///
816  /// @return
817  /// Reference to the data value.
818  TTPI& SetTPI(void);
819 
820  /// Check if a value has been assigned to OnError data member.
821  ///
822  /// Data member OnError is optional;
823  /// its type is defined as 'typedef NCBI_NS_STD::list< NCBI_NS_NCBI::CRef< COnError > > TOnError'
824  /// @return
825  /// - true, if a value has been assigned.
826  /// - false, otherwise.
827  bool IsSetOnError(void) const;
828 
829  /// Check if it is safe to call GetOnError method.
830  ///
831  /// @return
832  /// - true, if the data member is getatable.
833  /// - false, otherwise.
834  bool CanGetOnError(void) const;
835 
836  /// Reset OnError data member.
837  void ResetOnError(void);
838 
839  /// Get the OnError member data.
840  ///
841  /// @return
842  /// Reference to the member data.
843  const TOnError& GetOnError(void) const;
844 
845  /// Assign a value to OnError data member.
846  ///
847  /// @return
848  /// Reference to the data value.
849  TOnError& SetOnError(void);
850 
851  /// Reset the whole object
852  virtual void Reset(void);
853 
854 
855 private:
856  // Prohibit copy constructor and assignment operator
859 
860  // data
862  NCBI_NS_NCBI::CRef< TAttlist > m_Attlist;
863  NCBI_NS_NCBI::CRef< TTPI > m_TPI;
864  NCBI_NS_STD::list< NCBI_NS_NCBI::CRef< COnError > > m_OnError;
865 };
866 
867 /* @} */
868 
869 
870 
871 
872 
873 ///////////////////////////////////////////////////////////
874 ///////////////////// inline methods //////////////////////
875 ///////////////////////////////////////////////////////////
876 inline
878 {
879  return ((m_set_State[0] & 0x3) != 0);
880 }
881 
882 inline
884 {
885  return IsSetName();
886 }
887 
888 inline
890 {
891  if (!CanGetName()) {
892  ThrowUnassigned(0);
893  }
894  return m_Name;
895 }
896 
897 inline
899 {
900  m_Name = value;
901  m_set_State[0] |= 0x3;
902 }
903 
904 inline
906 {
907  m_Name = std::forward<CTargetType_Base::C_Attlist::TName>(value);
908  m_set_State[0] |= 0x3;
909 }
910 
911 inline
913 {
914 #ifdef _DEBUG
915  if (!IsSetName()) {
916  m_Name = UnassignedString();
917  }
918 #endif
919  m_set_State[0] |= 0x1;
920  return m_Name;
921 }
922 
923 inline
925 {
926  return ((m_set_State[0] & 0xc) != 0);
927 }
928 
929 inline
931 {
932  return IsSetDependsOnTargets();
933 }
934 
935 inline
937 {
938  if (!CanGetDependsOnTargets()) {
939  ThrowUnassigned(1);
940  }
941  return m_DependsOnTargets;
942 }
943 
944 inline
946 {
947  m_DependsOnTargets = value;
948  m_set_State[0] |= 0xc;
949 }
950 
951 inline
953 {
954  m_DependsOnTargets = std::forward<CTargetType_Base::C_Attlist::TDependsOnTargets>(value);
955  m_set_State[0] |= 0xc;
956 }
957 
958 inline
960 {
961 #ifdef _DEBUG
962  if (!IsSetDependsOnTargets()) {
963  m_DependsOnTargets = UnassignedString();
964  }
965 #endif
966  m_set_State[0] |= 0x4;
967  return m_DependsOnTargets;
968 }
969 
970 inline
972 {
973  return ((m_set_State[0] & 0x30) != 0);
974 }
975 
976 inline
978 {
979  return IsSetInputs();
980 }
981 
982 inline
984 {
985  if (!CanGetInputs()) {
986  ThrowUnassigned(2);
987  }
988  return m_Inputs;
989 }
990 
991 inline
993 {
994  m_Inputs = value;
995  m_set_State[0] |= 0x30;
996 }
997 
998 inline
1000 {
1001  m_Inputs = std::forward<CTargetType_Base::C_Attlist::TInputs>(value);
1002  m_set_State[0] |= 0x30;
1003 }
1004 
1005 inline
1007 {
1008 #ifdef _DEBUG
1009  if (!IsSetInputs()) {
1010  m_Inputs = UnassignedString();
1011  }
1012 #endif
1013  m_set_State[0] |= 0x10;
1014  return m_Inputs;
1015 }
1016 
1017 inline
1019 {
1020  return ((m_set_State[0] & 0xc0) != 0);
1021 }
1022 
1023 inline
1025 {
1026  return IsSetOutputs();
1027 }
1028 
1029 inline
1031 {
1032  if (!CanGetOutputs()) {
1033  ThrowUnassigned(3);
1034  }
1035  return m_Outputs;
1036 }
1037 
1038 inline
1040 {
1041  m_Outputs = value;
1042  m_set_State[0] |= 0xc0;
1043 }
1044 
1045 inline
1047 {
1048  m_Outputs = std::forward<CTargetType_Base::C_Attlist::TOutputs>(value);
1049  m_set_State[0] |= 0xc0;
1050 }
1051 
1052 inline
1054 {
1055 #ifdef _DEBUG
1056  if (!IsSetOutputs()) {
1057  m_Outputs = UnassignedString();
1058  }
1059 #endif
1060  m_set_State[0] |= 0x40;
1061  return m_Outputs;
1062 }
1063 
1064 inline
1066 {
1067  return ((m_set_State[0] & 0x300) != 0);
1068 }
1069 
1070 inline
1072 {
1073  return IsSetCondition();
1074 }
1075 
1076 inline
1078 {
1079  if (!CanGetCondition()) {
1080  ThrowUnassigned(4);
1081  }
1082  return m_Condition;
1083 }
1084 
1085 inline
1087 {
1088  m_Condition = value;
1089  m_set_State[0] |= 0x300;
1090 }
1091 
1092 inline
1094 {
1095  m_Condition = std::forward<CTargetType_Base::C_Attlist::TCondition>(value);
1096  m_set_State[0] |= 0x300;
1097 }
1098 
1099 inline
1101 {
1102 #ifdef _DEBUG
1103  if (!IsSetCondition()) {
1104  m_Condition = UnassignedString();
1105  }
1106 #endif
1107  m_set_State[0] |= 0x100;
1108  return m_Condition;
1109 }
1110 
1111 inline
1113 {
1114  return ((m_set_State[0] & 0xc00) != 0);
1115 }
1116 
1117 inline
1119 {
1120  return IsSetKeepDuplicateOutputs();
1121 }
1122 
1123 inline
1125 {
1126  if (!CanGetKeepDuplicateOutputs()) {
1127  ThrowUnassigned(5);
1128  }
1129  return m_KeepDuplicateOutputs;
1130 }
1131 
1132 inline
1134 {
1135  m_KeepDuplicateOutputs = value;
1136  m_set_State[0] |= 0xc00;
1137 }
1138 
1139 inline
1141 {
1142  m_KeepDuplicateOutputs = std::forward<CTargetType_Base::C_Attlist::TKeepDuplicateOutputs>(value);
1143  m_set_State[0] |= 0xc00;
1144 }
1145 
1146 inline
1148 {
1149 #ifdef _DEBUG
1150  if (!IsSetKeepDuplicateOutputs()) {
1151  m_KeepDuplicateOutputs = UnassignedString();
1152  }
1153 #endif
1154  m_set_State[0] |= 0x400;
1155  return m_KeepDuplicateOutputs;
1156 }
1157 
1158 inline
1160 {
1161  return ((m_set_State[0] & 0x3000) != 0);
1162 }
1163 
1164 inline
1166 {
1167  return IsSetReturns();
1168 }
1169 
1170 inline
1172 {
1173  if (!CanGetReturns()) {
1174  ThrowUnassigned(6);
1175  }
1176  return m_Returns;
1177 }
1178 
1179 inline
1181 {
1182  m_Returns = value;
1183  m_set_State[0] |= 0x3000;
1184 }
1185 
1186 inline
1188 {
1189  m_Returns = std::forward<CTargetType_Base::C_Attlist::TReturns>(value);
1190  m_set_State[0] |= 0x3000;
1191 }
1192 
1193 inline
1195 {
1196 #ifdef _DEBUG
1197  if (!IsSetReturns()) {
1198  m_Returns = UnassignedString();
1199  }
1200 #endif
1201  m_set_State[0] |= 0x1000;
1202  return m_Returns;
1203 }
1204 
1205 inline
1207 {
1208  return ((m_set_State[0] & 0xc000) != 0);
1209 }
1210 
1211 inline
1213 {
1214  return IsSetBeforeTargets();
1215 }
1216 
1217 inline
1219 {
1220  if (!CanGetBeforeTargets()) {
1221  ThrowUnassigned(7);
1222  }
1223  return m_BeforeTargets;
1224 }
1225 
1226 inline
1228 {
1229  m_BeforeTargets = value;
1230  m_set_State[0] |= 0xc000;
1231 }
1232 
1233 inline
1235 {
1236  m_BeforeTargets = std::forward<CTargetType_Base::C_Attlist::TBeforeTargets>(value);
1237  m_set_State[0] |= 0xc000;
1238 }
1239 
1240 inline
1242 {
1243 #ifdef _DEBUG
1244  if (!IsSetBeforeTargets()) {
1245  m_BeforeTargets = UnassignedString();
1246  }
1247 #endif
1248  m_set_State[0] |= 0x4000;
1249  return m_BeforeTargets;
1250 }
1251 
1252 inline
1254 {
1255  return ((m_set_State[0] & 0x30000) != 0);
1256 }
1257 
1258 inline
1260 {
1261  return IsSetAfterTargets();
1262 }
1263 
1264 inline
1266 {
1267  if (!CanGetAfterTargets()) {
1268  ThrowUnassigned(8);
1269  }
1270  return m_AfterTargets;
1271 }
1272 
1273 inline
1275 {
1276  m_AfterTargets = value;
1277  m_set_State[0] |= 0x30000;
1278 }
1279 
1280 inline
1282 {
1283  m_AfterTargets = std::forward<CTargetType_Base::C_Attlist::TAfterTargets>(value);
1284  m_set_State[0] |= 0x30000;
1285 }
1286 
1287 inline
1289 {
1290 #ifdef _DEBUG
1291  if (!IsSetAfterTargets()) {
1292  m_AfterTargets = UnassignedString();
1293  }
1294 #endif
1295  m_set_State[0] |= 0x10000;
1296  return m_AfterTargets;
1297 }
1298 
1299 inline
1301 {
1302  return ((m_set_State[0] & 0xc0000) != 0);
1303 }
1304 
1305 inline
1307 {
1308  return IsSetLabel();
1309 }
1310 
1311 inline
1313 {
1314  if (!CanGetLabel()) {
1315  ThrowUnassigned(9);
1316  }
1317  return m_Label;
1318 }
1319 
1320 inline
1322 {
1323  m_Label = value;
1324  m_set_State[0] |= 0xc0000;
1325 }
1326 
1327 inline
1329 {
1330  m_Label = std::forward<CTargetType_Base::C_Attlist::TLabel>(value);
1331  m_set_State[0] |= 0xc0000;
1332 }
1333 
1334 inline
1336 {
1337 #ifdef _DEBUG
1338  if (!IsSetLabel()) {
1339  m_Label = UnassignedString();
1340  }
1341 #endif
1342  m_set_State[0] |= 0x40000;
1343  return m_Label;
1344 }
1345 
1346 inline
1348 {
1349  return m_choice;
1350 }
1351 
1352 inline
1354 {
1355  if ( m_choice != index )
1356  ThrowInvalidSelection(index);
1357 }
1358 
1359 inline
1360 void CTargetType_Base::C_TPI::Select(E_Choice index, NCBI_NS_NCBI::EResetVariant reset, NCBI_NS_NCBI::CObjectMemoryPool* pool)
1361 {
1362  if ( reset == NCBI_NS_NCBI::eDoResetVariant || m_choice != index ) {
1363  if ( m_choice != e_not_set )
1364  ResetSelection();
1365  DoSelect(index, pool);
1366  }
1367 }
1368 
1369 inline
1371 {
1372  Select(index, reset, 0);
1373 }
1374 
1375 inline
1377 {
1378  return m_choice == e_Task;
1379 }
1380 
1381 inline
1383 {
1384  return m_choice == e_PropertyGroup;
1385 }
1386 
1387 inline
1389 {
1390  return m_choice == e_ItemGroup;
1391 }
1392 
1393 inline
1395 {
1396  return m_Attlist.NotEmpty();
1397 }
1398 
1399 inline
1401 {
1402  return true;
1403 }
1404 
1405 inline
1407 {
1408  if ( !m_Attlist ) {
1409  const_cast<CTargetType_Base*>(this)->ResetAttlist();
1410  }
1411  return (*m_Attlist);
1412 }
1413 
1414 inline
1416 {
1417  if ( !m_Attlist ) {
1418  ResetAttlist();
1419  }
1420  return (*m_Attlist);
1421 }
1422 
1423 inline
1425 {
1426  return m_TPI.NotEmpty();
1427 }
1428 
1429 inline
1431 {
1432  return true;
1433 }
1434 
1435 inline
1437 {
1438  if ( !m_TPI ) {
1439  const_cast<CTargetType_Base*>(this)->ResetTPI();
1440  }
1441  return (*m_TPI);
1442 }
1443 
1444 inline
1446 {
1447  if ( !m_TPI ) {
1448  ResetTPI();
1449  }
1450  return (*m_TPI);
1451 }
1452 
1453 inline
1455 {
1456  return ((m_set_State[0] & 0x30) != 0);
1457 }
1458 
1459 inline
1461 {
1462  return true;
1463 }
1464 
1465 inline
1467 {
1468  return m_OnError;
1469 }
1470 
1471 inline
1473 {
1474  m_set_State[0] |= 0x10;
1475  return m_OnError;
1476 }
1477 
1478 ///////////////////////////////////////////////////////////
1479 ////////////////// end of inline methods //////////////////
1480 ///////////////////////////////////////////////////////////
1481 
1482 
1483 
1484 
1485 
1486 END_msbuild_SCOPE // namespace msbuild::
1487 
1488 
1489 #endif // msbuild__BUILD_SYSTEM_PROJECT_TREE_BUILDER_MSBUILD_TARGETTYPE_BASE_HPP
#define END_msbuild_SCOPE
Definition: TargetType_.hpp:53
#define BEGIN_msbuild_SCOPE
Definition: TargetType_.hpp:52
CItemGroup –.
Definition: ItemGroup.hpp:64
COnError –.
Definition: OnError.hpp:64
CPropertyGroup –.
Groups tasks into a section of the build process.
Definition: TargetType_.hpp:80
CTask –.
Definition: Task.hpp:64
char value[7]
Definition: config.c:431
string
Definition: cgiapp.hpp:687
EResetVariant
Definition: serialbase.hpp:76
@ eDoResetVariant
Definition: serialbase.hpp:77
uint32_t Uint4
4-byte (32-bit) unsigned integer
Definition: ncbitype.h:103
bool IsSetAttlist(void) const
Check if a value has been assigned to Attlist data member.
virtual void Reset(void)
Reset the whole object.
TKeepDuplicateOutputs & SetKeepDuplicateOutputs(void)
Assign a value to KeepDuplicateOutputs data member.
NCBI_NS_NCBI::CSerialObject * m_object
NCBI_NS_STD::string TBeforeTargets
bool IsSetBeforeTargets(void) const
Optional semi-colon separated list of targets that this target should run before.
TTPI & SetTPI(void)
Assign a value to TPI data member.
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
const TTask & GetTask(void) const
Get the variant data.
NCBI_NS_STD::string m_Outputs
CTargetType_Base(const CTargetType_Base &)
void ResetBeforeTargets(void)
Reset BeforeTargets data member.
Definition: TargetType_.cpp:94
const TReturns & GetReturns(void) const
Get the Returns member data.
void ResetLabel(void)
Reset Label data member.
const TCondition & GetCondition(void) const
Get the Condition member data.
NCBI_NS_NCBI::CSerialObject Tparent
Definition: TargetType_.hpp:98
void ResetAfterTargets(void)
Reset AfterTargets data member.
const TTPI & GetTPI(void) const
Get the TPI member data.
bool CanGetCondition(void) const
Check if it is safe to call GetCondition method.
NCBI_NS_NCBI::CSerialObject Tparent
C_TPI(const C_TPI &)
bool CanGetOnError(void) const
Check if it is safe to call GetOnError method.
C_Attlist TAttlist
bool IsSetTPI(void) const
Check if a value has been assigned to TPI data member.
void DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool *pool=0)
void ResetKeepDuplicateOutputs(void)
Reset KeepDuplicateOutputs data member.
Definition: TargetType_.cpp:82
void ResetCondition(void)
Reset Condition data member.
Definition: TargetType_.cpp:76
TReturns & SetReturns(void)
Assign a value to Returns data member.
static const char *const sm_SelectionNames[]
NCBI_NS_NCBI::CRef< TTPI > m_TPI
TLabel & SetLabel(void)
Assign a value to Label data member.
C_Attlist & operator=(const C_Attlist &)
NCBI_NS_STD::string TInputs
bool IsSetReturns(void) const
Optional expression evaluated to determine which items generated by the target should be returned by ...
const TPropertyGroup & GetPropertyGroup(void) const
Get the variant data.
const TBeforeTargets & GetBeforeTargets(void) const
Get the BeforeTargets member data.
bool CanGetLabel(void) const
Check if it is safe to call GetLabel method.
bool CanGetAfterTargets(void) const
Check if it is safe to call GetAfterTargets method.
bool CanGetReturns(void) const
Check if it is safe to call GetReturns method.
bool IsSetInputs(void) const
Optional semi-colon separated list of files that form inputs into this target.
void ResetDependsOnTargets(void)
Reset DependsOnTargets data member.
Definition: TargetType_.cpp:58
NCBI_NS_NCBI::CRef< TAttlist > m_Attlist
static NCBI_NS_STD::string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
void Reset(void)
Reset the whole object.
Uint4 m_set_State[1]
bool IsSetName(void) const
no elements are allowed under Target after an OnError element Name of the target Check if a value has...
void ResetOutputs(void)
Reset Outputs data member.
Definition: TargetType_.cpp:70
const TItemGroup & GetItemGroup(void) const
Get the variant data.
CTargetType_Base & operator=(const CTargetType_Base &)
void ResetTPI(void)
Reset TPI data member.
bool CanGetBeforeTargets(void) const
Check if it is safe to call GetBeforeTargets method.
const TAfterTargets & GetAfterTargets(void) const
Get the AfterTargets member data.
TOutputs & SetOutputs(void)
Assign a value to Outputs data member.
void ResetReturns(void)
Reset Returns data member.
Definition: TargetType_.cpp:88
NCBI_NS_STD::string TKeepDuplicateOutputs
TItemGroup & SetItemGroup(void)
Select the variant.
NCBI_NS_STD::string TReturns
NCBI_NS_STD::string TCondition
bool CanGetInputs(void) const
Check if it is safe to call GetInputs method.
NCBI_NS_STD::string m_DependsOnTargets
bool IsSetLabel(void) const
Optional expression.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
bool CanGetAttlist(void) const
Check if it is safe to call GetAttlist method.
bool CanGetTPI(void) const
Check if it is safe to call GetTPI method.
bool CanGetOutputs(void) const
Check if it is safe to call GetOutputs method.
TName & SetName(void)
Assign a value to Name data member.
NCBI_NS_STD::string m_Label
Tparent::CMemberIndex< E_memberIndex, 4 > TmemberIndex
bool IsSetOutputs(void) const
Optional semi-colon separated list of files that form outputs into this target.
NCBI_NS_STD::string m_Name
TOnError & SetOnError(void)
Assign a value to OnError data member.
NCBI_NS_STD::string TDependsOnTargets
NCBI_NS_STD::string m_Inputs
void ResetInputs(void)
Reset Inputs data member.
Definition: TargetType_.cpp:64
TAttlist & SetAttlist(void)
Assign a value to Attlist data member.
void ResetOnError(void)
Reset OnError data member.
NCBI_NS_STD::string m_Condition
E_ChoiceStopper
Maximum+1 value of the choice variant enumerator.
void ResetName(void)
Reset Name data member.
Definition: TargetType_.cpp:52
E_Choice Which(void) const
Which variant is currently selected.
NCBI_NS_STD::string TOutputs
TCondition & SetCondition(void)
Assign a value to Condition data member.
bool IsItemGroup(void) const
Check if variant ItemGroup is selected.
TPropertyGroup & SetPropertyGroup(void)
Select the variant.
NCBI_NS_STD::string m_AfterTargets
TTask & SetTask(void)
Select the variant.
NCBI_NS_STD::string m_Returns
const TLabel & GetLabel(void) const
Get the Label member data.
bool CanGetKeepDuplicateOutputs(void) const
Check if it is safe to call GetKeepDuplicateOutputs method.
TInputs & SetInputs(void)
Assign a value to Inputs data member.
bool IsSetKeepDuplicateOutputs(void) const
Optional expression evaluated to determine whether duplicate items in the Target's Returns should be ...
CPropertyGroup TPropertyGroup
bool IsPropertyGroup(void) const
Check if variant PropertyGroup is selected.
bool CanGetName(void) const
Check if it is safe to call GetName method.
bool IsTask(void) const
Check if variant Task is selected.
NCBI_NS_STD::string TLabel
Tparent::CMemberIndex< E_memberIndex, 11 > TmemberIndex
NCBI_NS_STD::list< NCBI_NS_NCBI::CRef< COnError > > TOnError
void ResetSelection(void)
Reset the selection (set it to e_not_set).
bool IsSetAfterTargets(void) const
Optional semi-colon separated list of targets that this target should run after.
C_TPI & operator=(const C_TPI &)
NCBI_NS_STD::string m_BeforeTargets
NCBI_NS_STD::string m_KeepDuplicateOutputs
const TInputs & GetInputs(void) const
Get the Inputs member data.
const TKeepDuplicateOutputs & GetKeepDuplicateOutputs(void) const
Get the KeepDuplicateOutputs member data.
bool CanGetDependsOnTargets(void) const
Check if it is safe to call GetDependsOnTargets method.
E_Choice
Choice variants.
TDependsOnTargets & SetDependsOnTargets(void)
Assign a value to DependsOnTargets data member.
NCBI_NS_STD::string TName
const TName & GetName(void) const
Get the Name member data.
const TOutputs & GetOutputs(void) const
Get the Outputs member data.
void ResetAttlist(void)
Reset Attlist data member.
bool IsSetOnError(void) const
Check if a value has been assigned to OnError data member.
TAfterTargets & SetAfterTargets(void)
Assign a value to AfterTargets data member.
NCBI_NS_NCBI::CSerialObject Tparent
Definition: TargetType_.hpp:81
const TAttlist & GetAttlist(void) const
Get the Attlist member data.
C_Attlist(const C_Attlist &)
void Reset(void)
Reset the whole object.
const TDependsOnTargets & GetDependsOnTargets(void) const
Get the DependsOnTargets member data.
NCBI_NS_STD::list< NCBI_NS_NCBI::CRef< COnError > > m_OnError
virtual ~CTargetType_Base(void)
bool IsSetDependsOnTargets(void) const
Optional semi-colon separated list of targets that should be run before this target Check if a value ...
void Select(E_Choice index, NCBI_NS_NCBI::EResetVariant reset=NCBI_NS_NCBI::eDoResetVariant)
Select the requested variant if needed.
NCBI_NS_STD::string TAfterTargets
bool IsSetCondition(void) const
Optional expression evaluated to determine whether the Target and the targets it depends on should be...
TBeforeTargets & SetBeforeTargets(void)
Assign a value to BeforeTargets data member.
const TOnError & GetOnError(void) const
Get the OnError member data.
@ e_MaxChoice
== e_ItemGroup+1
@ e_not_set
No variant selected.
@ e_not_set
Modified on Fri Dec 01 04:44:20 2023 by modify_doxy.py rev. 669887