Rosetta 3.3
Classes | Namespaces
src/utility/pointer/ReferenceCountMI.hh File Reference

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

#include "platform/types.hh"
#include <utility/pointer/ReferenceCountMI.fwd.hh>
#include <cstddef>

Classes

class  utility::pointer::ReferenceCountMI
 Interface class for reference counted polymorphic classes. More...

Namespaces

namespace  utility
 

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


namespace  utility::pointer

Detailed Description

Interface class for reference-counted multiple inheritance polymorphic classes.

Author:
Stuart G. Mentzer (Stuart_Mentzer@objexx.com)
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.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines