NCBI C++ ToolKit
NativeReference_.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 NativeReference_.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_NATIVEREFERENCE_BASE_HPP
42 #define msbuild__BUILD_SYSTEM_PROJECT_TREE_BUILDER_MSBUILD_NATIVEREFERENCE_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 // generated classes
59 
60 
61 /** @addtogroup dataspec_msbuild_dataobj
62  *
63  * @{
64  */
65 
66 /////////////////////////////////////////////////////////////////////////////
67 ///Reference to a native manifest file, or to a file that contains a native manifest
68 ///
69 /// CNativeReference_Base --
70 ///
71 
72 class CNativeReference_Base : public NCBI_NS_NCBI::CSerialObject
73 {
74  typedef NCBI_NS_NCBI::CSerialObject Tparent;
75 public:
76  // constructor
78  // destructor
79  virtual ~CNativeReference_Base(void);
80 
81  // type info
83 
84  /////////////////////////////////////////////////////////////////////////////
85  ///
86  /// C_Attlist --
87  ///
88 
89  class C_Attlist : public NCBI_NS_NCBI::CSerialObject
90  {
91  typedef NCBI_NS_NCBI::CSerialObject Tparent;
92  public:
93  // constructor
94  C_Attlist(void);
95  // destructor
96  ~C_Attlist(void);
97 
98  // type info
100 
101  // types
107 
108  // member index
109  enum class E_memberIndex {
110  e__allMandatory = 0,
111  e_Include,
112  e_Condition,
113  e_Exclude,
114  e_Remove,
115  e_Label
116  };
117  typedef Tparent::CMemberIndex<E_memberIndex, 6> TmemberIndex;
118 
119  // getters
120  // setters
121 
122  /// redefine Include just to give a specific description
123  /// Check if a value has been assigned to Include data member.
124  ///
125  /// Data member Include is optional;
126  /// its type is defined as 'typedef NCBI_NS_STD::string TInclude'
127  /// @return
128  /// - true, if a value has been assigned.
129  /// - false, otherwise.
130  bool IsSetInclude(void) const;
131 
132  /// Check if it is safe to call GetInclude method.
133  ///
134  /// @return
135  /// - true, if the data member is getatable.
136  /// - false, otherwise.
137  bool CanGetInclude(void) const;
138 
139  /// Reset Include data member.
140  void ResetInclude(void);
141 
142  /// Get the Include member data.
143  ///
144  /// @return
145  /// Reference to the member data.
146  const TInclude& GetInclude(void) const;
147 
148  /// Assign a value to Include data member.
149  ///
150  /// @param value
151  /// Value to assign
152  void SetInclude(const TInclude& value);
153  void SetInclude(TInclude&& value);
154 
155  /// Assign a value to Include data member.
156  ///
157  /// @return
158  /// Reference to the data value.
159  TInclude& SetInclude(void);
160 
161  ///Optional expression evaluated to determine whether the items should be evaluated
162  /// Check if a value has been assigned to Condition data member.
163  ///
164  /// Data member Condition is optional;
165  /// its type is defined as 'typedef NCBI_NS_STD::string TCondition'
166  /// @return
167  /// - true, if a value has been assigned.
168  /// - false, otherwise.
169  bool IsSetCondition(void) const;
170 
171  /// Check if it is safe to call GetCondition method.
172  ///
173  /// @return
174  /// - true, if the data member is getatable.
175  /// - false, otherwise.
176  bool CanGetCondition(void) const;
177 
178  /// Reset Condition data member.
179  void ResetCondition(void);
180 
181  /// Get the Condition member data.
182  ///
183  /// @return
184  /// Reference to the member data.
185  const TCondition& GetCondition(void) const;
186 
187  /// Assign a value to Condition data member.
188  ///
189  /// @param value
190  /// Value to assign
191  void SetCondition(const TCondition& value);
192  void SetCondition(TCondition&& value);
193 
194  /// Assign a value to Condition data member.
195  ///
196  /// @return
197  /// Reference to the data value.
198  TCondition& SetCondition(void);
199 
200  ///Semi-colon separated list of files (wildcards are allowed) or other item names to exclude from the Include list
201  /// Check if a value has been assigned to Exclude data member.
202  ///
203  /// Data member Exclude is optional;
204  /// its type is defined as 'typedef NCBI_NS_STD::string TExclude'
205  /// @return
206  /// - true, if a value has been assigned.
207  /// - false, otherwise.
208  bool IsSetExclude(void) const;
209 
210  /// Check if it is safe to call GetExclude method.
211  ///
212  /// @return
213  /// - true, if the data member is getatable.
214  /// - false, otherwise.
215  bool CanGetExclude(void) const;
216 
217  /// Reset Exclude data member.
218  void ResetExclude(void);
219 
220  /// Get the Exclude member data.
221  ///
222  /// @return
223  /// Reference to the member data.
224  const TExclude& GetExclude(void) const;
225 
226  /// Assign a value to Exclude data member.
227  ///
228  /// @param value
229  /// Value to assign
230  void SetExclude(const TExclude& value);
231  void SetExclude(TExclude&& value);
232 
233  /// Assign a value to Exclude data member.
234  ///
235  /// @return
236  /// Reference to the data value.
237  TExclude& SetExclude(void);
238 
239  ///Semi-colon separated list of files (wildcards are allowed) or other item names to remove from the existing list contents
240  /// Check if a value has been assigned to Remove data member.
241  ///
242  /// Data member Remove is optional;
243  /// its type is defined as 'typedef NCBI_NS_STD::string TRemove'
244  /// @return
245  /// - true, if a value has been assigned.
246  /// - false, otherwise.
247  bool IsSetRemove(void) const;
248 
249  /// Check if it is safe to call GetRemove method.
250  ///
251  /// @return
252  /// - true, if the data member is getatable.
253  /// - false, otherwise.
254  bool CanGetRemove(void) const;
255 
256  /// Reset Remove data member.
257  void ResetRemove(void);
258 
259  /// Get the Remove member data.
260  ///
261  /// @return
262  /// Reference to the member data.
263  const TRemove& GetRemove(void) const;
264 
265  /// Assign a value to Remove data member.
266  ///
267  /// @param value
268  /// Value to assign
269  void SetRemove(const TRemove& value);
270  void SetRemove(TRemove&& value);
271 
272  /// Assign a value to Remove data member.
273  ///
274  /// @return
275  /// Reference to the data value.
276  TRemove& SetRemove(void);
277 
278  /// Optional expression. Used to identify or order system and user elements
279  /// Check if a value has been assigned to Label data member.
280  ///
281  /// Data member Label is optional;
282  /// its type is defined as 'typedef NCBI_NS_STD::string TLabel'
283  /// @return
284  /// - true, if a value has been assigned.
285  /// - false, otherwise.
286  bool IsSetLabel(void) const;
287 
288  /// Check if it is safe to call GetLabel method.
289  ///
290  /// @return
291  /// - true, if the data member is getatable.
292  /// - false, otherwise.
293  bool CanGetLabel(void) const;
294 
295  /// Reset Label data member.
296  void ResetLabel(void);
297 
298  /// Get the Label member data.
299  ///
300  /// @return
301  /// Reference to the member data.
302  const TLabel& GetLabel(void) const;
303 
304  /// Assign a value to Label data member.
305  ///
306  /// @param value
307  /// Value to assign
308  void SetLabel(const TLabel& value);
309  void SetLabel(TLabel&& value);
310 
311  /// Assign a value to Label data member.
312  ///
313  /// @return
314  /// Reference to the data value.
315  TLabel& SetLabel(void);
316 
317  /// Reset the whole object
318  void Reset(void);
319 
320 
321  private:
322  // Prohibit copy constructor and assignment operator
325 
326  // data
333  };
334  /////////////////////////////////////////////////////////////////////////////
335  ///Reference to a native manifest file, or to a file that contains a native manifest
336  ///
337  /// C_E_NativeReference --
338  ///
339 
340  class C_E_NativeReference : public NCBI_NS_NCBI::CSerialObject
341  {
342  typedef NCBI_NS_NCBI::CSerialObject Tparent;
343  public:
344  // constructor
345  C_E_NativeReference(void);
346  // destructor
347  ~C_E_NativeReference(void);
348 
349  // type info
351 
352  /////////////////////////////////////////////////////////////////////////////
353  ///
354  /// C_NH --
355  ///
356 
357  class C_NH : public NCBI_NS_NCBI::CSerialObject
358  {
359  typedef NCBI_NS_NCBI::CSerialObject Tparent;
360  public:
361  // constructor
362  C_NH(void);
363  // destructor
364  ~C_NH(void);
365 
366  // type info
368 
369 
370  /// Choice variants.
371  enum E_Choice {
372  e_not_set = 0, ///< No variant selected
373  e_Name, ///<Base name of manifest file
374  e_HintPath ///<Relative path to manifest file
375  };
376  /// Maximum+1 value of the choice variant enumerator.
378  e_MaxChoice = 3 ///< == e_HintPath+1
379  };
380 
381  /// Reset the whole object
382  void Reset(void);
383 
384  /// Reset the selection (set it to e_not_set).
385  void ResetSelection(void);
386 
387  /// Which variant is currently selected.
388  ///
389  /// @return
390  /// Choice state enumerator.
391  E_Choice Which(void) const;
392 
393  /// Verify selection, throw exception if it differs from the expected.
394  ///
395  /// @param index
396  /// Expected selection.
397  void CheckSelected(E_Choice index) const;
398 
399  /// Throw 'InvalidSelection' exception.
400  ///
401  /// @param index
402  /// Expected selection.
403  NCBI_NORETURN void ThrowInvalidSelection(E_Choice index) const;
404 
405  /// Retrieve selection name (for diagnostic purposes).
406  ///
407  /// @param index
408  /// One of possible selection states.
409  /// @return
410  /// Name string.
412 
413  /// Select the requested variant if needed.
414  ///
415  /// @param index
416  /// New selection state.
417  /// @param reset
418  /// Flag that defines the resetting of the variant data. The data will
419  /// be reset if either the current selection differs from the new one,
420  /// or the flag is set to eDoResetVariant.
422  /// Select the requested variant if needed,
423  /// allocating CObject variants from memory pool.
424  void Select(E_Choice index,
426  NCBI_NS_NCBI::CObjectMemoryPool* pool);
427 
428  // types
431 
432  // getters
433  // setters
434 
435 
436  /// Check if variant Name is selected.
437  ///
438  /// Name type is defined as 'typedef NCBI_NS_STD::string TName'.
439  /// @return
440  /// - true, if the variant is selected.
441  /// - false, otherwise.
442  bool IsName(void) const;
443 
444  /// Get the variant data.
445  ///
446  /// @return
447  /// Reference to the data.
448  const TName& GetName(void) const;
449 
450  /// Select the variant.
451  ///
452  /// @return
453  /// Reference to the variant data.
454  TName& SetName(void);
455 
456  /// Select the variant and set its data.
457  ///
458  /// @param value
459  /// Variant data.
460  void SetName(const TName& value);
461 
462 
463  /// Check if variant HintPath is selected.
464  ///
465  /// HintPath type is defined as 'typedef NCBI_NS_STD::string THintPath'.
466  /// @return
467  /// - true, if the variant is selected.
468  /// - false, otherwise.
469  bool IsHintPath(void) const;
470 
471  /// Get the variant data.
472  ///
473  /// @return
474  /// Reference to the data.
475  const THintPath& GetHintPath(void) const;
476 
477  /// Select the variant.
478  ///
479  /// @return
480  /// Reference to the variant data.
481  THintPath& SetHintPath(void);
482 
483  /// Select the variant and set its data.
484  ///
485  /// @param value
486  /// Variant data.
487  void SetHintPath(const THintPath& value);
488 
489 
490  private:
491  // copy constructor and assignment operator
492  C_NH(const C_NH& );
493  C_NH& operator=(const C_NH& );
494  // choice state
496  // helper methods
497  void DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool* pool = 0);
498 
499  static const char* const sm_SelectionNames[];
500  // data
501  union {
502  NCBI_NS_NCBI::CUnionBuffer<NCBI_NS_STD::string> m_string;
504  };
505  };
506  // types
507  typedef C_NH TNH;
508 
509  // member index
510  enum class E_memberIndex {
511  e__allMandatory = 0,
512  e_NH
513  };
514  typedef Tparent::CMemberIndex<E_memberIndex, 2> TmemberIndex;
515 
516  // getters
517  // setters
518 
519  /// Check if a value has been assigned to NH data member.
520  ///
521  /// Data member NH is mandatory;
522  /// its type is defined as 'typedef C_NH TNH'
523  /// @return
524  /// - true, if a value has been assigned.
525  /// - false, otherwise.
526  bool IsSetNH(void) const;
527 
528  /// Check if it is safe to call GetNH method.
529  ///
530  /// @return
531  /// - true, if the data member is getatable.
532  /// - false, otherwise.
533  bool CanGetNH(void) const;
534 
535  /// Reset NH data member.
536  void ResetNH(void);
537 
538  /// Get the NH member data.
539  ///
540  /// @return
541  /// Reference to the member data.
542  const TNH& GetNH(void) const;
543 
544  /// Assign a value to NH data member.
545  ///
546  /// @param value
547  /// Reference to value.
548  void SetNH(TNH& value);
549 
550  /// Assign a value to NH data member.
551  ///
552  /// @return
553  /// Reference to the data value.
554  TNH& SetNH(void);
555 
556  /// Reset the whole object
557  void Reset(void);
558 
559 
560  private:
561  // Prohibit copy constructor and assignment operator
564 
565  // data
567  NCBI_NS_NCBI::CRef< TNH > m_NH;
568  };
569  // types
572  typedef NCBI_NS_STD::list< NCBI_NS_NCBI::CRef< C_E_NativeReference > > TNativeReference;
573 
574  // member index
575  enum class E_memberIndex {
576  e__allMandatory = 0,
577  e_Attlist,
579  };
580  typedef Tparent::CMemberIndex<E_memberIndex, 3> TmemberIndex;
581 
582  // getters
583  // setters
584 
585  /// Check if a value has been assigned to Attlist data member.
586  ///
587  /// Data member Attlist is mandatory;
588  /// its type is defined as 'typedef C_Attlist TAttlist'
589  /// @return
590  /// - true, if a value has been assigned.
591  /// - false, otherwise.
592  bool IsSetAttlist(void) const;
593 
594  /// Check if it is safe to call GetAttlist method.
595  ///
596  /// @return
597  /// - true, if the data member is getatable.
598  /// - false, otherwise.
599  bool CanGetAttlist(void) const;
600 
601  /// Reset Attlist data member.
602  void ResetAttlist(void);
603 
604  /// Get the Attlist member data.
605  ///
606  /// @return
607  /// Reference to the member data.
608  const TAttlist& GetAttlist(void) const;
609 
610  /// Assign a value to Attlist data member.
611  ///
612  /// @param value
613  /// Reference to value.
614  void SetAttlist(TAttlist& value);
615 
616  /// Assign a value to Attlist data member.
617  ///
618  /// @return
619  /// Reference to the data value.
620  TAttlist& SetAttlist(void);
621 
622  /// Check if a value has been assigned to NativeReference data member.
623  ///
624  /// Data member NativeReference is optional;
625  /// its type is defined as 'typedef NCBI_NS_STD::list< NCBI_NS_NCBI::CRef< C_E_NativeReference > > TNativeReference'
626  /// @return
627  /// - true, if a value has been assigned.
628  /// - false, otherwise.
629  bool IsSetNativeReference(void) const;
630 
631  /// Check if it is safe to call GetNativeReference method.
632  ///
633  /// @return
634  /// - true, if the data member is getatable.
635  /// - false, otherwise.
636  bool CanGetNativeReference(void) const;
637 
638  /// Reset NativeReference data member.
639  void ResetNativeReference(void);
640 
641  /// Get the NativeReference member data.
642  ///
643  /// @return
644  /// Reference to the member data.
645  const TNativeReference& GetNativeReference(void) const;
646 
647  /// Assign a value to NativeReference data member.
648  ///
649  /// @return
650  /// Reference to the data value.
652 
653  /// Reset the whole object
654  virtual void Reset(void);
655 
656 
657 private:
658  // Prohibit copy constructor and assignment operator
661 
662  // data
664  NCBI_NS_NCBI::CRef< TAttlist > m_Attlist;
665  NCBI_NS_STD::list< NCBI_NS_NCBI::CRef< C_E_NativeReference > > m_NativeReference;
666 };
667 
668 /* @} */
669 
670 
671 
672 
673 
674 ///////////////////////////////////////////////////////////
675 ///////////////////// inline methods //////////////////////
676 ///////////////////////////////////////////////////////////
677 inline
679 {
680  return ((m_set_State[0] & 0x3) != 0);
681 }
682 
683 inline
685 {
686  return IsSetInclude();
687 }
688 
689 inline
691 {
692  if (!CanGetInclude()) {
693  ThrowUnassigned(0);
694  }
695  return m_Include;
696 }
697 
698 inline
700 {
701  m_Include = value;
702  m_set_State[0] |= 0x3;
703 }
704 
705 inline
707 {
708  m_Include = std::forward<CNativeReference_Base::C_Attlist::TInclude>(value);
709  m_set_State[0] |= 0x3;
710 }
711 
712 inline
714 {
715 #ifdef _DEBUG
716  if (!IsSetInclude()) {
717  m_Include = UnassignedString();
718  }
719 #endif
720  m_set_State[0] |= 0x1;
721  return m_Include;
722 }
723 
724 inline
726 {
727  return ((m_set_State[0] & 0xc) != 0);
728 }
729 
730 inline
732 {
733  return IsSetCondition();
734 }
735 
736 inline
738 {
739  if (!CanGetCondition()) {
740  ThrowUnassigned(1);
741  }
742  return m_Condition;
743 }
744 
745 inline
747 {
748  m_Condition = value;
749  m_set_State[0] |= 0xc;
750 }
751 
752 inline
754 {
755  m_Condition = std::forward<CNativeReference_Base::C_Attlist::TCondition>(value);
756  m_set_State[0] |= 0xc;
757 }
758 
759 inline
761 {
762 #ifdef _DEBUG
763  if (!IsSetCondition()) {
764  m_Condition = UnassignedString();
765  }
766 #endif
767  m_set_State[0] |= 0x4;
768  return m_Condition;
769 }
770 
771 inline
773 {
774  return ((m_set_State[0] & 0x30) != 0);
775 }
776 
777 inline
779 {
780  return IsSetExclude();
781 }
782 
783 inline
785 {
786  if (!CanGetExclude()) {
787  ThrowUnassigned(2);
788  }
789  return m_Exclude;
790 }
791 
792 inline
794 {
795  m_Exclude = value;
796  m_set_State[0] |= 0x30;
797 }
798 
799 inline
801 {
802  m_Exclude = std::forward<CNativeReference_Base::C_Attlist::TExclude>(value);
803  m_set_State[0] |= 0x30;
804 }
805 
806 inline
808 {
809 #ifdef _DEBUG
810  if (!IsSetExclude()) {
811  m_Exclude = UnassignedString();
812  }
813 #endif
814  m_set_State[0] |= 0x10;
815  return m_Exclude;
816 }
817 
818 inline
820 {
821  return ((m_set_State[0] & 0xc0) != 0);
822 }
823 
824 inline
826 {
827  return IsSetRemove();
828 }
829 
830 inline
832 {
833  if (!CanGetRemove()) {
834  ThrowUnassigned(3);
835  }
836  return m_Remove;
837 }
838 
839 inline
841 {
842  m_Remove = value;
843  m_set_State[0] |= 0xc0;
844 }
845 
846 inline
848 {
849  m_Remove = std::forward<CNativeReference_Base::C_Attlist::TRemove>(value);
850  m_set_State[0] |= 0xc0;
851 }
852 
853 inline
855 {
856 #ifdef _DEBUG
857  if (!IsSetRemove()) {
858  m_Remove = UnassignedString();
859  }
860 #endif
861  m_set_State[0] |= 0x40;
862  return m_Remove;
863 }
864 
865 inline
867 {
868  return ((m_set_State[0] & 0x300) != 0);
869 }
870 
871 inline
873 {
874  return IsSetLabel();
875 }
876 
877 inline
879 {
880  if (!CanGetLabel()) {
881  ThrowUnassigned(4);
882  }
883  return m_Label;
884 }
885 
886 inline
888 {
889  m_Label = value;
890  m_set_State[0] |= 0x300;
891 }
892 
893 inline
895 {
896  m_Label = std::forward<CNativeReference_Base::C_Attlist::TLabel>(value);
897  m_set_State[0] |= 0x300;
898 }
899 
900 inline
902 {
903 #ifdef _DEBUG
904  if (!IsSetLabel()) {
905  m_Label = UnassignedString();
906  }
907 #endif
908  m_set_State[0] |= 0x100;
909  return m_Label;
910 }
911 
912 inline
914 {
915  return m_choice;
916 }
917 
918 inline
920 {
921  if ( m_choice != index )
922  ThrowInvalidSelection(index);
923 }
924 
925 inline
927 {
928  if ( reset == NCBI_NS_NCBI::eDoResetVariant || m_choice != index ) {
929  if ( m_choice != e_not_set )
930  ResetSelection();
931  DoSelect(index, pool);
932  }
933 }
934 
935 inline
937 {
938  Select(index, reset, 0);
939 }
940 
941 inline
943 {
944  return m_choice == e_Name;
945 }
946 
947 inline
949 {
950  CheckSelected(e_Name);
951  return *m_string;
952 }
953 
954 inline
956 {
957  Select(e_Name, NCBI_NS_NCBI::eDoNotResetVariant);
958  return *m_string;
959 }
960 
961 inline
963 {
964  return m_choice == e_HintPath;
965 }
966 
967 inline
969 {
970  CheckSelected(e_HintPath);
971  return *m_string;
972 }
973 
974 inline
976 {
977  Select(e_HintPath, NCBI_NS_NCBI::eDoNotResetVariant);
978  return *m_string;
979 }
980 
981 inline
983 {
984  return m_NH.NotEmpty();
985 }
986 
987 inline
989 {
990  return true;
991 }
992 
993 inline
995 {
996  if ( !m_NH ) {
997  const_cast<C_E_NativeReference*>(this)->ResetNH();
998  }
999  return (*m_NH);
1000 }
1001 
1002 inline
1004 {
1005  if ( !m_NH ) {
1006  ResetNH();
1007  }
1008  return (*m_NH);
1009 }
1010 
1011 inline
1013 {
1014  return m_Attlist.NotEmpty();
1015 }
1016 
1017 inline
1019 {
1020  return true;
1021 }
1022 
1023 inline
1025 {
1026  if ( !m_Attlist ) {
1027  const_cast<CNativeReference_Base*>(this)->ResetAttlist();
1028  }
1029  return (*m_Attlist);
1030 }
1031 
1032 inline
1034 {
1035  if ( !m_Attlist ) {
1036  ResetAttlist();
1037  }
1038  return (*m_Attlist);
1039 }
1040 
1041 inline
1043 {
1044  return ((m_set_State[0] & 0xc) != 0);
1045 }
1046 
1047 inline
1049 {
1050  return true;
1051 }
1052 
1053 inline
1055 {
1056  return m_NativeReference;
1057 }
1058 
1059 inline
1061 {
1062  m_set_State[0] |= 0x4;
1063  return m_NativeReference;
1064 }
1065 
1066 ///////////////////////////////////////////////////////////
1067 ////////////////// end of inline methods //////////////////
1068 ///////////////////////////////////////////////////////////
1069 
1070 
1071 
1072 
1073 
1074 END_msbuild_SCOPE // namespace msbuild::
1075 
1076 
1077 #endif // msbuild__BUILD_SYSTEM_PROJECT_TREE_BUILDER_MSBUILD_NATIVEREFERENCE_BASE_HPP
#define END_msbuild_SCOPE
#define BEGIN_msbuild_SCOPE
Reference to a native manifest file, or to a file that contains a native manifest.
Reference to a native manifest file, or to a file that contains a native manifest.
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
TExclude & SetExclude(void)
Assign a value to Exclude data member.
NCBI_NS_STD::list< NCBI_NS_NCBI::CRef< C_E_NativeReference > > m_NativeReference
bool CanGetAttlist(void) const
Check if it is safe to call GetAttlist method.
bool IsSetInclude(void) const
redefine Include just to give a specific description Check if a value has been assigned to Include da...
bool IsSetNativeReference(void) const
Check if a value has been assigned to NativeReference data member.
void Reset(void)
Reset the whole object.
TCondition & SetCondition(void)
Assign a value to Condition data member.
static NCBI_NS_STD::string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
virtual void Reset(void)
Reset the whole object.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
void ResetNativeReference(void)
Reset NativeReference data member.
const TInclude & GetInclude(void) const
Get the Include member data.
bool CanGetLabel(void) const
Check if it is safe to call GetLabel method.
const THintPath & GetHintPath(void) const
Get the variant data.
const TCondition & GetCondition(void) const
Get the Condition member data.
bool IsSetLabel(void) const
Optional expression.
bool CanGetRemove(void) const
Check if it is safe to call GetRemove method.
bool IsSetCondition(void) const
Optional expression evaluated to determine whether the items should be evaluated Check if a value has...
bool IsSetRemove(void) const
Semi-colon separated list of files (wildcards are allowed) or other item names to remove from the exi...
bool IsSetExclude(void) const
Semi-colon separated list of files (wildcards are allowed) or other item names to exclude from the In...
NCBI_NS_STD::list< NCBI_NS_NCBI::CRef< C_E_NativeReference > > TNativeReference
bool CanGetInclude(void) const
Check if it is safe to call GetInclude method.
bool IsSetAttlist(void) const
Check if a value has been assigned to Attlist data member.
CNativeReference_Base(const CNativeReference_Base &)
C_Attlist & operator=(const C_Attlist &)
const TNH & GetNH(void) const
Get the NH member data.
bool CanGetExclude(void) const
Check if it is safe to call GetExclude method.
bool CanGetNativeReference(void) const
Check if it is safe to call GetNativeReference method.
bool IsSetNH(void) const
Check if a value has been assigned to NH data member.
const TNativeReference & GetNativeReference(void) const
Get the NativeReference member data.
TAttlist & SetAttlist(void)
Assign a value to Attlist data member.
void ResetLabel(void)
Reset Label data member.
const TAttlist & GetAttlist(void) const
Get the Attlist member data.
void ResetRemove(void)
Reset Remove data member.
const TExclude & GetExclude(void) const
Get the Exclude member data.
C_E_NativeReference(const C_E_NativeReference &)
void DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool *pool=0)
NCBI_NS_NCBI::CRef< TAttlist > m_Attlist
void ResetInclude(void)
Reset Include data member.
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
Tparent::CMemberIndex< E_memberIndex, 6 > TmemberIndex
const TName & GetName(void) const
Get the variant data.
THintPath & SetHintPath(void)
Select the variant.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
E_ChoiceStopper
Maximum+1 value of the choice variant enumerator.
void Reset(void)
Reset the whole object.
virtual ~CNativeReference_Base(void)
TRemove & SetRemove(void)
Assign a value to Remove data member.
void ResetExclude(void)
Reset Exclude data member.
bool CanGetCondition(void) const
Check if it is safe to call GetCondition method.
void ResetCondition(void)
Reset Condition data member.
bool CanGetNH(void) const
Check if it is safe to call GetNH method.
CNativeReference_Base & operator=(const CNativeReference_Base &)
NCBI_NS_NCBI::CUnionBuffer< NCBI_NS_STD::string > m_string
Tparent::CMemberIndex< E_memberIndex, 3 > TmemberIndex
NCBI_NS_NCBI::CSerialObject Tparent
TNH & SetNH(void)
Assign a value to NH data member.
TNativeReference & SetNativeReference(void)
Assign a value to NativeReference data member.
void ResetAttlist(void)
Reset Attlist data member.
const TLabel & GetLabel(void) const
Get the Label member data.
const TRemove & GetRemove(void) const
Get the Remove member data.
NCBI_NS_NCBI::CSerialObject Tparent
bool IsName(void) const
Check if variant Name is selected.
Tparent::CMemberIndex< E_memberIndex, 2 > TmemberIndex
C_E_NativeReference & operator=(const C_E_NativeReference &)
E_Choice Which(void) const
Which variant is currently selected.
C_E_NativeReference C_E
bool IsHintPath(void) const
Check if variant HintPath is selected.
void ResetNH(void)
Reset NH data member.
void Select(E_Choice index, NCBI_NS_NCBI::EResetVariant reset=NCBI_NS_NCBI::eDoResetVariant)
Select the requested variant if needed.
TLabel & SetLabel(void)
Assign a value to Label data member.
TInclude & SetInclude(void)
Assign a value to Include data member.
@ e_not_set
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1227
Modified on Tue May 07 08:16:31 2024 by modify_doxy.py rev. 669887