lichao
2021-03-30 491d98b3ba32cafed5682552bd870ca0ef93275c
src/shm.h
@@ -61,6 +61,7 @@
    template <class T, class ...Params> T * New(Params const&...params) { return construct<T>(anonymous_instance, std::nothrow)(params...); }
    template <class T> void Delete(T *p) { if (p) { destroy_ptr<T>(p); }; }
    template <class T> void Delete(offset_ptr<T> p) { Delete(p.get()); }
    template <class T> T *Find(const std::string &name) { return find<T>(name.c_str()).first; }
};
@@ -91,7 +92,8 @@
            throw("Error: Not enough memory, can not allocate \"" + name_ + "\"");
        }
    }
    Data *find(const std::string &name) { return shm_.find<Data>(ObjName(name).c_str()).first; }
    static Data *Find(SharedMemory &shm, const std::string &name) { return shm.Find<Data>(ObjName(name)); }
    Data *Find(const std::string &name) { return Find(shm_, ObjName(name)); }
    virtual ~ShmObject() {}
    std::string name() const { return name_; }
    Data* data() { return pdata_; }