1 #ifndef CYCLUS_SRC_INTRUSIVE_BASE_H_ 2 #define CYCLUS_SRC_INTRUSIVE_BASE_H_ 4 #include <boost/intrusive_ptr.hpp> 5 #include <boost/assert.hpp> 76 mutable unsigned long counter_;
81 #endif // CYCLUS_SRC_INTRUSIVE_BASE_H_ IntrusiveBase(const IntrusiveBase &)
the copy constructor must zero out the ref count
IntrusiveBase()
protected because we don't want direct instantiations of
IntrusiveBase & operator=(const IntrusiveBase &)
friend void intrusive_ptr_release(const Derived *p)
used by boost::intrusive_ptr to decrease object's reference count and deallocate the object if the re...
IntrusiveBase provides a base class that fulfulls basic requirements for a (sub) class to be used in ...
Code providing rudimentary logging capability for the Cyclus core.
taken directly from OsiSolverInterface.cpp on 2/17/14 from https://projects.coin-or.org/Osi/browser/trunk.
friend void intrusive_ptr_add_ref(const Derived *p)
used by boost::intrusive_ptr to increase object's reference count