summaryrefslogtreecommitdiff
path: root/indra/llcommon/llrefcount.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llcommon/llrefcount.h')
-rw-r--r--indra/llcommon/llrefcount.h16
1 files changed, 8 insertions, 8 deletions
diff --git a/indra/llcommon/llrefcount.h b/indra/llcommon/llrefcount.h
index d3597b454c..a18f6706a9 100644
--- a/indra/llcommon/llrefcount.h
+++ b/indra/llcommon/llrefcount.h
@@ -39,24 +39,22 @@
// see llthread.h for LLThreadSafeRefCount
//----------------------------------------------------------------------------
-class LLRefCount
+class LL_COMMON_API LLRefCount
{
protected:
- LLRefCount(const LLRefCount& other); // no implementation
-private:
- LLRefCount& operator=(const LLRefCount&); // no implementation
-protected:
+ LLRefCount(const LLRefCount& other);
+ LLRefCount& operator=(const LLRefCount&);
virtual ~LLRefCount(); // use unref()
public:
LLRefCount();
- void ref()
+ void ref() const
{
mRef++;
}
- S32 unref()
+ S32 unref() const
{
llassert(mRef >= 1);
if (0 == --mRef)
@@ -67,13 +65,15 @@ public:
return mRef;
}
+ //NOTE: when passing around a const LLRefCount object, this can return different results
+ // at different types, since mRef is mutable
S32 getNumRefs() const
{
return mRef;
}
private:
- S32 mRef;
+ mutable S32 mRef;
};
#endif