100    { 
return m_refcount; }
 
 
  106    { m_refMutex.
lock(); }
 
 
  117    static void initClass();
 
  120    static void exitClass();
 
  137    static void setRefCountCallback(SoBaseRefCountCB *f)
 
  138    { s_refCountCBFunc = f; }
 
  152    void setRefCountCallbackData(
void *userData = NULL)
 
  153    { m_refCountCBData = userData; }
 
  158    void invokeRefCountCB() 
const;
 
  161    static inline void setTraceRefs(
const bool enable)
 
  162    { s_traceRefs = enable; }
 
  165    static inline SbBool getTraceRefs()
 
  166    { 
return s_traceRefs; }
 
  172    void setRefCount(
const int count);
 
  175    void addOnDeleteCB(
SoRefCounter *context, 
const std::function<
void()> &callBackFunction);
 
  178    void addOnDeleteCB(
const std::function<
void()> &callBackFunction);
 
  179    void addOnDeleteCB(
const std::function<
void(
SoRefCounter* caller)> &callBackFunction);
 
  203    virtual bool notifyDelete()
 const 
  210    virtual void destroy()
 
  215  static bool s_traceRefs;
 
  218  static SoBaseRefCountCB* s_refCountCBFunc;
 
  219  void* m_refCountCBData;
 
  222  mutable int m_refcount;
 
  226  std::vector<OnDeleteCB> *m_onDeleteCBVec;
 
  227  std::vector<SoRefCounter*> *m_contextVec;
 
  228  void cleanUpContextsCB();
 
  229  void cleanUpContextsLists();