1 #ifndef MHO_ExtensibleElement_HH__
2 #define MHO_ExtensibleElement_HH__
24 class MHO_ExtensibleElement;
25 template<
class XExtensionType >
class MHO_ExtendedElement;
85 (*it)->Accept(aVisitor);
95 template<
class XExtensionType >
bool HasExtension()
const;
129 if(extention !=
nullptr)
148 if(extention !=
nullptr)
171 if(extention !=
nullptr)
222 if(extVisitor !=
nullptr)
Class MHO_Element.
Definition: MHO_ExtensibleElement.hh:42
virtual void Accept(MHO_Visitor *aVisitor)=0
Visits all extensions of this extensible element using the given visitor.
MHO_Element()
Definition: MHO_ExtensibleElement.hh:44
virtual ~MHO_Element()
Definition: MHO_ExtensibleElement.hh:45
Class ExtendedVisitor.
Definition: MHO_ExtensibleElement.hh:197
virtual ~ExtendedVisitor()
Definition: MHO_ExtensibleElement.hh:200
ExtendedVisitor()
Definition: MHO_ExtensibleElement.hh:199
virtual void VisitExtendedElement(MHO_ExtendedElement< XExtensionType > *anElement)=0
Function VisitExtendedElement.
Class MHO_ExtendedElement.
Definition: MHO_ExtensibleElement.hh:186
MHO_ExtendedElement(MHO_ExtensibleElement *parent)
Definition: MHO_ExtensibleElement.hh:188
MHO_ExtensibleElement * fParent
Definition: MHO_ExtensibleElement.hh:229
virtual ~MHO_ExtendedElement()
Definition: MHO_ExtensibleElement.hh:190
virtual void Accept(MHO_Visitor *aVisitor) override
Visits all extensions of this extensible element using the given visitor.
Definition: MHO_ExtensibleElement.hh:218
Class MHO_ExtensibleElement.
Definition: MHO_ExtensibleElement.hh:60
MHO_ExtensibleElement()
Definition: MHO_ExtensibleElement.hh:62
MHO_ExtendedElement< XExtensionType > * AsExtension()
Returns an extension of type XExtensionType if found in the list of extensions.
Definition: MHO_ExtensibleElement.hh:165
virtual ~MHO_ExtensibleElement()
Definition: MHO_ExtensibleElement.hh:64
void Accept(MHO_Visitor *aVisitor) override
Visits all extensions of MHO_ExtensibleElement using given visitor.
Definition: MHO_ExtensibleElement.hh:79
bool HasExtension() const
Checks if an extensible element has a specific extension type.
Definition: MHO_ExtensibleElement.hh:123
std::vector< MHO_Element * > fExtensions
Definition: MHO_ExtensibleElement.hh:112
MHO_ExtendedElement< XExtensionType > * MakeExtension()
Creates and adds a new extension of type XExtensionType to the list of extensions.
Definition: MHO_ExtensibleElement.hh:142
Class MHO_Visitor.
Definition: MHO_ExtensibleElement.hh:32
MHO_Visitor()
Definition: MHO_ExtensibleElement.hh:34
virtual ~MHO_Visitor()
Definition: MHO_ExtensibleElement.hh:35
Definition: MHO_ChannelLabeler.hh:17