The SKIRT project
advanced radiative transfer for astrophysics
PropertyHandlerVisitor Class Referenceabstract

#include <PropertyHandlerVisitor.hpp>

Public Member Functions

virtual ~PropertyHandlerVisitor ()
virtual void visitPropertyHandler (BoolPropertyHandler *handler)=0
virtual void visitPropertyHandler (DoubleListPropertyHandler *handler)=0
virtual void visitPropertyHandler (DoublePropertyHandler *handler)=0
virtual void visitPropertyHandler (EnumPropertyHandler *handler)=0
virtual void visitPropertyHandler (IntPropertyHandler *handler)=0
virtual void visitPropertyHandler (ItemListPropertyHandler *handler)=0
virtual void visitPropertyHandler (ItemPropertyHandler *handler)=0
virtual void visitPropertyHandler (StringPropertyHandler *handler)=0

Protected Member Functions

 PropertyHandlerVisitor ()=default

Detailed Description

This is the abstract base class for a visitor of property handlers. It is part of the "visitor" design pattern implementation used to handle properties of various types.

Constructor & Destructor Documentation

◆ PropertyHandlerVisitor()

PropertyHandlerVisitor::PropertyHandlerVisitor ( )
protecteddefault

Constructs a property handler visitor.

◆ ~PropertyHandlerVisitor()

virtual PropertyHandlerVisitor::~PropertyHandlerVisitor ( )
inlinevirtual

Destructs the property handler visitor. This virtual destructor is declared here because PropertyHandlerVisitor is the top-level class in the hierarchy of property handler visitors.

Member Function Documentation

◆ visitPropertyHandler() [1/8]

virtual void PropertyHandlerVisitor::visitPropertyHandler ( BoolPropertyHandler * handler)
pure virtual

Visits the specified property handler using the acceptVisitor() function specialization corresponding to the specified type. This function must be implemented in each subclass.

◆ visitPropertyHandler() [2/8]

virtual void PropertyHandlerVisitor::visitPropertyHandler ( DoubleListPropertyHandler * handler)
pure virtual

Visits the specified property handler using the acceptVisitor() function specialization corresponding to the specified type. This function must be implemented in each subclass.

◆ visitPropertyHandler() [3/8]

virtual void PropertyHandlerVisitor::visitPropertyHandler ( DoublePropertyHandler * handler)
pure virtual

Visits the specified property handler using the acceptVisitor() function specialization corresponding to the specified type. This function must be implemented in each subclass.

◆ visitPropertyHandler() [4/8]

virtual void PropertyHandlerVisitor::visitPropertyHandler ( EnumPropertyHandler * handler)
pure virtual

Visits the specified property handler using the acceptVisitor() function specialization corresponding to the specified type. This function must be implemented in each subclass.

◆ visitPropertyHandler() [5/8]

virtual void PropertyHandlerVisitor::visitPropertyHandler ( IntPropertyHandler * handler)
pure virtual

Visits the specified property handler using the acceptVisitor() function specialization corresponding to the specified type. This function must be implemented in each subclass.

◆ visitPropertyHandler() [6/8]

virtual void PropertyHandlerVisitor::visitPropertyHandler ( ItemListPropertyHandler * handler)
pure virtual

Visits the specified property handler using the acceptVisitor() function specialization corresponding to the specified type. This function must be implemented in each subclass.

◆ visitPropertyHandler() [7/8]

virtual void PropertyHandlerVisitor::visitPropertyHandler ( ItemPropertyHandler * handler)
pure virtual

Visits the specified property handler using the acceptVisitor() function specialization corresponding to the specified type. This function must be implemented in each subclass.

◆ visitPropertyHandler() [8/8]

virtual void PropertyHandlerVisitor::visitPropertyHandler ( StringPropertyHandler * handler)
pure virtual

Visits the specified property handler using the acceptVisitor() function specialization corresponding to the specified type. This function must be implemented in each subclass.


The documentation for this class was generated from the following file: