diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/core/SkRefCnt.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/include/core/SkRefCnt.h b/include/core/SkRefCnt.h index adb59ddc18..7e325e0002 100644 --- a/include/core/SkRefCnt.h +++ b/include/core/SkRefCnt.h @@ -130,5 +130,22 @@ private: dst = src; \ } while (0) + +/** Check if the argument is non-null, and if so, call obj->ref() + */ +template <typename T> static inline void SkSafeRef(T* obj) { + if (obj) { + obj->ref(); + } +} + +/** Check if the argument is non-null, and if so, call obj->unref() + */ +template <typename T> static inline void SkSafeUnref(T* obj) { + if (obj) { + obj->unref(); + } +} + #endif |