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

Go to the SVN repository for this file.

1 #ifndef NCBI_OBJMGR_SPLIT_CHUNK_INFO__HPP
2 #define NCBI_OBJMGR_SPLIT_CHUNK_INFO__HPP
3 
4 /* $Id: chunk_info.hpp 33815 2007-05-04 17:18:18Z kazimird $
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: Eugene Vasilchenko
30 *
31 * File Description:
32 * Application for splitting blobs withing ID1 cache
33 *
34 * ===========================================================================
35 */
36 
37 #include <corelib/ncbistd.hpp>
38 #include <corelib/ncbiobj.hpp>
39 
40 #include <memory>
41 #include <map>
42 #include <vector>
43 
45 #include <objmgr/split/size.hpp>
46 
49 
50 class CSeq_annot;
51 
59 class CBioseq_SplitInfo;
60 
61 struct SAnnotPiece;
62 struct SIdAnnotPieces;
63 class CAnnotPieces;
64 
65 struct SChunkInfo
66 {
67  typedef vector<CSeq_descr_SplitInfo> TPlaceSeq_descr;
69  typedef vector<CAnnotObject_SplitInfo> TAnnotObjects;
72  typedef vector<CSeq_data_SplitInfo> TPlaceSeq_data;
74  typedef vector<CBioseq_SplitInfo> TPlaceBioseq;
76  typedef vector<CSeq_hist_SplitInfo> TPlaceSeq_hist;
78 
79  void Add(const SChunkInfo& info);
80 
81  void Add(const CPlaceId& place_id, const CSeq_descr_SplitInfo& info);
82  void Add(const CPlaceId& place_id, const CSeq_annot_SplitInfo& info);
83  void Add(const CPlaceId& place_id, const CSeq_hist_SplitInfo& info);
84  void Add(TAnnotObjects& objs,
86  void Add(const SAnnotPiece& piece);
87  void Add(const SIdAnnotPieces& pieces);
88  void Add(const CPlaceId& place_id, const CSeq_inst_SplitInfo& info);
89  void Add(const CPlaceId& place_id, const CSeq_data_SplitInfo& info);
90  void Add(const CPlaceId& place_id, const CBioseq_SplitInfo& info);
91 
92  size_t CountAnnotObjects(void) const;
93 
100 };
101 
102 
105 
106 #endif//NCBI_OBJMGR_SPLIT_CHUNK_INFO__HPP
Definition: size.hpp:46
Include a standard set of the NCBI C++ Toolkit most basic headers.
#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
static MDB_envinfo info
Definition: mdb_load.c:37
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.
TChunkBioseq m_Bioseq
Definition: chunk_info.hpp:99
void Add(const SChunkInfo &info)
Definition: chunk_info.cpp:45
vector< CBioseq_SplitInfo > TPlaceBioseq
Definition: chunk_info.hpp:74
map< CConstRef< CSeq_annot >, TAnnotObjects > TPlaceAnnots
Definition: chunk_info.hpp:70
map< CPlaceId, TPlaceSeq_hist > TChunkSeq_hist
Definition: chunk_info.hpp:77
TChunkSeq_data m_Seq_data
Definition: chunk_info.hpp:97
map< CPlaceId, TPlaceSeq_descr > TChunkSeq_descr
Definition: chunk_info.hpp:68
CSize m_Size
Definition: chunk_info.hpp:94
size_t CountAnnotObjects(void) const
Definition: chunk_info.cpp:177
TChunkSeq_descr m_Seq_descr
Definition: chunk_info.hpp:95
map< CPlaceId, TPlaceBioseq > TChunkBioseq
Definition: chunk_info.hpp:75
map< CPlaceId, TPlaceSeq_data > TChunkSeq_data
Definition: chunk_info.hpp:73
vector< CSeq_data_SplitInfo > TPlaceSeq_data
Definition: chunk_info.hpp:72
map< CPlaceId, TPlaceAnnots > TChunkAnnots
Definition: chunk_info.hpp:71
TChunkAnnots m_Annots
Definition: chunk_info.hpp:96
vector< CSeq_hist_SplitInfo > TPlaceSeq_hist
Definition: chunk_info.hpp:76
TChunkSeq_hist m_Seq_hist
Definition: chunk_info.hpp:98
vector< CAnnotObject_SplitInfo > TAnnotObjects
Definition: chunk_info.hpp:69
vector< CSeq_descr_SplitInfo > TPlaceSeq_descr
Definition: chunk_info.hpp:67
Modified on Sun Jul 21 04:21:16 2024 by modify_doxy.py rev. 669887