blob: 31aa80dacdb1f8f053677c3ab5b3e1c9336557f2 [file] [log] [blame]
epoger@google.comec3ed6a2011-07-28 14:26:00 +00001
reed@google.comac10a2d2010-12-22 21:39:39 +00002/*
epoger@google.comec3ed6a2011-07-28 14:26:00 +00003 * Copyright 2010 Google Inc.
4 *
5 * Use of this source code is governed by a BSD-style license that can be
6 * found in the LICENSE file.
reed@google.comac10a2d2010-12-22 21:39:39 +00007 */
8
9
epoger@google.comec3ed6a2011-07-28 14:26:00 +000010
reed@google.comac10a2d2010-12-22 21:39:39 +000011#ifndef GrRefCnt_DEFINED
12#define GrRefCnt_DEFINED
13
14#include "GrTypes.h"
reed@google.com970cb552011-07-15 15:52:28 +000015#include "SkRefCnt.h"
reed@google.comac10a2d2010-12-22 21:39:39 +000016
reed@google.com970cb552011-07-15 15:52:28 +000017typedef SkRefCnt GrRefCnt;
18typedef SkAutoRef GrAutoRef;
19typedef SkAutoUnref GrAutoUnref;
reed@google.comac10a2d2010-12-22 21:39:39 +000020
bsalomon@google.comb0951402011-08-19 15:37:34 +000021#define GrSafeRef SkSafeRef
22#define GrSafeUnref SkSafeUnref
reed@google.com970cb552011-07-15 15:52:28 +000023#define GrSafeAssign(a, b) SkRefCnt_SafeAssign(a, b)
reed@google.comac10a2d2010-12-22 21:39:39 +000024
bsalomon@google.com8fe72472011-03-30 21:26:44 +000025template<typename T>
26static inline void GrSafeSetNull(T*& obj) {
27 if (NULL != obj) {
28 obj->unref();
29 obj = NULL;
30 }
31}
32
reed@google.comac10a2d2010-12-22 21:39:39 +000033#endif