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

Go to the SVN repository for this file.

1 #ifndef OBJTOOLS_FORMAT_ITEMS___SEQUENCE_ITEM__HPP
2 #define OBJTOOLS_FORMAT_ITEMS___SEQUENCE_ITEM__HPP
3 
4 /* $Id: sequence_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: Mati Shomrat
30 *
31 * File Description:
32 * Origin item for flat-file generator
33 *
34 *
35 */
36 #include <corelib/ncbistd.hpp>
37 
38 #include <objmgr/seq_vector.hpp>
39 
41 
42 
45 
46 
47 class CBioseqContext;
48 class IFormatter;
49 
50 
51 ///////////////////////////////////////////////////////////////////////////
52 //
53 // SEQUENCE
54 
56 {
57 public:
58  CSequenceItem(TSeqPos from, TSeqPos to, bool first,
60  void Format(IFormatter& formatter, IFlatTextOStream& text_os) const override;
61 
62  const CSeqVector& GetSequence(void) const;
63  TSeqPos GetFrom(void) const;
64  TSeqPos GetTo(void) const;
65  bool IsFirst(void) const;
66 
67  EItem GetItemType() const override;
68 private:
69  void x_GatherInfo(CBioseqContext& ctx) override;
70 
71  // data
72  TSeqPos m_From, m_To;
73  bool m_First;
75 };
76 
77 
78 //===========================================================================
79 // inline methods
80 //===========================================================================
81 
82 inline
84 {
85  return m_Sequence;
86 }
87 
88 inline
90 {
91  return m_From;
92 }
93 
94 inline
96 {
97  return m_To;
98 }
99 
100 inline
101 bool CSequenceItem::IsFirst(void) const
102 {
103  return m_First;
104 }
105 
106 
109 
110 #endif /* OBJTOOLS_FORMAT_ITEMS___SEQUENCE_ITEM__HPP */
virtual void Format(IFormatter &formatter, IFlatTextOStream &text_os) const =0
virtual void x_GatherInfo(CBioseqContext &)
Definition: item_base.hpp:71
CSeqVector –.
Definition: seq_vector.hpp:65
bool IsFirst(void) const
CSeqVector m_Sequence
const CSeqVector & GetSequence(void) const
TSeqPos GetTo(void) const
TSeqPos GetFrom(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
static DLIST_TYPE *DLIST_NAME() first(DLIST_LIST_TYPE *list)
Definition: dlist.tmpl.h:46
SBlastSequence GetSequence(const objects::CSeq_loc &sl, EBlastEncoding encoding, objects::CScope *scope, objects::ENa_strand strand=objects::eNa_strand_plus, ESentinelType sentinel=eSentinels, std::string *warnings=NULL)
Retrieves a sequence using the object manager.
unsigned int TSeqPos
Type for sequence locations and lengths.
Definition: ncbimisc.hpp:875
#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 Sat Dec 09 04:48:06 2023 by modify_doxy.py rev. 669887