35 #ifndef ALGO_BLAST_CORE__BLAST_SEQSRC_IMPL__H
36 #define ALGO_BLAST_CORE__BLAST_SEQSRC_IMPL__H
112 typedef const char* (*GetStrFnPtr)
152 #ifdef KAPPA_PRINT_DIAGNOSTICS
154 typedef Blast_GiList* (*GetGisFnPtr)
226 #ifndef SKIP_DOXYGEN_PROCESSING
236 #define DECLARE_BLAST_SEQ_SRC_MEMBER_FUNCTIONS(member_type, member) \
237 DECLARE_BLAST_SEQ_SRC_ACCESSOR(member_type, member); \
238 DECLARE_BLAST_SEQ_SRC_MUTATOR(member_type, member)
240 #define DECLARE_BLAST_SEQ_SRC_ACCESSOR(member_type, member) \
242 member_type _BlastSeqSrcImpl_Get##member(const BlastSeqSrc* var)
244 #define DECLARE_BLAST_SEQ_SRC_MUTATOR(member_type, member) \
246 void _BlastSeqSrcImpl_Set##member(BlastSeqSrc* var, member_type arg) \
273 #ifdef KAPPA_PRINT_DIAGNOSTICS
Structures for BLAST messages.
const char *(* GetStrFnPtr)(void *seqsrc_impl, void *arg)
Function pointer typedef to return a null terminated string, used to return the name of a BlastSeqSrc...
BlastSeqSrc *(* BlastSeqSrcDestructor)(BlastSeqSrc *seqrc)
Function pointer typedef to deallocate a BlastSeqSrc structure, always returns NULL.
void(* SetInt4FnPtr)(void *seqsrc_impl, int arg)
Function pointer typedef to set a 4-byte integer.
void(* ReleaseSeqBlkFnPtr)(void *seqsrc_impl, BlastSeqSrcGetSeqArg *arg)
Function pointer typedef to release sequences obtained from the data structure embedded in the BlastS...
BlastSeqSrc *(* BlastSeqSrcConstructor)(BlastSeqSrc *seqsrc, void *arg)
Function pointer typedef to create a new BlastSeqSrc structure.
Int8(* GetInt8FnPtr)(void *seqsrc_impl, void *arg)
Function pointer typedef to return a 8-byte integer.
Boolean(* GetBoolFnPtr)(void *seqsrc_impl, void *arg)
Function pointer typedef to return a boolean value, used to return whether a given BlastSeqSrc implem...
Int4(* GetInt4FnPtr)(void *seqsrc_impl, void *arg)
Function pointer typedef to return a 4-byte integer.
void(* SetSeqRangeFnPtr)(void *seqsrc_impl, BlastSeqSrcSetRangesArg *arg)
Function pointer typedef to set partial fetching range.
#define DECLARE_BLAST_SEQ_SRC_MEMBER_FUNCTIONS(member_type, member)
void(* ResetChunkIteratorFnPtr)(void *seqsrc_impl)
Function pointer typedef to reset the internal "bookmark" of the last chunk provided for iteration by...
BlastSeqSrc *(* BlastSeqSrcCopier)(BlastSeqSrc *)
Function pointer typedef to modify the contents of a BlastSeqSrc structure, copied by BlastSeqSrcCopy...
Int2(* GetSeqBlkFnPtr)(void *seqsrc_impl, BlastSeqSrcGetSeqArg *arg)
Function pointer typedef to retrieve sequences from data structure embedded in the BlastSeqSrc struct...
Int4(* AdvanceIteratorFnPtr)(void *seqsrc_impl, BlastSeqSrcIterator *itr)
Function pointer typedef to obtain the next ordinal id to fetch from the BlastSeqSrc structure.
BlastSeqSrcItrType
Defines the type of data contained in the BlastSeqSrcIterator structure.
@ eOidRange
Data is a range of contiguous ordinal ids (indices)
@ eOidList
Data is a list of discontiguous ordinal ids (indices)
Int2(* GetNextChunkFnPtr)(void *seqsrc_impl, BlastSeqSrcIterator *itr)
Function pointer typedef to obtain the next chunk of ordinal ids for the BLAST engine to search.
SBlastSequence GetSequence(const objects::CSeq_loc &sl, EBlastEncoding encoding, objects::CScope *scope, objects::ENa_strand strand=objects::eNa_strand_plus, ESentinelType sentinel=eSentinels, std::string *warnings=NULL)
Retrieves a sequence using the object manager.
int16_t Int2
2-byte (16-bit) signed integer
int32_t Int4
4-byte (32-bit) signed integer
int64_t Int8
8-byte (64-bit) signed integer
Type and macro definitions from C toolkit that are not defined in C++ toolkit.
static Int4 GetSeqLen(DataBlkPtr entry)
Structure used as the second argument to functions satisfying the GetSeqBlkFnPtr signature,...
Complete type definition of Blast Sequence Source Iterator.
unsigned int chunk_sz
Size of the chunks to advance over the BlastSeqSrc, also size of oid_list member, this is provided to...
BlastSeqSrcItrType itr_type
Indicates which member to access: oid_list or oid_range.
int oid_range[2]
This is a half-closed interval [a,b)
int * oid_list
Array of ordinal ids used when itr_type is eOidList.
unsigned int current_pos
Keep track of this iterator's current position, implementations use UINT4_MAX to indicate this is uni...
Complete type definition of the structure used to create a new BlastSeqSrc.
BlastSeqSrcConstructor constructor
User-defined function to initialize a BlastSeqSrc structure.
void * ctor_argument
Argument to the above function.
Structure used as the argument to function SetRanges.
Complete type definition of Blast Sequence Source ADT.