diff options
author | chai <chaifix@163.com> | 2019-03-16 19:29:23 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2019-03-16 19:29:23 +0800 |
commit | d29f5f4aebd90b1e256967801b28a5990249b2e7 (patch) | |
tree | f4f1390b57a39e0493e0f74b40dd3996d88d04e5 /Source/Asura.Engine/scripting/portable.inl | |
parent | 1ab2501db0f9e14f138292880e37120e7a6184de (diff) |
*luax
Diffstat (limited to 'Source/Asura.Engine/scripting/portable.inl')
-rw-r--r-- | Source/Asura.Engine/scripting/portable.inl | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Source/Asura.Engine/scripting/portable.inl b/Source/Asura.Engine/scripting/portable.inl new file mode 100644 index 0000000..a27b2e8 --- /dev/null +++ b/Source/Asura.Engine/scripting/portable.inl @@ -0,0 +1,30 @@ + +template<typename T> +Portable<T>::Portable() + : mRefCount(1) + , mSafer(false) +{ +} + +template<typename T> +Portable<T>::~Portable() +{ + ASSERT(mSafer); +} + +template<typename T> +void Portable<T>::Retain() +{ + ++mRefCount; +} + +template<typename T> +void Portable<T>::Release() +{ + if (--mRefCount <= 0) + { + mSafer = true; + delete this; + } +} + |