void test(void) { ObjectManager<> m; Object<>* obj = Create<Item>(); m.add(obj->id(), obj); printf("%u\n", obj->id()); obj = Create<Item>(); m.add(obj->id(), obj); printf("%u\n", obj->id()); obj = Create<Item>(); m.add(obj->id(), obj); printf("%u\n", obj->id()); obj = Create<Object<> >(); m.add(obj->id(), obj); printf("%u\n", obj->id()); obj = Create<Object<> >(); m.add(obj->id(), obj); printf("%u\n", obj->id()); obj = Create<Object<> >(); m.add(obj->id(), obj); printf("%u\n", obj->id()); m.del(2); ItemNT* itemn = CreateNT<ItemNT>("hello"); printf("%u, %s, %u\n", itemn->id(), itemn->name().c_str(), itemn->tempid()); while (!m.add(itemn->id(), itemn)) itemn->id()++; printf("%u, %s, %u\n", itemn->id(), itemn->name().c_str(), itemn->tempid()); }