<
typenameKey,
typenameValue>
118ret = std::move(iter->second->second);
133*unlock_ptr = std::move(iter->second->second);
156*unlock_ptr = std::move(
m_Queue.front().second);
178unlock_set->push_back(std::move(
m_Queue.front().second));
189unlock_set->push_back(std::move(it->second));
227 voidDetachScope(
void);
229 voidResetDS(
void);
230 voidResetHistory(
intaction_if_locked);
242 voidRemoveFromHistory(
CTSE_ScopeInfo& tse,
booldrop_from_ds =
false);
245 voidRemoveTSE_Lock(
const CTSE_Lock& lock);
246 voidAddTSE_Lock(
const CTSE_Lock& lock);
255 boolCanBeEdited(
void)
const;
257 boolIsConst(
void)
const;
258 voidSetConst(
void);
261 voidSetCanRemoveOnResetHistory(
void);
262 boolCanRemoveOnResetHistory(
void)
const;
292 boolTSEIsReplaced(
const TBlobId& blob_id)
const;
366 boolcan_be_unloaded);
372 boolIsAttached(
void)
const;
374 intaction_if_locked,
375 booldrop_from_ds =
false);
376 static voidRemoveFromHistory(
const CTSE_Handle& tseh,
377 intaction_if_locked,
378 booldrop_from_ds =
false);
382 boolCanBeUnloaded(
void)
const;
383 boolCanBeEdited(
void)
const;
386 boolIsUserLocked(
void)
const;
388pair<bool, CScopeInfo_Base*> GetUserLockState(
const CTSE_Handle* tseh)
const;
394 boolx_SameTSE(
const CTSE_Info& tse)
const;
396 intGetLoadIndex(
void)
const;
397 TBlobIdGetBlobId(
void)
const;
399 const TSeqIds& GetBioseqsIds(
void)
const;
402 voidReleaseUsedTSEs(
void);
405 voidSetEditTSE(
const CTSE_Lock& new_tse_lock,
407 voidReplaceTSE(
const CTSE_Info& old_tse);
408 voidRestoreReplacedTSE(
void);
443 friend classCTSE_ScopeInfo_Base;
445 voidForgetTSE_Lock(
void);
447 const CTSE_Lock& GetTSE_Lock(
void)
const;
448 voidSetTSE_Lock(
const CTSE_Lock& lock);
449 voidResetTSE_Lock(
void);
450 voidDropTSE_Lock(
void);
456 template<
classTScopeInfo>
458 const typenameTScopeInfo::TObjectInfo&
info);
460 boolx_TSE_LockIsAssigned()
const;
461 boolx_TSE_LockIsNotAssigned()
const;
462 boolx_VerifyTSE_LockIsAssigned()
const;
463 boolx_VerifyTSE_LockIsAssigned(
const CTSE_Lock& tse)
const;
464 boolx_VerifyTSE_LockIsAssigned(
const CTSE_Info& tse)
const;
465 boolx_VerifyTSE_LockIsNotAssigned()
const;
466 voidx_DetachDS(
void);
472 intx_GetDSLocksCount(
void)
const;
474 voidx_InternalLockTSE(
void);
475 voidx_InternalRelockTSE(
void);
476 voidx_InternalUnlockTSE(
void);
477 voidx_UserLockTSE(
void);
478 voidx_UserRelockTSE(
void);
479 voidx_UserUnlockTSE(
void);
548 if(adjust != other.
adjust)
returnadjust < other.
adjust;
570 return reinterpret_cast<const CBioseq_Info&
>(GetObjectInfo_Base());
581 constTIndexIds* GetIndexIds(
void)
const;
583 boolHasBioseq(
void)
const;
586 return!HasBioseq() && m_UnresolvedTimestamp != timestamp;
589 stringIdString(
void)
const;
600 voidResetId(
void);
607 friend classCSeq_id_ScopeInfo;
614m_BioseqAnnotRef_Info.Reset();
615m_NABioseqAnnotRef_Info.clear();
CInitMutex< SAnnotSetCache > TAnnotRefInfo
CRef< CTSE_ScopeInfo > TTSE_ScopeInfo
TBlobStateFlags GetBlobState(void) const
TAnnotRefInfo m_BioseqAnnotRef_Info
TBlobStateFlags m_BlobState
const CBioseq_Info & GetObjectInfo(void) const
CBioseq_Info & GetNCObjectInfo(void)
CInitMutex< CSynonymsSet > m_SynCache
bool NeedsReResolve(int timestamp) const
CBioseq_ScopeInfo(const CBioseq_ScopeInfo &info)
atomic< int > m_UnresolvedTimestamp
const TIds & GetIds(void) const
CScopeInfo_Ref< CBioseq_ScopeInfo > TBioseq_Lock
set< CSeq_id_Handle > TSeq_idSet
vector< pair< TTSE_ScopeInfo, CSeq_id_Handle > > TTSE_MatchSet
const CBioseq_ScopeInfo & operator=(const CBioseq_ScopeInfo &info)
void x_ResetAnnotRef_Info()
map< TNASetKey, TAnnotRefInfo > TNAAnnotRefInfo
TNAAnnotRefInfo m_NABioseqAnnotRef_Info
TTSE_InfoMapMutex m_TSE_InfoMapMutex
TTSE_LockSetMutex & GetTSE_LockSetMutex(void) const
CRef< CDataSource > TDataSourceLock
const CDataSource_ScopeInfo & operator=(const CDataSource_ScopeInfo &)
pair< TSeq_annot_Lock, int > TSeq_feat_Lock
TTSE_UnlockQueue m_TSE_UnlockQueue
void UnlockedTSEsSave(void)
CDataSource_ScopeInfo(const CDataSource_ScopeInfo &)
TTSE_LockSet m_TSE_LockSet
CTSE_ScopeUserLock TTSE_Lock
TTSE_BySeqId m_TSE_BySeqId
CTSE_LockSet TTSE_LockSet
TTSE_InfoMapMutex & GetTSE_InfoMapMutex(void) const
CScope_Impl & GetScopeImpl(void) const
set< TBlobId > m_ReplacedTSEs
multimap< CSeq_id_Handle, TTSE_ScopeInfo > TTSE_BySeqId
bool CanRemoveOnResetHistory(void) const
CDataSource & GetDataSource(void)
CScopeInfo_Ref< CBioseq_ScopeInfo > TBioseq_Lock
TTSE_LockSetMutex m_TSE_LockSetMutex
pair< CConstRef< CSeq_entry_Info >, TTSE_Lock > TSeq_entry_Lock
TDataSourceLock m_DataSource
CRef< CDataSource_ScopeInfo > m_EditDS
TTSE_InfoMap m_TSE_InfoMap
void UnlockedTSEsRelease(void)
CRef< CTSE_ScopeInfo > TTSE_ScopeInfo
pair< CConstRef< CBioseq_set_Info >, TTSE_Lock > TBioseq_set_Lock
pair< CConstRef< CSeq_annot_Info >, TTSE_Lock > TSeq_annot_Lock
TTSE_LockSetMutex m_TSE_UnlockQueueMutex
map< CSeq_id_Handle, SSeqMatch_Scope > TSeqMatchMap
bool m_CanRemoveOnResetHistory
map< TBlobId, TTSE_ScopeInfo > TTSE_InfoMap
bool CanBeEdited(void) const
CDeleteQueue< const CTSE_ScopeInfo *, CTSE_ScopeInternalLock > TTSE_UnlockQueue
TQueue::iterator TQueueIter
vector< value_type > TUnlockSet
list< TQueueValue > TQueue
value_type Get(const key_type &key)
void Put(const key_type &key, const value_type &value, TUnlockSet *unlock_set=0)
map< key_type, TQueueIter > TIndex
pair< key_type, value_type > TQueueValue
void Clear(TUnlockSet *unlock_set=0)
CDeleteQueue(size_t max_size=0)
TIndex::iterator TIndexIter
void Put(const key_type &key, const value_type &value, value_type *unlock_ptr)
TIndex::value_type TIndexValue
bool Contains(const key_type &key) const
void Erase(const key_type &key, value_type *unlock_ptr=0)
vector< TIndexId > TIndexIds
namespace ncbi::objects::
CConstRef< CTSE_Info_Object > TScopeInfoMapKey
CDataSource_ScopeInfo & GetDSInfo(void) const
CTSE_ScopeInfo(const CTSE_ScopeInfo &)
pair< int, int > TBlobOrder
CScopeInfo_Ref< CSeq_entry_ScopeInfo > TSeq_entry_Lock
CTSE_ScopeInfo & operator=(const CTSE_ScopeInfo &)
CScopeInfo_Ref< CBioseq_set_ScopeInfo > TBioseq_set_Lock
const CTSE_Lock & GetTSE_Lock(void) const
AutoPtr< SUnloadedInfo > m_UnloadedInfo
bool CanBeUnloaded(void) const
CScopeInfo_Ref< CBioseq_ScopeInfo > TBioseq_Lock
map< TScopeInfoMapKey, TScopeInfoMapValue > TScopeInfoMap
int GetLoadIndex(void) const
atomic< Int8 > m_TSE_LockCounter
CRef< CScopeInfo_Base > TScopeInfoMapValue
CMutex m_ScopeInfoMapMutex
vector< CSeq_id_Handle > TSeqIds
bool IsUserLocked(void) const
atomic< Int8 > m_UserLockCounter
const CTSE_ScopeInfo * m_UsedByTSE
atomic< Int1 > m_TSE_LockAssignState
bool CanBeEdited(void) const
multimap< CSeq_id_Handle, CRef< CBioseq_ScopeInfo > > TBioseqById
CScope_Impl & GetScopeImpl(void) const
TUsedTSE_LockSet m_UsedTSE_Set
map< CConstRef< CObject >, CRef< CObject > > TEditInfoMap
CDataSource_ScopeInfo * m_DS_Info
bool IsAttached(void) const
CConstRef< CTSE_ScopeInfo > TUsedTSE_LockKey
map< TUsedTSE_LockKey, CTSE_ScopeInternalLock > TUsedTSE_LockSet
TScopeInfoMap m_ScopeInfoMap
CScopeInfo_Ref< CSeq_annot_ScopeInfo > TSeq_annot_Lock
TUnlockedTSEsLock m_UnlockedTSEsLock
vector< CTSE_ScopeInternalLock > TUnlockedTSEsInternal
vector< CConstRef< CTSE_Info > > TUnlockedTSEsLock
static void SaveInternal(const CTSE_ScopeInternalLock &lock)
TUnlockedTSEsInternal m_UnlockedTSEsInternal
static void SaveLock(const CTSE_Lock &lock)
~CUnlockedTSEsGuard(void)
container_type::iterator iterator
const_iterator end() const
iterator_bool insert(const value_type &val)
container_type::value_type value_type
const_iterator find(const key_type &key) const
unsigned int TSeqPos
Type for sequence locations and lengths.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#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
const struct ncbi::grid::netcache::search::fields::KEY key
const GenericPointer< typename T::ValueType > T2 value
GenericValue< UTF8<> > Value
GenericValue with UTF8 encoding.
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)
@ Resolve
Try to resolve provided seq-ids.
atomic< int > m_SearchTimestamp
SAnnotSelector::TNamedAnnotAccessions accessions
bool operator<(const SNASetKey &other) const
CRef< CDataSource > m_Source
CInitMutex< CBioseq_ScopeInfo > m_Bioseq_Info
void x_ResetAnnotRef_Info()
CBioseq_ScopeInfo::TAnnotRefInfo m_AllAnnotRef_Info
CBioseq_ScopeInfo::TNAAnnotRefInfo m_NAAllAnnotRef_Info
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