cannam@0: cannam@0:
cannam@0:cannam@0: Consider the following example:
/*! Invisible class because of truncation */ cannam@0: class Invisible { }; cannam@0: cannam@0: /*! Truncated class, inheritance relation is hidden */ cannam@0: class Truncated : public Invisible { }; cannam@0: cannam@0: /* Class not documented with doxygen comments */ cannam@0: class Undocumented { }; cannam@0: cannam@0: /*! Class that is inherited using public inheritance */ cannam@0: class PublicBase : public Truncated { }; cannam@0: cannam@0: /*! A template class */ cannam@0: template<class T> class Templ { }; cannam@0: cannam@0: /*! Class that is inherited using protected inheritance */ cannam@0: class ProtectedBase { }; cannam@0: cannam@0: /*! Class that is inherited using private inheritance */ cannam@0: class PrivateBase { }; cannam@0: cannam@0: /*! Class that is used by the Inherited class */ cannam@0: class Used { }; cannam@0: cannam@0: /*! Super class that inherits a number of other classes */ cannam@0: class Inherited : public PublicBase, cannam@0: protected ProtectedBase, cannam@0: private PrivateBase, cannam@0: public Undocumented, cannam@0: public Templ<int> cannam@0: { cannam@0: private: cannam@0: Used *m_usedClass; cannam@0: }; cannam@35:
cannam@0:
cannam@0: The boxes in the above graph have the following meaning: