A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from http://www.ncbi.nlm.nih.gov/IEB/ToolBox/CPP_DOC/doxyhtml/classCSeqDBExtFile.html below:

NCBI C++ ToolKit: CSeqDBExtFile Class Reference

Search Toolkit Book for CSeqDBExtFile

Database component file. More...

#include <objtools/blast/seqdb_reader/impl/seqdbfile.hpp>

  CSeqDBExtFile (CSeqDBAtlas &atlas, const string &dbfilename, char prot_nucl)   Constructor. More...
  virtual  ~CSeqDBExtFile ()   Destructor. More...
  void  UnLease ()   Release memory held in the atlas layer by this object. More...
    CObject (void)   Constructor. More...
    CObject (const CObject &src)   Copy constructor. More...
  virtual  ~CObject (void)   Destructor. More...
  CObjectoperator= (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  

Database component file.

This represents any database component file with an extension like "pxx" or "nxx". This finds the correct type (protein or nucleotide) if that is unknown, and computes the filename based on a filename template like "path/to/file/basename.-in".

This also provides a 'protected' interface to the specific db files, and defines a few useful methods.

Definition at line 258 of file seqdbfile.hpp.

◆ TIndx

Type which spans possible file offsets.

Definition at line 261 of file seqdbfile.hpp.

◆ CSeqDBExtFile()

Constructor.

This builds an object which has a few properties required by most or all database volume component files. This object keeps a lease on the file from the first access until instructed not to, moving and expanding that lease to cover incoming requests. By keeping a lease, lookups, file opens, and other expensive operations are usually avoided on subsequent calls. This object also provides some methods to read data in a byte swapped or direct way.

Parameters
atlas The memory management layer object. dbfilename The name of the managed file. prot_nucl The sequence data type. locked The lock holder object for this thread.

Definition at line 106 of file seqdbfile.cpp.

References CSeqDBFileMemMap::Init(), m_File, m_FileName, m_Lease, msg(), NCBI_THROW, CSeqDBRawFile::Open(), string, and x_SetFileType().

◆ ~CSeqDBExtFile() virtual CSeqDBExtFile::~CSeqDBExtFile ( ) inlinevirtual ◆ UnLease() void CSeqDBExtFile::UnLease ( ) inline ◆ x_GetSeqType() char CSeqDBExtFile::x_GetSeqType ( ) const inlineprotected ◆ x_ReadBytes() void CSeqDBExtFile::x_ReadBytes ( char *  buf, TIndx  start, TIndx  end  ) const inlineprotected

Read part of the file into a buffer.

Copy the file data from offsets start to end into the array at buf, which is assumed to already have been allocated. This method assumes the atlas lock is held.

Parameters
buf The destination for the data to be read. start The starting offset for the first byte to read. end The offset for the first byte after the area to read.

Definition at line 312 of file seqdbfile.hpp.

References buf, m_File, m_Lease, and CSeqDBRawFile::ReadBytes().

Referenced by CSeqDBSeqFile::ReadBytes(), and CSeqDBHdrFile::ReadBytes().

◆ x_ReadSwapped()

Read a numerical object from the file.

Given a pointer to an object in memory, this reads a numerical value for it from the file. The data in the file is assumed to be in network byte order, and the user version in the local default byte order (host order). The offset of the data is provided, and the size of the object is taken as sizeof(T).

Parameters
lease A memory lease object to use for the read. offset The starting offset of the object in the file. value A pointer to the object. locked The lock holder object for this thread.
Returns
The offset of the first byte after the object.

Definition at line 338 of file seqdbfile.hpp.

References m_File, offset, CSeqDBRawFile::ReadSwapped(), and rapidjson::value.

Referenced by CSeqDBIdxFile::CSeqDBIdxFile().

◆ x_SetFileType() void CSeqDBExtFile::x_SetFileType ( char  prot_nucl ) inlineprotected

Sets the sequence data type.

The sequence data will be set as protein or nucleotide. An exception is thrown if an invalid type is provided. The first character of the file extension will be modified to reflect the sequence data type.

Parameters
prot_nucl Either 'p' or 'n' for protein or nucleotide.

Definition at line 387 of file seqdbfile.hpp.

References _ASSERT, m_FileName, m_ProtNucl, and NCBI_THROW.

Referenced by CSeqDBExtFile().

◆ m_Atlas

The memory layer management object.

Definition at line 372 of file seqdbfile.hpp.

◆ m_File ◆ m_FileName string CSeqDBExtFile::m_FileName protected ◆ m_Lease ◆ m_ProtNucl char CSeqDBExtFile::m_ProtNucl protected

The documentation for this class was generated from the following files:


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