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

Go to the SVN repository for this file.

1 /* $Id: qual_validate.hpp 99335 2023-03-13 13:48:10Z stakhovv $
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  * File Name: qual_validate.hpp
27  *
28  * Author: Frank Ludwig
29  *
30  * File Description:
31  *
32  */
33 
34 #ifndef FLATFILE__QUAL_VALIDATE__HPP
35 #define FLATFILE__QUAL_VALIDATE__HPP
36 
37 #include "ftaerr.hpp"
39 
41 
42 
43 // ----------------------------------------------------------------------------
45 // ----------------------------------------------------------------------------
46 {
47 public:
49  const string& featKey,
50  const string& featLocation);
51 
52  bool CleanAndValidate(
53  string& qualKey,
54  string& qualVal);
55 
56 private:
58  string& qualKey,
59  string& qualVal);
60 
62  string& qualKey,
63  string& qualVal);
65  string& qualKey,
66  string& qualVal);
68  string& qualKey,
69  string& qualVal);
71  string& qualKey,
72  string& qualVal);
74  string& qualKey,
75  string& qualVal);
77  string& qualKey,
78  string& qualVal);
80  string& qualKey,
81  string& qualVal);
82 
83  static bool xCleanStripBlanks(
84  string& val);
85  static bool xCleanToLower(
86  string& val);
87  static bool xCleanFollowCommasWithBlanks(
88  string& val);
89 
91  const string& val,
92  string& firstEmbeddedQualifier);
93  static bool xValueIsMissingOrExtra(
94  const string& qualKey,
95  const string& qualVal,
96  bool& shouldHaveValue);
97 
98  const string& mFeatKey;
99  const string& mFeatLocation;
100 };
101 
103 
104 #endif // FLATFILE__QUAL_VALIDATE__HPP
bool xCleanAndValidateTranslation(string &qualKey, string &qualVal)
static bool xValueIsMissingOrExtra(const string &qualKey, const string &qualVal, bool &shouldHaveValue)
static bool xValueContainsEmbeddedQualifier(const string &val, string &firstEmbeddedQualifier)
bool CleanAndValidate(string &qualKey, string &qualVal)
bool xCleanAndValidateSpecificHost(string &qualKey, string &qualVal)
bool xCleanAndValidateConsSplice(string &qualKey, string &qualVal)
const string & mFeatKey
bool xCleanAndValidateRptUnitSeq(string &qualKey, string &qualVal)
const string & mFeatLocation
static bool xCleanToLower(string &val)
static bool xCleanFollowCommasWithBlanks(string &val)
bool xCleanAndValidateGeneric(string &qualKey, string &qualVal)
bool xCleanAndValidateReplace(string &qualKey, string &qualVal)
bool xCleanAndValidateRptUnit(string &qualKey, string &qualVal)
CQualCleanup(const string &featKey, const string &featLocation)
bool xCleanAndValidateNote(string &qualKey, string &qualVal)
static bool xCleanStripBlanks(string &val)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
Modified on Thu May 09 18:37:53 2024 by modify_doxy.py rev. 669887