MCPcopy Create free account
hub / github.com/MegEngine/MegEngine / LocalResourceManagerRef

Class LocalResourceManagerRef

imperative/src/impl/resource_manager.cpp:43–63  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

41};
42
43class LocalResourceManagerRef : public NonCopyableObj {
44private:
45 std::weak_ptr<LocalResourceManager> m_manager;
46
47public:
48 LocalResourceManagerRef() {
49 auto manager = std::make_shared<LocalResourceManager>();
50 mgb_assert(
51 local_managers.insert({manager->id(), manager}).second,
52 "duplicated local manager");
53 m_manager = manager;
54 }
55
56 ~LocalResourceManagerRef() {
57 if (auto manager = m_manager.lock()) {
58 local_managers.erase(manager->id());
59 }
60 }
61
62 ResourceManager& operator*() { return *m_manager.lock(); }
63};
64
65} // namespace
66

Callers

nothing calls this directly

Calls 1

lockMethod · 0.45

Tested by

no test coverage detected