= objects::edit::CHugeFile;
60 using TLogger= objects::ILineErrorListener;
91 void Open(std::unique_ptr<TFile>
file);
93 void Open(std::string_view memory);
106 using TContainer= std::unordered_multimap<std::string, const CMemBlockInfo*>;
107 using TRange= std::pair<TContainer::const_iterator, TContainer::const_iterator>;
130 using TAnnots= list<CRef<objects::CSeq_annot>>;
134 void Open(std::unique_ptr<TFile>
file);
void Open(const std::string &filename)
CAtomicBitSet m_used_annots
size_t index_size() const
std::list< CMemBlockInfo > m_blocks
std::unique_ptr< TFile > m_hugefile
std::list< CRef< objects::CSeq_id > > FindAnnots(CRef< objects::CSeq_id > seqid) const
void Init(const std::string &genome_center_id, long reader_flags, TLogger *logger=nullptr)
TRange x_FindAnnots(CRef< objects::CSeq_id > id) const
std::string m_seqid_prefix
std::list< CRef< objects::CSeq_annot > > GetAndUseAnnot(CRef< objects::CSeq_id > seqid) override
std::unordered_multimap< std::string, const CMemBlockInfo * > TContainer
~CFast5colReader() override
void x_IndexFile(std::string_view memory)
size_t unused_annots() const
std::string_view m_memory
std::pair< TContainer::const_iterator, TContainer::const_iterator > TRange
list< CRef< objects::CSeq_annot > > TAnnots
void Init(const std::string &genome_center_id, long reader_flags, TLogger *logger=nullptr)
void AddAnnots(TAnnots &annots)
std::string m_genome_center_id
set< string > m_MatchedAnnots
std::string m_seqid_prefix
bool x_HasExactMatch(const string &idString, list< CRef< objects::CSeq_annot >> &annots)
void AddAnnot(CRef< objects::CSeq_annot > annot)
CWholeFileAnnotation()=default
std::list< CRef< objects::CSeq_annot > > GetAndUseAnnot(CRef< objects::CSeq_id > seqid) override
bool s_HasPrefixMatch(const string &idString, map< string, TAnnotMap::iterator > &matchMap)
bool x_HasMatch(bool matchVersions, const string &idString, list< CRef< objects::CSeq_annot >> &annots)
void Open(std::unique_ptr< TFile > file)
std::shared_mutex m_Mutex
virtual ~IIndexedFeatureReader()
virtual std::list< CRef< objects::CSeq_annot > > GetAndUseAnnot(CRef< objects::CSeq_id > seqid)=0
static CRef< objects::CSeq_id > GetAnnotId(const objects::CSeq_annot &annot)
objects::edit::CHugeFile TFile
objects::ILineErrorListener TLogger
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.
The NCBI C++/STL use hints.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4