예제 #1
0
// 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
    }
}
예제 #2
0
		//-----------------------------------------------------------------//
		bool probe(handle_type h) const {
			if(h > 0 && h < limit_) {
				return erase_set_.find(h) == erase_set_.end();
			} else {
				return false;
			}
		}
예제 #3
0
		//-----------------------------------------------------------------//
		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;
			}
		}
예제 #4
0
		//-----------------------------------------------------------------//
		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;
		}
예제 #5
0
		//-----------------------------------------------------------------//
		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;
		}
예제 #6
0
 iterator find (const key_type& k) const {
   return m_set.find (k);
 }