83 type_subtypes[
type].push_back(subtype);
92 ITERATE ( vector<Uint1>, it, type_subtypes[
type] ) {
124 _TRACE(
"type: "<<feat_type
125 <<
" range: "<<
range.first<<
"-"<<
range.second);
129 for (
size_t ind =
range.first; ind <
range.second; ++ind ) {
177 r.second =
r.first?
r.first + 1: 0;
DEFINE_STATIC_FAST_MUTEX(sm_TablesInitializeMutex)
static void x_InitIndexTables(void)
static CSeqFeatData::ESubtype GetSubtypeForIndex(size_t index)
pair< size_t, size_t > TIndexRange
static TIndexRange GetFeatTypeRange(CSeqFeatData::E_Choice type)
static TIndexRange GetTypeIndex(const CAnnotObject_Info &info)
static size_t GetSubtypeIndex(CSeqFeatData::ESubtype subtype)
static Uint1 sm_FeatSubtypeIndex[kFeatSubtype_size]
static SAnnotTypeSelector GetTypeSelector(size_t index)
static Uint1 sm_FeatTypeIndexRange[kFeatType_size][2]
static void Initialize(void)
static Uint1 sm_AnnotTypeIndexRange[kAnnotType_size][2]
static Uint1 sm_IndexSubtype[kAnnotIndex_size]
static TIndexRange GetIndexRange(const SAnnotTypeSelector &sel)
static TIndexRange GetAnnotTypeRange(CSeq_annot::C_Data::E_Choice type)
static atomic< bool > sm_TablesInitialized
static E_Choice GetTypeFromSubtype(ESubtype subtype)
@ eSubtype_bad
These no longer need to match the FEATDEF values in the C toolkit's objfdef.h.
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
uint8_t Uint1
1-byte (8-bit) unsigned integer
#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.
@ e_not_set
No variant selected.
@ e_Ids
used for communication between tools
@ e_not_set
No variant selected.
@ e_Locs
used for communication between tools
range(_Ty, _Ty) -> range< _Ty >
Multi-threading – mutexes; rw-locks; semaphore.
double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)
TFeatSubtype GetFeatSubtype(void) const
TAnnotType GetAnnotType(void) const
TFeatType GetFeatType(void) const
void SetAnnotType(TAnnotType type)
void SetFeatSubtype(TFeatSubtype subtype)