// Let an object un-register its existence void object_registrar::unregister_object_imp ( object_id obj ) { set_type::iterator const i = db_.find( obj ); if ( i != db_.end() ) { db_.erase( i ); #if CONTROL_EXTRA_PRINTING std::cout << "Unregistered " << obj << '.' << std::endl; #endif } else { overkilled_.push_back( obj ); #if CONTROL_EXTRA_PRINTING std::cout << "Attempted to unregister a non-existant " << obj << '.' << std::endl; #endif } }
//-----------------------------------------------------------------// bool probe(handle_type h) const { if(h > 0 && h < limit_) { return erase_set_.find(h) == erase_set_.end(); } else { return false; } }
//-----------------------------------------------------------------// inline bool probe(handle_type h) const { if(static_cast<size_t>(h) < size()) { return erase_set_.find(h) == erase_set_.end(); } else { return false; } }
//-----------------------------------------------------------------// bool erase(handle_type h) { if(h > 0 && h < limit_) { set_it it = erase_set_.find(h); if(it == erase_set_.end()) { erase_set_.insert(h); return true; } } return false; }
//-----------------------------------------------------------------// bool erase(handle_type h) { if(static_cast<size_t>(h) < size()) { set_it it = erase_set_.find(h); if(it == erase_set_.end()) { erase_set_.insert(h); return true; } } return false; }
iterator find (const key_type& k) const { return m_set.find (k); }