#ifndef SHELF_HH #define SHELF_HH #include "hashmap.hh" #include "vector.hh" #include "permstr.hh" #include "body.hh" class Shelf { HashMap _body_map; Vector _bodies; public: Shelf(); void add(PermString, Body *); Body *find(PermString name) const { return _bodies[_body_map[name]]; }; Vehicle *find_vehicle(PermString name) const; }; inline Vehicle * Shelf::find_vehicle(PermString name) const { Body *b = find(name); return (b ? b->cast_vehicle() : 0); } #endif