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

Go to the SVN repository for this file.

1 #ifndef OBJTOOLS_FORMAT___EMBL_FORMATTER__HPP
2 #define OBJTOOLS_FORMAT___EMBL_FORMATTER__HPP
3 
4 /* $Id: embl_formatter.hpp 89032 2020-02-13 18:41:46Z kans $
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 * new (early 2003) flat-file generator -- base class for items
34 * (which roughly correspond to blocks/paragraphs in the C version)
35 *
36 */
37 #include <corelib/ncbistd.hpp>
38 
40 
43 
44 
46 {
47 public:
48  CEmblFormatter(void);
49 
50  virtual SIZE_TYPE GetWidth(void) const { return 78; }
51 
52  virtual void EndSection(const CEndSectionItem&, IFlatTextOStream& text_os);
53 
54  virtual void FormatLocus(const CLocusItem& locus, IFlatTextOStream& text_os);
55  virtual void FormatDefline(const CDeflineItem& defline, IFlatTextOStream& text_os);
56  virtual void FormatAccession(const CAccessionItem& acc, IFlatTextOStream& text_os);
57  virtual void FormatVersion(const CVersionItem& version, IFlatTextOStream& text_os);
58  virtual void FormatKeywords(const CKeywordsItem& keys, IFlatTextOStream& text_os);
59  virtual void FormatSource(const CSourceItem& source, IFlatTextOStream& text_os);
60  virtual void FormatReference(const CReferenceItem& keys, IFlatTextOStream& text_os);
61  virtual void FormatCache(const CCacheItem& csh, IFlatTextOStream& text_os);
62  virtual void FormatComment(const CCommentItem& keys, IFlatTextOStream& text_os);
63  virtual void FormatBasecount(const CBaseCountItem& bc, IFlatTextOStream& text_os);
64  virtual void FormatSequence(const CSequenceItem& seq, IFlatTextOStream& text_os);
65  virtual void FormatFeatHeader(const CFeatHeaderItem& fh, IFlatTextOStream& text_os);
66  virtual void FormatFeature(const CFeatureItemBase& feat, IFlatTextOStream& text_os);
67  virtual void FormatDate(const CDateItem& date, IFlatTextOStream& text_os);
68 
69 private:
70  virtual string& Pad(const string& s, string& out, EPadContext where) const;
71 
72  void x_AddXX(IFlatTextOStream& text_os) const;
73 
74  // OS, OC, OG
75  void x_OrganismSource(list<string>& l, const CSourceItem& source) const;
76  void x_OrganisClassification(list<string>& l, const CSourceItem& source) const;
77  void x_Organelle(list<string>& l, const CSourceItem& source) const;
78 
79  // data
80  list<string> m_XX;
81 };
82 
83 
86 
87 #endif /* OBJTOOLS_FORMAT___EMBL_FORMATTER__HPP */
virtual SIZE_TYPE GetWidth(void) const
list< string > m_XX
Include a standard set of the NCBI C++ Toolkit most basic headers.
std::ofstream out("events_result.xml")
main entry point for tests
#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
NCBI_NS_STD::string::size_type SIZE_TYPE
Definition: ncbistr.hpp:132
#define NCBI_FORMAT_EXPORT
Definition: ncbi_export.h:496
static int version
Definition: mdb_load.c:29
const CharType(& source)[N]
Definition: pointer.h:1149
Modified on Fri May 24 14:54:27 2024 by modify_doxy.py rev. 669887