Rosetta Utilities  2014.35
Classes | Namespaces
ReferenceCountMI_.hh File Reference

Base class for reference-counted multiple inheritance polymorphic classes. More...

#include <utility/pointer/ReferenceCountMI.hh>
#include <cassert>

Classes

class  utility::pointer::ReferenceCountMI_
 Base class for reference counted polymorphic classes. More...
 

Namespaces

 utility
 unresizable vector whose size is known at compile time, which may be allocated on the stack, and which indexes from 1.
 
 utility::pointer
 

Detailed Description

Base class for reference-counted multiple inheritance polymorphic classes.

Author
Stuart G. Mentzer (Stuar.nosp@m.t_Me.nosp@m.ntzer.nosp@m.@obj.nosp@m.exx.c.nosp@m.om)
Remarks
  • Intended for use as a base class of polymorphic classes: A template-based approach without virtual destructor is preferred for non-polymorphic classes for efficiency.
  • Count value made mutable and reference add/subtract functions made const so that const objects can be held by shared ownership smart pointers.
  • Use instead of ReferenceCount if multiple inheritance is being used and a pure interface is desired at the top of the hierarchy.