NCBI C++ ToolKit
|
Search Toolkit Book for CScopeInfo_Base
#include <objmgr/tse_handle.hpp>
Public Types | |
typedef CSeq_id_Handle | TIndexId |
typedef vector< TIndexId > | TIndexIds |
![]() | |
enum | EAllocFillMode { eAllocFillNone = 1 , eAllocFillZero , eAllocFillPattern } |
Control filling of newly allocated memory. More... | |
typedef CObjectCounterLocker | TLockerType |
Default locker type for CRef. More... | |
typedef atomic< Uint8 > | TCounter |
Counter type is CAtomiCounter. More... | |
typedef Uint8 | TCount |
Alias for value type of counter. More... | |
Public Member Functions | |
CScopeInfo_Base (void) | |
CScopeInfo_Base (const CTSE_ScopeUserLock &tse, const CTSE_Info_Object &info) | |
CScopeInfo_Base (const CTSE_Handle &tse, const CTSE_Info_Object &info) | |
~CScopeInfo_Base (void) | |
bool | IsDetached (void) const |
bool | IsAttached (void) const |
bool | HasObject (void) const |
bool | HasObject (const CTSE_Info_Object &info) const |
virtual const TIndexIds * | GetIndexIds (void) const |
bool | IsTemporary (void) const |
CTSE_ScopeInfo & | x_GetTSE_ScopeInfo (void) const |
const CTSE_Handle & | GetTSE_Handle (void) const |
CScope_Impl & | x_GetScopeImpl (void) const |
const CTSE_Info_Object & | GetObjectInfo_Base (void) const |
![]() | |
CObject (void) | |
Constructor. More... | |
CObject (const CObject &src) | |
Copy constructor. More... | |
virtual | ~CObject (void) |
Destructor. More... | |
CObject & | operator= (const CObject &src) THROWS_NONE |
Assignment operator. More... | |
bool | CanBeDeleted (void) const THROWS_NONE |
Check if object can be deleted. More... | |
bool | IsAllocatedInPool (void) const THROWS_NONE |
Check if object is allocated in memory pool (not system heap) More... | |
bool | Referenced (void) const THROWS_NONE |
Check if object is referenced. More... | |
bool | ReferencedOnlyOnce (void) const THROWS_NONE |
Check if object is referenced only once. More... | |
void | AddReference (void) const |
Add reference to object. More... | |
void | RemoveReference (void) const |
Remove reference to object. More... | |
void | ReleaseReference (void) const |
Remove reference without deleting object. More... | |
virtual void | DoNotDeleteThisObject (void) |
Mark this object as not allocated in heap – do not delete this object. More... | |
virtual void | DoDeleteThisObject (void) |
Mark this object as allocated in heap – object can be deleted. More... | |
void * | operator new (size_t size) |
Define new operator for memory allocation. More... | |
void * | operator new[] (size_t size) |
Define new[] operator for 'array' memory allocation. More... | |
void | operator delete (void *ptr) |
Define delete operator for memory deallocation. More... | |
void | operator delete[] (void *ptr) |
Define delete[] operator for memory deallocation. More... | |
void * | operator new (size_t size, void *place) |
Define new operator. More... | |
void | operator delete (void *ptr, void *place) |
Define delete operator. More... | |
void * | operator new (size_t size, CObjectMemoryPool *place) |
Define new operator using memory pool. More... | |
void | operator delete (void *ptr, CObjectMemoryPool *place) |
Define delete operator. More... | |
virtual void | DebugDump (CDebugDumpContext ddc, unsigned int depth) const |
Define method for dumping debug information. More... | |
![]() | |
CDebugDumpable (void) | |
virtual | ~CDebugDumpable (void) |
void | DebugDumpText (ostream &out, const string &bundle, unsigned int depth) const |
void | DebugDumpFormat (CDebugDumpFormatter &ddf, const string &bundle, unsigned int depth) const |
void | DumpToConsole (void) const |
Protected Types | |
enum | ECheckFlags { fAllowZero = 0x00 , fForceZero = 0x01 , fForbidZero = 0x02 , fAllowInfo = 0x00 , fForceInfo = 0x10 , fForbidInfo = 0x20 } |
typedef int | TCheckFlags |
Protected Member Functions | |
virtual void | x_AttachTSE (CTSE_ScopeInfo *tse) |
virtual void | x_DetachTSE (CTSE_ScopeInfo *tse) |
void | x_ResetTSE_Lock (void) |
void | x_SetTSE_Lock (const CTSE_ScopeUserLock &tse, const CTSE_Info_Object &info) |
void | x_SetTSE_Handle (const CTSE_Handle &tse) |
void | AddInfoLock (void) |
void | RemoveInfoLock (void) |
![]() | |
virtual void | DeleteThis (void) |
Virtual method "deleting" this object. More... | |
Private Member Functions | |
CScopeInfo_Base (const CScopeInfo_Base &) | |
void | operator= (const CScopeInfo_Base &) |
Private Attributes | |
CTSE_ScopeInfo * | m_TSE_ScopeInfo |
atomic< Uint8 > | m_LockCounter |
CTSE_Handle | m_TSE_Handle |
CConstRef< CObject > | m_ObjectInfo |
atomic< bool > | m_TSE_HandleAssigned |
atomic< bool > | m_ObjectInfoAssigned |
CRef< CObject > | m_DetachedInfo |
Friends | |
class | CTSE_ScopeInfo |
class | CScopeInfoLocker |
Additional Inherited Members | |
![]() | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (void) |
Define method to throw null pointer exception. More... | |
static NCBI_XNCBI_EXPORT void | ThrowNullPointerException (const type_info &type) |
static EAllocFillMode | GetAllocFillMode (void) |
static void | SetAllocFillMode (EAllocFillMode mode) |
static void | SetAllocFillMode (const string &value) |
Set mode from configuration parameter value. More... | |
![]() | |
static void | EnableDebugDump (bool on) |
![]() | |
static const TCount | eCounterBitsCanBeDeleted = 1 << 0 |
Define possible object states. More... | |
static const TCount | eCounterBitsInPlainHeap = 1 << 1 |
Heap signature was found. More... | |
static const TCount | eCounterBitsPlaceMask |
Mask for 'in heap' state flags. More... | |
static const int | eCounterStep = 1 << 2 |
Skip over the "in heap" bits. More... | |
static const TCount | eCounterValid = TCount(1) << (sizeof(TCount) * 8 - 2) |
Minimal value for valid objects (reference counter is zero) Must be a single bit value. More... | |
static const TCount | eCounterStateMask |
Valid object, and object in heap. More... | |
Definition at line 392 of file tse_handle.hpp.
|
protected |
Definition at line 561 of file tse_handle.hpp.
Definition at line 420 of file tse_handle.hpp.
typedef vector<TIndexId> CScopeInfo_Base::TIndexIds |
Definition at line 421 of file tse_handle.hpp.
|
protected |
Enumerator | |
---|---|
fAllowZero | |
fForceZero | |
fForbidZero | |
fAllowInfo | |
fForceInfo | |
fForbidInfo |
Definition at line 553 of file tse_handle.hpp.
CScopeInfo_Base::CScopeInfo_Base | ( | void | ) |
Definition at line 435 of file tse_handle.cpp.
CScopeInfo_Base::CScopeInfo_Base | ( | const CTSE_ScopeUserLock & | tse, |
const CTSE_Info_Object & | info | ||
) |
Definition at line 444 of file tse_handle.cpp.
References _ASSERT, HasObject(), and info.
CScopeInfo_Base::CScopeInfo_Base | ( | const CTSE_Handle & | tse, |
const CTSE_Info_Object & | info | ||
) |
Definition at line 458 of file tse_handle.cpp.
References _ASSERT, HasObject(), and info.
CScopeInfo_Base::~CScopeInfo_Base | ( | void | ) |
Definition at line 472 of file tse_handle.cpp.
|
private |
|
inlineprotected |
Definition at line 569 of file tse_handle.hpp.
References m_LockCounter.
|
virtual |
Reimplemented in CBioseq_ScopeInfo.
Definition at line 483 of file tse_handle.cpp.
Referenced by IsTemporary().
|
inline |
Definition at line 452 of file tse_handle.hpp.
References _ASSERT, and HasObject().
Referenced by CBioseq_set_ScopeInfo::GetObjectInfo(), CBioseq_ScopeInfo::GetObjectInfo(), CSeq_annot_ScopeInfo::GetObjectInfo(), CSeq_entry_ScopeInfo::GetObjectInfo(), HasObject(), CTSE_ScopeInfo::x_CheckAdded(), CTSE_ScopeInfo::x_RestoreAdded(), and x_SetTSE_Handle().
|
inline |
Definition at line 445 of file tse_handle.hpp.
References m_TSE_Handle.
Referenced by CBioseq_Handle::GetState(), CBioseq_Handle::GetTSE_Handle(), CBioseq_set_Handle::GetTSE_Handle(), CSeq_annot_Handle::GetTSE_Handle(), CSeq_entry_Handle::GetTSE_Handle(), and CTSE_ScopeInfo::x_CheckAdded().
|
inline |
Definition at line 415 of file tse_handle.hpp.
References GetObjectInfo_Base(), HasObject(), and info.
|
inline |
Definition at line 411 of file tse_handle.hpp.
References m_ObjectInfoAssigned.
Referenced by CBioseq_ScopeInfo::AddId(), CScopeInfo_Base(), GetObjectInfo_Base(), HasObject(), CBioseq_ScopeInfo::RemoveId(), CBioseq_ScopeInfo::ResetId(), CTSE_ScopeInfo::x_CheckAdded(), CTSE_ScopeInfo::x_RestoreAdded(), x_SetTSE_Handle(), and x_SetTSE_Lock().
|
inline |
Definition at line 407 of file tse_handle.hpp.
References m_TSE_ScopeInfo.
Referenced by CTSE_ScopeInfo::AddAnnot(), CTSE_ScopeInfo::AddEntry(), CScopeInfo_RefBase::IsValid(), CTSE_ScopeInfo::SelectSeq(), CTSE_ScopeInfo::SelectSet(), CTSE_ScopeInfo::x_CheckAdded(), CTSE_ScopeInfo::x_RestoreAdded(), x_SetTSE_Handle(), and CBioseq_ScopeInfo::~CBioseq_ScopeInfo().
|
inline |
Definition at line 403 of file tse_handle.hpp.
References m_TSE_ScopeInfo.
Referenced by CBioseq_Handle::IsRemoved(), CScopeInfo_RefBase::IsRemoved(), CScope_Impl::RemoveFromHistory(), x_AttachTSE(), CTSE_ScopeInfo::x_CheckAdded(), CScope_Impl::x_ClearCacheOnRemoveData(), x_DetachTSE(), CTSE_ScopeInfo::x_RestoreAdded(), and x_SetTSE_Lock().
|
inline |
Definition at line 432 of file tse_handle.hpp.
References GetIndexIds().
|
private |
|
inlineprotected |
Definition at line 573 of file tse_handle.hpp.
References m_LockCounter, and x_ResetTSE_Lock().
|
protectedvirtual |
Reimplemented in CBioseq_ScopeInfo.
Definition at line 554 of file tse_handle.cpp.
References _ASSERT, IsDetached(), and m_TSE_ScopeInfo.
Referenced by CBioseq_ScopeInfo::x_AttachTSE().
|
protectedvirtual |
Reimplemented in CBioseq_ScopeInfo.
Definition at line 563 of file tse_handle.cpp.
References _ASSERT, IsDetached(), m_TSE_Handle, and m_TSE_ScopeInfo.
Referenced by CBioseq_ScopeInfo::x_DetachTSE().
CScope_Impl & CScopeInfo_Base::x_GetScopeImpl | ( | void | ) | const |
Definition at line 477 of file tse_handle.cpp.
References CTSE_ScopeInfo::GetScopeImpl(), and x_GetTSE_ScopeInfo().
Referenced by CBioseq_ScopeInfo::AddId(), CBioseq_ScopeInfo::RemoveId(), CBioseq_ScopeInfo::ResetId(), CScope_Impl::x_FindBioseq_Info(), CScope_Impl::x_InitBioseq_Info(), and CScope_Impl::x_ResolveSeq_id().
|
inline |
Definition at line 438 of file tse_handle.hpp.
References _ASSERT, info, and m_TSE_ScopeInfo.
Referenced by CBioseq_ScopeInfo::AddId(), CBioseq_ScopeInfo::GetLock(), CBioseq_ScopeInfo::RemoveId(), CBioseq_ScopeInfo::ResetId(), CScope_Impl::x_ClearCacheOnEdit(), x_GetScopeImpl(), CScope_Impl::x_GetTSESetWithAnnots(), CScope_Impl::x_GetTSESetWithBioseqAnnots(), CScope_Impl::x_GetTSESetWithOrphanAnnots(), CScope_Impl::x_SelectSeq(), and CBioseq_ScopeInfo::~CBioseq_ScopeInfo().
|
protected |
Definition at line 539 of file tse_handle.cpp.
References m_LockCounter, m_TSE_Handle, m_TSE_HandleAssigned, and CTSE_Handle::Swap().
Referenced by RemoveInfoLock().
|
protected |
Definition at line 492 of file tse_handle.cpp.
References _ASSERT, GetObjectInfo_Base(), HasObject(), IsAttached(), m_LockCounter, m_TSE_Handle, m_TSE_HandleAssigned, CTSE_Handle::Swap(), and CTSE_Handle::x_GetTSE_Info().
|
protected |
Definition at line 513 of file tse_handle.cpp.
References _ASSERT, HasObject(), info, IsDetached(), m_LockCounter, m_ObjectInfo, m_ObjectInfoAssigned, m_TSE_Handle, m_TSE_HandleAssigned, m_TSE_ScopeInfo, CTSE_Handle::Swap(), and CTSE_Handle::x_GetScopeInfo().
|
friend |
Definition at line 547 of file tse_handle.hpp.
|
friend |
Definition at line 546 of file tse_handle.hpp.
Definition at line 590 of file tse_handle.hpp.
Referenced by CTSE_ScopeInfo::x_CheckAdded(), and CTSE_ScopeInfo::x_RestoreAdded().
|
private |
Definition at line 583 of file tse_handle.hpp.
Referenced by AddInfoLock(), RemoveInfoLock(), CTSE_ScopeInfo::x_CheckAdded(), x_ResetTSE_Lock(), CTSE_ScopeInfo::x_RestoreAdded(), x_SetTSE_Handle(), and x_SetTSE_Lock().
Definition at line 587 of file tse_handle.hpp.
Referenced by x_SetTSE_Lock().
|
private |
Definition at line 589 of file tse_handle.hpp.
Referenced by HasObject(), and x_SetTSE_Lock().
|
private |
Definition at line 586 of file tse_handle.hpp.
Referenced by GetTSE_Handle(), x_DetachTSE(), x_ResetTSE_Lock(), CTSE_ScopeInfo::x_RestoreAdded(), x_SetTSE_Handle(), and x_SetTSE_Lock().
|
private |
Definition at line 588 of file tse_handle.hpp.
Referenced by x_ResetTSE_Lock(), x_SetTSE_Handle(), and x_SetTSE_Lock().
|
private |
Definition at line 582 of file tse_handle.hpp.
Referenced by IsAttached(), IsDetached(), x_AttachTSE(), x_DetachTSE(), x_GetTSE_ScopeInfo(), and x_SetTSE_Lock().