ncbi::CCriteriaSet;
58 static boolmap_empty =
true;
80 if(map_empty && s_Available_Criteria_ptr->
size() == 0) {
82 const intnumCriteria =
sizeofallCriteria /
sizeofallCriteria[0];
85vector<ICriteria*> allCriteria_vec(
87allCriteria + numCriteria
91 ITERATE(vector<ICriteria*>, critter, allCriteria_vec) {
93(*s_Available_Criteria_ptr)[crit->
GetLabel()] = crit;
100 return*s_Available_Criteria_ptr;
122 if(it == critMap.
end()) {
163 if(it == critMap.
end()) {
211 if(critSet_ptr ==
NULL) {
223 static const intMASK_WORD_SIZE =
sizeof(
int) * 8;
242 if(crit->
is(&direcord)) {
256 intbit_offset = membership_bit - 1;
259 intbit_mask = 0x1 << (bit_offset % MASK_WORD_SIZE);
260 intlist_offset = bit_offset / MASK_WORD_SIZE;
263 intlist_size = bits_list.size();
264 if(list_size <= list_offset) {
266 while(list_size < list_offset) {
267bits_list.push_back(0);
271bits_list.push_back(bit_mask);
281 if(cur_offset == list_offset) {
308objects::CBlast_def_line& defline)
313defline.SetMemberships().swap(list);
bool AddCriteria(ICriteria *critPtr)
Add a CCriteria_* class to the supported collection.
CCriteriaSet(void)
Constructor, creates empty container.
unsigned int GetCriteriaCount(void) const
Return the number of entries in the container.
const TCriteriaMap & GetCriteriaMap(void) const
Return the actual container.
const ICriteria * FindCriteria(const string &label)
Fetch a CCriteria_* class based on its label.
TCriteriaMap m_Crit_from_Label
Actual container is a map object rather than a set, with the label used as the key.
static ICriteria * GetCriteriaInstance(const string &label)
Factory method, retrieve pointer to existing instance of one of the CCriteria_* subclasses.
virtual ~CCriteriaSet()
Destructor.
CCriteria_REFSEQ_GENOMIC.
virtual bool is(const SDIRecord *ptr) const =0
Return true if criteria are met.
virtual const char * GetLabel(void) const =0
Return assigned label.
virtual const int GetMembershipBit(void) const =0
Return assigned membership bit > 0.
container_type::iterator iterator
const_iterator end() const
const_iterator find(const key_type &key) const
static TCriteriaMap & GetAvailableCriteria(void)
Static (file-local) function.
CBlast_def_line::TMemberships CCriteriaSet_CalculateMemberships(const SDIRecord &direcord)
CCriteriaSet_CalculateMemberships.
This is the header file for defining and working with criteria functions.
map< string, ICriteria *, ncbi::PNocase > TCriteriaMap
#define ITERATE(Type, Var, Cont)
ITERATE macro to sequence through container elements.
#define NON_CONST_ITERATE(Type, Var, Cont)
Non constant version of ITERATE macro.
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
static const char label[]
unsigned int
A callback function used to compare two keys in a database.
Structure which corresponds to format of records in DI 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