1 #ifndef OBJMGR_IMPL_SCOPE_IMPL__HPP
2 #define OBJMGR_IMPL_SCOPE_IMPL__HPP
143 typedef vector<CSeq_id_Handle>
TIds;
158 void AddDataLoader(
const string& loader_name,
285 fUserFlagMask = 0xff,
301 void ResetScope(
void);
302 void ResetHistory(
int action);
303 void ResetDataAndHistory(
void);
304 void RemoveFromHistory(
const CTSE_Handle& tse,
int action);
309 void RemoveDataLoader(
const string& loader_name,
313 void RemoveTopLevelSeqEntry(
const CTSE_Handle& entry);
383 bool IsTransactionActive()
const;
431 void x_DetachFromOM(
void);
434 void x_ReportNewDataConflict(
const CSeq_id_Handle* conflict_id = 0);
435 void x_ClearCacheOnNewDS(
void);
439 void x_ClearCacheOnNewData(
const TIds& seq_ids,
const TIds& annot_ids);
440 void x_ClearCacheOnNewData(
const CTSE_Info& new_tse);
441 void x_ClearCacheOnNewData(
const CTSE_Info& new_tse,
443 void x_ClearCacheOnNewData(
const CTSE_Info& new_tse,
446 void x_ClearCacheOnRemoveData(
const CTSE_Info* old_tse = 0);
447 void x_ClearAnnotCache(
void);
448 void x_ClearCacheOnNewAnnot(
const CTSE_Info& new_tse);
452 void x_ClearCacheOnRemoveAnnot(
const CTSE_Info& old_tse);
515 void x_GetBioseqHandlesSorted(
const TIds& ids,
552 return m_KeepExternalAnnotsForEdit;
554 void SetKeepExternalAnnotsForEdit(
bool keep =
true);
627 unique_ptr<SAnnotSelector>& sel_copy,
674 friend class CTSE_CI;
pair< string, int > GetAccVer(const CAlignModel &a, CScope &scope)
vector< pair< TTSE_ScopeInfo, CSeq_id_Handle > > TTSE_MatchSet
CBioseq_set_EditHandle –.
vector< pair< TTSE_Lock, CSeq_id_Handle > > TTSE_LockMatchSet
CFastMutex TSeq_idMapLock
CDataSource::TTSE_LockMatchSet TTSE_LockMatchSet_DS
TConfLock::TWriteLockGuard TConfWriteLockGuard
CBioseq_ScopeInfo::TTSE_MatchSet TTSE_MatchSet
CPriorityTree m_setDataSrc
CRef< CObjectManager > m_ObjMgr
map< CRef< CDataSource >, CRef< CDataSource_ScopeInfo > > TDSMap
vector< CBioseq_Handle > TBioseqHandles
Bulk retrieval methods.
TSeq_idMapValue & x_GetSeq_id_Info(const CBioseq_Handle &bh)
CTSE_ScopeUserLock TTSE_Lock
vector< CTSE_Handle > TCDD_Entries
IScopeTransaction_Impl * m_Transaction
TSeq_idMap::value_type TSeq_idMapValue
bool GetKeepExternalAnnotsForEdit() const
set< CSeq_id_Handle > TSeq_idSet
bool m_KeepExternalAnnotsForEdit
vector< TSeqPos > TSequenceLengths
pair< CConstRef< CSeq_entry_Info >, TTSE_Lock > TSeq_entry_Lock
vector< pair< CTSE_Handle, CSeq_id_Handle > > TTSE_LockMatchSet
CScope_Impl(const CScope_Impl &)
vector< CBioseq_Handle > TBioseq_HandleSet
CDataSource_ScopeInfo::TBioseq_Lock TBioseq_Lock
CInitMutexPool m_MutexPool
vector< int > TSequenceStates
map< CSeq_id_Handle, SSeq_id_ScopeInfo > TSeq_idMap
atomic< int > m_AnnotChangeCounter
map< CConstRef< CObject >, CRef< CObject > > TEditInfoMap
vector< CSeq_entry_Handle > TTSE_Handles
atomic< int > m_BioseqChangeCounter
vector< CSeq_inst::TMol > TSequenceTypes
TConfLock::TReadLockGuard TConfReadLockGuard
TSeq_idMapLock m_Seq_idMapLock
vector< int > TSequenceHashes
vector< CSeq_id_Handle > TIds
CObjectManager & GetObjectManager(void)
pair< CConstRef< CSeq_annot_Info >, TTSE_Lock > TSeq_annot_Lock
pair< CConstRef< CBioseq_set_Info >, TTSE_Lock > TBioseq_set_Lock
CScope_Impl & operator=(const CScope_Impl &)
namespace ncbi::objects::
unsigned int TSeqPos
Type for sequence locations and lengths.
SStrictId_Tax::TId TTaxId
Taxon id type.
string GetLabel(const CSeq_id &id)
bool IsSameBioseq(const CSeq_id &id1, const CSeq_id &id2, CScope *scope, CScope::EGetBioseqFlag get_flag=CScope::eGetBioseq_All)
Determines if two CSeq_ids represent the same CBioseq.
TTaxId GetTaxId(const CBioseq_Handle &handle)
return the tax-id associated with a given sequence.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define END_SCOPE(ns)
End the previously defined scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
#define BEGIN_SCOPE(ns)
Define a new scope.
#define NCBI_XOBJMGR_EXPORT
EMol
molecule class in living organism
double value_type
The numeric datatype used by the parser.
Multi-threading – mutexes; rw-locks; semaphore.
Portable reference counted smart and weak pointers using CWeakRef, CRef, CObject and CObjectEx.
static int match(PCRE2_SPTR start_eptr, PCRE2_SPTR start_ecode, uint16_t top_bracket, PCRE2_SIZE frame_size, pcre2_match_data *match_data, match_block *mb)
static bool GetIds(const T &d, set< string > &labels, const string name="", bool detect=false, bool found=false)
Uint4 GetSequenceType(const CBioseq_Handle &bsh)
Return a (corrected) set of flags identifying the sequence type.
TBlobStateFlags m_BlobState
CTSE_ScopeUserLock m_TSE_Lock