NCBI C++ ToolKit
Simple_replace.cpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: Simple_replace.cpp 83677 2018-09-09 21:06:52Z kachalos $
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  * Author: .......
27  *
28  * File Description:
29  * .......
30  *
31  * Remark:
32  * This code was originally generated by application DATATOOL
33  * using the following specifications:
34  * 'macro.asn'.
35  */
36 
37 // standard includes
38 #include <ncbi_pch.hpp>
39 
40 // generated includes
43 
44 // generated classes
45 
47 
48 BEGIN_objects_SCOPE // namespace ncbi::objects::
49 
50 // destructor
52 {
53 }
54 
55 
57 {
58  bool use_putative = false;
60  use_putative = !!str.GetWeaselMask();
61  }
62 
63  bool rval = false;
64  if (!find) {
65  result = GetReplace();
66  rval = true;
67  } else if (IsSetWhole_string() && GetWhole_string()) {
68  if (find->Match(str)) {
69  result = GetReplace();
70  rval = true;
71  }
72  } else {
73  const string& replace = IsSetReplace() ? GetReplace() : kEmptyStr;
74  rval = find->ReplaceStringConstraintPortionInString(result, str, replace);
75  }
76 
77  if (use_putative) {
78  result = "putative " + result;
79  rval = true;
80  }
81  return rval;
82 }
83 
84 
85 END_objects_SCOPE // namespace ncbi::objects::
86 
88 
89 /* Original file checksum: lines: 57, chars: 1735, CRC32: 2e3dc355 */
User-defined methods of the data storage class.
User-defined methods of the data storage class.
CConstRef –.
Definition: ncbiobj.hpp:1266
bool ApplyToString(string &result, const CMatchString &str, CConstRef< CString_constraint > find) const
#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 kEmptyStr
Definition: ncbistr.hpp:123
bool IsSetReplace(void) const
Check if a value has been assigned to Replace data member.
bool IsSetWeasel_to_putative(void) const
Check if a value has been assigned to Weasel_to_putative data member.
const TReplace & GetReplace(void) const
Get the Replace member data.
TWhole_string GetWhole_string(void) const
Get the Whole_string member data.
bool IsSetWhole_string(void) const
Check if a value has been assigned to Whole_string data member.
TWeasel_to_putative GetWeasel_to_putative(void) const
Get the Weasel_to_putative member data.
static const char * str(char *buf, int n)
Definition: stats.c:84
else result
Definition: token2.c:20
Modified on Sun Mar 03 03:16:31 2024 by modify_doxy.py rev. 669887