From d8d5edb31ff90021f391bd5f5c4025e1820fcbaa Mon Sep 17 00:00:00 2001 From: Megvii Engine Team Date: Fri, 14 Jan 2022 13:15:45 +0800 Subject: [PATCH] refactor(opdef): overwrite shared_from_this to avoid const_cast GitOrigin-RevId: 5322dbbb3ff5b89f8b3615559db01aa48f66d834 --- imperative/src/include/megbrain/imperative/op_def.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/imperative/src/include/megbrain/imperative/op_def.h b/imperative/src/include/megbrain/imperative/op_def.h index f4cb13bb..67f754de 100644 --- a/imperative/src/include/megbrain/imperative/op_def.h +++ b/imperative/src/include/megbrain/imperative/op_def.h @@ -102,6 +102,11 @@ public: static void set_allocator(allocator_t allocator); DeviceTensorStorage::RawStorage allocate(CompNode, size_t) const; + + std::shared_ptr shared_from_this() const { + return const_cast(*this) + .std::enable_shared_from_this::shared_from_this(); + } }; template