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

Go to the SVN repository for this file.

1 #ifndef OBJTOOLS_FORMAT_ITEMS___KEYWORDS_ITEM__HPP
2 #define OBJTOOLS_FORMAT_ITEMS___KEYWORDS_ITEM__HPP
3 
4 /* $Id: keywords_item.hpp 99549 2023-04-17 14:20:00Z gotvyans $
5 * ===========================================================================
6 *
7 * PUBLIC DOMAIN NOTICE
8 * National Center for Biotechnology Information
9 *
10 * This software/database is a "United States Government Work" under the
11 * terms of the United States Copyright Act. It was written as part of
12 * the author's official duties as a United States Government employee and
13 * thus cannot be copyrighted. This software/database is freely available
14 * to the public for use. The National Library of Medicine and the U.S.
15 * Government have not placed any restriction on its use or reproduction.
16 *
17 * Although all reasonable efforts have been taken to ensure the accuracy
18 * and reliability of the software and data, the NLM and the U.S.
19 * Government do not and cannot warrant the performance or results that
20 * may be obtained by using this software or data. The NLM and the U.S.
21 * Government disclaim all warranties, express or implied, including
22 * warranties of performance, merchantability or fitness for any particular
23 * purpose.
24 *
25 * Please cite the author in any work or product based on this material.
26 *
27 * ===========================================================================
28 *
29 * Author: Aaron Ucko, NCBI
30 * Mati Shomrat
31 *
32 * File Description:
33 * Keywords item for flat-file generator
34 *
35 */
36 #include <corelib/ncbistd.hpp>
37 
38 #include <vector>
39 
41 
42 
45 
46 
47 class CBioseqContext;
48 class IFormatter;
49 
50 
51 
52 ///////////////////////////////////////////////////////////////////////////
53 //
54 // Keywords
55 
57 {
58 public:
59  // types
60  typedef vector<string> TKeywords;
61 
63  void Format(IFormatter& formatter, IFlatTextOStream& text_os) const override;
64 
65  const TKeywords& GetKeywords(void) const;
66 
67  EItem GetItemType() const override;
68 private:
69  void x_GatherInfo(CBioseqContext& ctx) override;
70 
71  void x_AddKeyword(const string& keyword);
72 
73  // data
75 };
76 
77 
78 //=============================== inline methods ==========================
79 
80 inline
82 {
83  return m_Keywords;
84 }
85 
86 //=========================== end of inline methods =======================
87 
88 
89 
92 
93 #endif /* OBJTOOLS_FORMAT_ITEMS___KEYWORDS_ITEM__HPP */
virtual void Format(IFormatter &formatter, IFlatTextOStream &text_os) const =0
virtual void x_GatherInfo(CBioseqContext &)
Definition: item_base.hpp:71
vector< string > TKeywords
TKeywords m_Keywords
const TKeywords & GetKeywords(void) const
virtual EItem GetItemType(void) const =0
Include a standard set of the NCBI C++ Toolkit most basic headers.
CS_CONTEXT * ctx
Definition: t0006.c:12
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define END_SCOPE(ns)
End the previously defined scope.
Definition: ncbistl.hpp:75
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
#define BEGIN_SCOPE(ns)
Define a new scope.
Definition: ncbistl.hpp:72
#define NCBI_FORMAT_EXPORT
Definition: ncbi_export.h:496
Modified on Thu Nov 30 04:54:30 2023 by modify_doxy.py rev. 669887