NCBI C++ ToolKit
Comment_rule_.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 Comment_rule_.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/objects/valid/valid.asn">valid.asn</a>
34 /// and additional tune-up parameters:
35 /// <a href="/IEB/ToolBox/CPP_DOC/lxr/source/src/objects/valid/valid.def">valid.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 OBJECTS_VALID_COMMENT_RULE_BASE_HPP
42 #define OBJECTS_VALID_COMMENT_RULE_BASE_HPP
43 
44 // standard includes
45 #include <serial/serialbase.hpp>
46 
47 // generated includes
48 #include <string>
49 
51 
52 #ifndef BEGIN_objects_SCOPE
53 # define BEGIN_objects_SCOPE BEGIN_SCOPE(objects)
54 # define END_objects_SCOPE END_SCOPE(objects)
55 #endif
56 BEGIN_objects_SCOPE // namespace ncbi::objects::
57 
58 
59 // forward declarations
61 class CField_set;
62 class CPhrase_list;
63 
64 
65 // generated classes
66 
67 
68 /** @addtogroup dataspec_NCBI_Structured_comment_validation
69  *
70  * @{
71  */
72 
73 /////////////////////////////////////////////////////////////////////////////
74 ///
75 /// CComment_rule_Base --
76 ///
77 
79 {
81 public:
82  // constructor
83  CComment_rule_Base(void);
84  // destructor
85  virtual ~CComment_rule_Base(void);
86 
87  // type info
89 
90  // types
91  typedef string TPrefix;
92  typedef bool TUpdated;
94  typedef bool TRequire_order;
95  typedef bool TAllow_unlisted;
98 
99  // member index
100  enum class E_memberIndex {
101  e__allMandatory = 0,
102  e_prefix,
103  e_updated,
104  e_fields,
105  e_require_order,
106  e_allow_unlisted,
107  e_dependent_rules,
108  e_forbidden_phrases
109  };
111 
112  // getters
113  // setters
114 
115  /// Check if a value has been assigned to Prefix data member.
116  ///
117  /// Data member Prefix is mandatory;
118  /// its type is defined as 'typedef string TPrefix'
119  /// @return
120  /// - true, if a value has been assigned.
121  /// - false, otherwise.
122  bool IsSetPrefix(void) const;
123 
124  /// Check if it is safe to call GetPrefix method.
125  ///
126  /// @return
127  /// - true, if the data member is getatable.
128  /// - false, otherwise.
129  bool CanGetPrefix(void) const;
130 
131  /// Reset Prefix data member.
132  void ResetPrefix(void);
133 
134  /// Get the Prefix member data.
135  ///
136  /// @return
137  /// Reference to the member data.
138  const TPrefix& GetPrefix(void) const;
139 
140  /// Assign a value to Prefix data member.
141  ///
142  /// @param value
143  /// Value to assign
144  void SetPrefix(const TPrefix& value);
145  void SetPrefix(TPrefix&& value);
146 
147  /// Assign a value to Prefix data member.
148  ///
149  /// @return
150  /// Reference to the data value.
151  TPrefix& SetPrefix(void);
152 
153  /// Check if a value has been assigned to Updated data member.
154  ///
155  /// Data member Updated is optional with default false;
156  /// its type is defined as 'typedef bool TUpdated'
157  /// @return
158  /// - true, if a value has been assigned.
159  /// - false, otherwise.
160  bool IsSetUpdated(void) const;
161 
162  /// Check if it is safe to call GetUpdated method.
163  ///
164  /// @return
165  /// - true, if the data member is getatable.
166  /// - false, otherwise.
167  bool CanGetUpdated(void) const;
168 
169  /// Reset Updated data member.
170  void ResetUpdated(void);
171 
172  /// Assign default value to Updated data member.
173  void SetDefaultUpdated(void);
174 
175  /// Get the Updated member data.
176  ///
177  /// @return
178  /// Copy of the member data.
179  TUpdated GetUpdated(void) const;
180 
181  /// Assign a value to Updated data member.
182  ///
183  /// @param value
184  /// Value to assign
185  void SetUpdated(TUpdated value);
186 
187  /// Assign a value to Updated data member.
188  ///
189  /// @return
190  /// Reference to the data value.
191  TUpdated& SetUpdated(void);
192 
193  /// Check if a value has been assigned to Fields data member.
194  ///
195  /// Data member Fields is mandatory;
196  /// its type is defined as 'typedef CField_set TFields'
197  /// @return
198  /// - true, if a value has been assigned.
199  /// - false, otherwise.
200  bool IsSetFields(void) const;
201 
202  /// Check if it is safe to call GetFields method.
203  ///
204  /// @return
205  /// - true, if the data member is getatable.
206  /// - false, otherwise.
207  bool CanGetFields(void) const;
208 
209  /// Reset Fields data member.
210  void ResetFields(void);
211 
212  /// Get the Fields member data.
213  ///
214  /// @return
215  /// Reference to the member data.
216  const TFields& GetFields(void) const;
217 
218  /// Assign a value to Fields data member.
219  ///
220  /// @param value
221  /// Reference to value.
222  void SetFields(TFields& value);
223 
224  /// Assign a value to Fields data member.
225  ///
226  /// @return
227  /// Reference to the data value.
228  TFields& SetFields(void);
229 
230  /// Check if a value has been assigned to Require_order data member.
231  ///
232  /// Data member Require_order is optional with default true;
233  /// its type is defined as 'typedef bool TRequire_order'
234  /// @return
235  /// - true, if a value has been assigned.
236  /// - false, otherwise.
237  bool IsSetRequire_order(void) const;
238 
239  /// Check if it is safe to call GetRequire_order method.
240  ///
241  /// @return
242  /// - true, if the data member is getatable.
243  /// - false, otherwise.
244  bool CanGetRequire_order(void) const;
245 
246  /// Reset Require_order data member.
247  void ResetRequire_order(void);
248 
249  /// Assign default value to Require_order data member.
250  void SetDefaultRequire_order(void);
251 
252  /// Get the Require_order member data.
253  ///
254  /// @return
255  /// Copy of the member data.
256  TRequire_order GetRequire_order(void) const;
257 
258  /// Assign a value to Require_order data member.
259  ///
260  /// @param value
261  /// Value to assign
262  void SetRequire_order(TRequire_order value);
263 
264  /// Assign a value to Require_order data member.
265  ///
266  /// @return
267  /// Reference to the data value.
268  TRequire_order& SetRequire_order(void);
269 
270  /// Check if a value has been assigned to Allow_unlisted data member.
271  ///
272  /// Data member Allow_unlisted is optional with default false;
273  /// its type is defined as 'typedef bool TAllow_unlisted'
274  /// @return
275  /// - true, if a value has been assigned.
276  /// - false, otherwise.
277  bool IsSetAllow_unlisted(void) const;
278 
279  /// Check if it is safe to call GetAllow_unlisted method.
280  ///
281  /// @return
282  /// - true, if the data member is getatable.
283  /// - false, otherwise.
284  bool CanGetAllow_unlisted(void) const;
285 
286  /// Reset Allow_unlisted data member.
287  void ResetAllow_unlisted(void);
288 
289  /// Assign default value to Allow_unlisted data member.
290  void SetDefaultAllow_unlisted(void);
291 
292  /// Get the Allow_unlisted member data.
293  ///
294  /// @return
295  /// Copy of the member data.
296  TAllow_unlisted GetAllow_unlisted(void) const;
297 
298  /// Assign a value to Allow_unlisted data member.
299  ///
300  /// @param value
301  /// Value to assign
302  void SetAllow_unlisted(TAllow_unlisted value);
303 
304  /// Assign a value to Allow_unlisted data member.
305  ///
306  /// @return
307  /// Reference to the data value.
308  TAllow_unlisted& SetAllow_unlisted(void);
309 
310  /// Check if a value has been assigned to Dependent_rules data member.
311  ///
312  /// Data member Dependent_rules is optional;
313  /// its type is defined as 'typedef CDependent_field_set TDependent_rules'
314  /// @return
315  /// - true, if a value has been assigned.
316  /// - false, otherwise.
317  bool IsSetDependent_rules(void) const;
318 
319  /// Check if it is safe to call GetDependent_rules method.
320  ///
321  /// @return
322  /// - true, if the data member is getatable.
323  /// - false, otherwise.
324  bool CanGetDependent_rules(void) const;
325 
326  /// Reset Dependent_rules data member.
327  void ResetDependent_rules(void);
328 
329  /// Get the Dependent_rules member data.
330  ///
331  /// @return
332  /// Reference to the member data.
333  const TDependent_rules& GetDependent_rules(void) const;
334 
335  /// Assign a value to Dependent_rules data member.
336  ///
337  /// @param value
338  /// Reference to value.
339  void SetDependent_rules(TDependent_rules& value);
340 
341  /// Assign a value to Dependent_rules data member.
342  ///
343  /// @return
344  /// Reference to the data value.
345  TDependent_rules& SetDependent_rules(void);
346 
347  /// Check if a value has been assigned to Forbidden_phrases data member.
348  ///
349  /// Data member Forbidden_phrases is optional;
350  /// its type is defined as 'typedef CPhrase_list TForbidden_phrases'
351  /// @return
352  /// - true, if a value has been assigned.
353  /// - false, otherwise.
354  bool IsSetForbidden_phrases(void) const;
355 
356  /// Check if it is safe to call GetForbidden_phrases method.
357  ///
358  /// @return
359  /// - true, if the data member is getatable.
360  /// - false, otherwise.
361  bool CanGetForbidden_phrases(void) const;
362 
363  /// Reset Forbidden_phrases data member.
364  void ResetForbidden_phrases(void);
365 
366  /// Get the Forbidden_phrases member data.
367  ///
368  /// @return
369  /// Reference to the member data.
370  const TForbidden_phrases& GetForbidden_phrases(void) const;
371 
372  /// Assign a value to Forbidden_phrases data member.
373  ///
374  /// @param value
375  /// Reference to value.
376  void SetForbidden_phrases(TForbidden_phrases& value);
377 
378  /// Assign a value to Forbidden_phrases data member.
379  ///
380  /// @return
381  /// Reference to the data value.
382  TForbidden_phrases& SetForbidden_phrases(void);
383 
384  /// Reset the whole object
385  virtual void Reset(void);
386 
387 
388 private:
389  // Prohibit copy constructor and assignment operator
392 
393  // data
394  Uint4 m_set_State[1];
395  string m_Prefix;
396  bool m_Updated;
402 };
403 
404 /* @} */
405 
406 
407 
408 
409 
410 ///////////////////////////////////////////////////////////
411 ///////////////////// inline methods //////////////////////
412 ///////////////////////////////////////////////////////////
413 inline
415 {
416  return ((m_set_State[0] & 0x3) != 0);
417 }
418 
419 inline
421 {
422  return IsSetPrefix();
423 }
424 
425 inline
427 {
428  if (!CanGetPrefix()) {
429  ThrowUnassigned(0);
430  }
431  return m_Prefix;
432 }
433 
434 inline
436 {
437  m_Prefix = value;
438  m_set_State[0] |= 0x3;
439 }
440 
441 inline
443 {
444  m_Prefix = std::forward<CComment_rule_Base::TPrefix>(value);
445  m_set_State[0] |= 0x3;
446 }
447 
448 inline
450 {
451 #ifdef _DEBUG
452  if (!IsSetPrefix()) {
454  }
455 #endif
456  m_set_State[0] |= 0x1;
457  return m_Prefix;
458 }
459 
460 inline
462 {
463  return ((m_set_State[0] & 0xc) != 0);
464 }
465 
466 inline
468 {
469  return true;
470 }
471 
472 inline
474 {
475  m_Updated = false;
476  m_set_State[0] &= ~0xc;
477 }
478 
479 inline
481 {
482  ResetUpdated();
483 }
484 
485 inline
487 {
488  return m_Updated;
489 }
490 
491 inline
493 {
494  m_Updated = value;
495  m_set_State[0] |= 0xc;
496 }
497 
498 inline
500 {
501 #ifdef _DEBUG
502  if (!IsSetUpdated()) {
503  memset(&m_Updated,UnassignedByte(),sizeof(m_Updated));
504  }
505 #endif
506  m_set_State[0] |= 0x4;
507  return m_Updated;
508 }
509 
510 inline
512 {
513  return m_Fields.NotEmpty();
514 }
515 
516 inline
518 {
519  return true;
520 }
521 
522 inline
524 {
525  if ( !m_Fields ) {
526  const_cast<CComment_rule_Base*>(this)->ResetFields();
527  }
528  return (*m_Fields);
529 }
530 
531 inline
533 {
534  if ( !m_Fields ) {
535  ResetFields();
536  }
537  return (*m_Fields);
538 }
539 
540 inline
542 {
543  return ((m_set_State[0] & 0xc0) != 0);
544 }
545 
546 inline
548 {
549  return true;
550 }
551 
552 inline
554 {
555  m_Require_order = true;
556  m_set_State[0] &= ~0xc0;
557 }
558 
559 inline
561 {
563 }
564 
565 inline
567 {
568  return m_Require_order;
569 }
570 
571 inline
573 {
575  m_set_State[0] |= 0xc0;
576 }
577 
578 inline
580 {
581 #ifdef _DEBUG
582  if (!IsSetRequire_order()) {
584  }
585 #endif
586  m_set_State[0] |= 0x40;
587  return m_Require_order;
588 }
589 
590 inline
592 {
593  return ((m_set_State[0] & 0x300) != 0);
594 }
595 
596 inline
598 {
599  return true;
600 }
601 
602 inline
604 {
605  m_Allow_unlisted = false;
606  m_set_State[0] &= ~0x300;
607 }
608 
609 inline
611 {
613 }
614 
615 inline
617 {
618  return m_Allow_unlisted;
619 }
620 
621 inline
623 {
625  m_set_State[0] |= 0x300;
626 }
627 
628 inline
630 {
631 #ifdef _DEBUG
632  if (!IsSetAllow_unlisted()) {
634  }
635 #endif
636  m_set_State[0] |= 0x100;
637  return m_Allow_unlisted;
638 }
639 
640 inline
642 {
643  return m_Dependent_rules.NotEmpty();
644 }
645 
646 inline
648 {
649  return IsSetDependent_rules();
650 }
651 
652 inline
654 {
655  if (!CanGetDependent_rules()) {
656  ThrowUnassigned(5);
657  }
658  return (*m_Dependent_rules);
659 }
660 
661 inline
663 {
664  return m_Forbidden_phrases.NotEmpty();
665 }
666 
667 inline
669 {
670  return IsSetForbidden_phrases();
671 }
672 
673 inline
675 {
676  if (!CanGetForbidden_phrases()) {
677  ThrowUnassigned(6);
678  }
679  return (*m_Forbidden_phrases);
680 }
681 
682 ///////////////////////////////////////////////////////////
683 ////////////////// end of inline methods //////////////////
684 ///////////////////////////////////////////////////////////
685 
686 
687 
688 
689 
690 END_objects_SCOPE // namespace ncbi::objects::
691 
693 
694 
695 #endif // OBJECTS_VALID_COMMENT_RULE_BASE_HPP
CComment_rule_Base –.
CDependent_field_set –.
CField_set –.
Definition: Field_set.hpp:66
CPhrase_list –.
Definition: Phrase_list.hpp:66
CRef –.
Definition: ncbiobj.hpp:618
Base class for all serializable objects.
Definition: serialbase.hpp:150
void ResetFields(CCdCore *pCD)
Definition: cuCD.cpp:89
static char UnassignedByte(void)
Definition: serialbase.hpp:181
void ThrowUnassigned(TMemberIndex index) const
static string UnassignedString(void)
Definition: serialbase.hpp:175
uint32_t Uint4
4-byte (32-bit) unsigned integer
Definition: ncbitype.h:103
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
#define NCBI_VALID_EXPORT
Definition: ncbi_export.h:929
CDependent_field_set TDependent_rules
const TPrefix & GetPrefix(void) const
Get the Prefix member data.
CRef< TForbidden_phrases > m_Forbidden_phrases
const TDependent_rules & GetDependent_rules(void) const
Get the Dependent_rules member data.
TUpdated & SetUpdated(void)
Assign a value to Updated data member.
bool CanGetPrefix(void) const
Check if it is safe to call GetPrefix method.
Tparent::CMemberIndex< E_memberIndex, 8 > TmemberIndex
bool IsSetAllow_unlisted(void) const
Check if a value has been assigned to Allow_unlisted data member.
void ResetAllow_unlisted(void)
Reset Allow_unlisted data member.
TFields & SetFields(void)
Assign a value to Fields data member.
const TFields & GetFields(void) const
Get the Fields member data.
CSerialObject Tparent
void SetDefaultAllow_unlisted(void)
Assign default value to Allow_unlisted data member.
bool IsSetRequire_order(void) const
Check if a value has been assigned to Require_order data member.
TRequire_order GetRequire_order(void) const
Get the Require_order member data.
void ResetRequire_order(void)
Reset Require_order data member.
void ResetFields(void)
Reset Fields data member.
bool IsSetUpdated(void) const
Check if a value has been assigned to Updated data member.
bool CanGetAllow_unlisted(void) const
Check if it is safe to call GetAllow_unlisted method.
void SetDefaultRequire_order(void)
Assign default value to Require_order data member.
TRequire_order & SetRequire_order(void)
Assign a value to Require_order data member.
const TForbidden_phrases & GetForbidden_phrases(void) const
Get the Forbidden_phrases member data.
CRef< TFields > m_Fields
CComment_rule_Base(const CComment_rule_Base &)
void ResetUpdated(void)
Reset Updated data member.
CPhrase_list TForbidden_phrases
bool CanGetForbidden_phrases(void) const
Check if it is safe to call GetForbidden_phrases method.
bool IsSetDependent_rules(void) const
Check if a value has been assigned to Dependent_rules data member.
bool IsSetPrefix(void) const
Check if a value has been assigned to Prefix data member.
TPrefix & SetPrefix(void)
Assign a value to Prefix data member.
TAllow_unlisted & SetAllow_unlisted(void)
Assign a value to Allow_unlisted data member.
bool CanGetDependent_rules(void) const
Check if it is safe to call GetDependent_rules method.
bool IsSetForbidden_phrases(void) const
Check if a value has been assigned to Forbidden_phrases data member.
bool CanGetFields(void) const
Check if it is safe to call GetFields method.
TAllow_unlisted GetAllow_unlisted(void) const
Get the Allow_unlisted member data.
CRef< TDependent_rules > m_Dependent_rules
bool IsSetFields(void) const
Check if a value has been assigned to Fields data member.
CComment_rule_Base & operator=(const CComment_rule_Base &)
bool CanGetUpdated(void) const
Check if it is safe to call GetUpdated method.
bool CanGetRequire_order(void) const
Check if it is safe to call GetRequire_order method.
TUpdated GetUpdated(void) const
Get the Updated member data.
void SetDefaultUpdated(void)
Assign default value to Updated data member.
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1227
Modified on Wed Apr 17 13:08:42 2024 by modify_doxy.py rev. 669887