bool PrioritySingleBitFilter::Apply( BitKey & bit_list, STEP_CODE_DATA_STRUCT & io_sdc ) { bool l_modified = false; // Do priority bit. for ( size_t i = 0; i < iv_bitList.size(); i++ ) { BitKey l_key = iv_bitList[i]; if ( bit_list.isSubset(l_key) ) { l_modified = true; bit_list = l_key; break; } } // Do single bit filter portion. if ( !l_modified ) { while ( 1 < bit_list.size() ) { l_modified = true; bit_list.removeBit(); } } return l_modified; }
bool FilterPriority::Apply( BitKey & ioBitList, STEP_CODE_DATA_STRUCT & io_sdc ) { bool modified = false; if( ioBitList.isSubset(ivBitKey) ) { ioBitList = ivBitKey; modified = true; } return modified; }
bool FilterTranspose::Undo(BitKey & iBitList) { bool result = false; BitKey testbl(ivSingleBitPos); if(iBitList.isSubset(testbl)) { iBitList = ivBitKey; result = true; } return result; }