65bool RemoveItem(std::vector<std::shared_ptr<T>> *list, std::shared_ptr<T> t) {
69 typename std::vector<std::shared_ptr<T>>::iterator itor = list->begin();
70 for (; itor != list->end();) {
71 if (itor->get() == t.get()) {
72 itor = list->erase(itor);