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

Go to the SVN repository for this file.

1 /* $Id: annot_import_data.cpp 84013 2018-10-10 11:14:38Z ludwigf $
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: Frank Ludwig
27  *
28  * File Description: Iterate through file names matching a given glob pattern
29  *
30  */
31 
32 #include <ncbi_pch.hpp>
33 #include <corelib/ncbifile.hpp>
35 
36 #include "annot_import_data.hpp"
37 
40 
41 // ============================================================================
43 // ============================================================================
44 {
45 }
46 
47 // ============================================================================
49  const CAnnotImportData& rhs)
50 // ============================================================================
51 {
52  mAnnotData.insert(rhs.mAnnotData.begin(), rhs.mAnnotData.end());
53 }
54 
55 // ============================================================================
56 void
59 // ============================================================================
60 {
61  out << "CAnnotImportData:\n";
62  for (auto it = mAnnotData.begin(); it != mAnnotData.end(); ++it) {
63  out << " " << it->first << ": " << it->second << "\n";
64  }
65  out << "\n";
66 }
67 
68 // ============================================================================
69 string
71  const string& key) const
72 // ============================================================================
73 {
74  string normalizedKey(key);
75  NStr::ToLower(normalizedKey);
76  auto it = mAnnotData.find(normalizedKey);
77  if (it == mAnnotData.end()) {
78  return "";
79  }
80  return it->second;
81 }
82 
83 // ============================================================================
84 void
86  const string& key,
87  const string& value)
88  // ============================================================================
89 {
90  string normalizedKey(key);
91  NStr::ToLower(normalizedKey);
92  mAnnotData[normalizedKey] = value;
93 }
USING_SCOPE(objects)
USING_NCBI_SCOPE
std::map< std::string, std::string > mAnnotData
std::string ValueOf(const std::string &) const
virtual void Serialize(CNcbiOstream &)
void SetValue(const std::string &, const std::string &)
char value[7]
Definition: config.c:431
std::ofstream out("events_result.xml")
main entry point for tests
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
Definition: ncbistre.hpp:149
static string & ToLower(string &str)
Convert string to lower case – string& version.
Definition: ncbistr.cpp:405
const struct ncbi::grid::netcache::search::fields::KEY key
Defines classes: CDirEntry, CFile, CDir, CSymLink, CMemoryFile, CFileUtil, CFileLock,...
Modified on Thu Nov 30 04:57:14 2023 by modify_doxy.py rev. 669887