--- deliantra/server/include/util.h 2006/09/07 20:03:20 1.5 +++ deliantra/server/include/util.h 2006/09/11 01:16:20 1.6 @@ -10,6 +10,7 @@ // makes dynamically allocated objects zero-initialised struct zero_initialised { + void *operator new (size_t s, void *); void *operator new (size_t s); void *operator new [] (size_t s); void operator delete (void *p, size_t s); @@ -50,5 +51,26 @@ } }; +#include + +template +struct unordered_vector : std::vector +{ + typedef typename std::vector::iterator iterator; + + void erase (unsigned int pos) + { + if (pos < this->size () - 1) + (*this)[pos] = (*this)[this->size () - 1]; + + this->pop_back (); + } + + void erase (iterator i) + { + erase ((unsigned int )(i - this->begin ())); + } +}; + #endif