开放Origin方法

This commit is contained in:
2025-08-23 17:15:57 +08:00
parent 2c25c8fa1f
commit 651c890442

View File

@@ -21,10 +21,15 @@ template <> struct Object<void>
}; };
template <typename DerivedTerminal> struct Object : private Object<void> template <typename DerivedTerminal> struct Object : private Object<void>
{ {
constexpr DerivedTerminal* Origin() noexcept
{
return static_cast<DerivedTerminal*>(this);
}
using TDerivedTerminal = DerivedTerminal; using TDerivedTerminal = DerivedTerminal;
constexpr DerivedTerminal* operator->() noexcept constexpr DerivedTerminal* operator->() noexcept
{ {
return static_cast<DerivedTerminal*>(this); return Origin();
} }
template<typename T, template<typename T,