skia2/include/gpu/GrKey.h
commit-bot@chromium.org a4de8c257e Remove GrRefCnt.h in favor of SkRefCnt.h
This removes GrRefCnt.h with all its tyepdefs and #defines and just switch them
to the Sk* equivalents.

GrSafeSetNull was promoted to SkSafeSetNull in SkRefCnt.h.

BUG=None
TEST=none, no functional changes.
R=bsalomon@google.com, robertphillips@google.com

Author: tfarina@chromium.org

Review URL: https://chromiumcodereview.appspot.com/23904003

git-svn-id: http://skia.googlecode.com/svn/trunk@11151 2bbb7eff-a529-9590-31e7-b0007b416f81
2013-09-09 13:38:37 +00:00

39 lines
795 B
C++

/*
* Copyright 2010 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef GrKey_DEFINED
#define GrKey_DEFINED
class GrKey : public SkRefCnt {
public:
SK_DECLARE_INST_COUNT(GrKey)
typedef intptr_t Hash;
explicit GrKey(Hash hash) : fHash(hash) {}
intptr_t getHash() const { return fHash; }
bool operator<(const GrKey& rh) const {
return fHash < rh.fHash || (fHash == rh.fHash && this->lt(rh));
}
bool operator==(const GrKey& rh) const {
return fHash == rh.fHash && this->eq(rh);
}
protected:
virtual bool lt(const GrKey& rh) const = 0;
virtual bool eq(const GrKey& rh) const = 0;
private:
const Hash fHash;
typedef SkRefCnt INHERITED;
};
#endif