The SeqDB memory management layer. More...
#include <corelib/ncbimtx.hpp>
#include <corelib/ncbiatomic.hpp>
#include <corelib/ncbifile.hpp>
#include <corelib/ncbi_system.hpp>
#include <corelib/ncbiapp_api.hpp>
#include <objtools/blast/seqdb_reader/impl/seqdbgeneral.hpp>
#include <vector>
#include <map>
#include <set>
#include <mutex>
#include <iostream>
Go to the source code of this file.
Go to the SVN repository for this file.
The SeqDB memory management layer.
Defines classes: CSeqDBLockHold CSeqDBMemReg CSeqDB_AtlasRegionHolder CSeqDBAtlas CSeqDBAtlasHolder
Implemented for: UNIX, MS-Windows
Definition in file seqdbatlas.hpp.
◆ BREAK_MARKER #define BREAK_MARKER ( ) m_ClassMark |= 0x20202020;Make the marker of this class invalid.
Definition at line 121 of file seqdbatlas.hpp.
◆ CHECK_MARKER Value:if (m_ClassMark != x_GetClassMark()) { \
cout << "Marker=" << m_ClassMark << endl; \
cout << "GetMrk=" << x_GetClassMark() << endl; \
cout << "\n!! Broken [" << x_GetMarkString() << "] mark detected.\n" \
<<
"!! Mark is ["<<
hex<< m_ClassMark <<
"], should be ["\
<<
hex<< x_GetClassMark() <<
"]."<< endl; \
_ASSERT(m_ClassMark == x_GetClassMark()); \
}
static void hex(unsigned char c)
Assertion to verify the marker.
Definition at line 110 of file seqdbatlas.hpp.
◆ CLASS_MARKER_FIELD #define CLASS_MARKER_FIELD ( a ) Value:static
stringx_GetMarkString() {
return string((
a a), 4); } \
int m_ClassMark;
#define INT4IFY_STRING(a)
Define memory marker for class (4+ bytes of uppercase ascii).
Definition at line 101 of file seqdbatlas.hpp.
◆ INIT_CLASS_MARK #define INIT_CLASS_MARK ( ) m_ClassMark = x_GetClassMark() ◆ INT4IFY_STRING #define INT4IFY_STRING ( a ) Value:(((
a[3] & 0xFF) << 24) | \
((
a[2] & 0xFF) << 16) | \
((
a[1] & 0xFF) << 8) | \
Define memory marker for class (4+ bytes of uppercase ascii).
Definition at line 95 of file seqdbatlas.hpp.
◆ SeqDB_MakeOSPath()Return path with delimiters changed to platform preferred kind.
The path is modified and returned. The 'Make' interface is more convenient for cases where the input path and output path are different objects. Delimiter conversion should be called by SeqDB at least once on any path received from the user, or via filesystem sources such as alias files.
Definition at line 298 of file seqdbcommon.cpp.
References SeqDB_ConvertOSPath().
Referenced by CSeqDB_SimpleAccessor::DoesFileExist(), s_ContainsBinaryNumericIdList(), s_SeqDB_TryPaths(), SeqDB_ReadBinaryGiList(), SeqDB_ReadGiList(), SeqDB_ReadMixList(), SeqDB_ReadPigList(), SeqDB_ReadSiList(), SeqDB_ReadTaxIdList(), and SeqDB_ReadTiList().
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