torc::generic::Visitable Class Reference

An object that receives a inoutVisitor. More...

#include <Visitable.hpp>

Inheritance diagram for torc::generic::Visitable:

Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual void accept (BaseVisitor &inoutVisitor)=0 throw (Error)

Private Member Functions

 Visitable (const Visitable &source) throw ()
Visitableoperator= (const Visitable &source) throw ()


Detailed Description

An object that receives a inoutVisitor.

The Visitable class provides an interface to all classes that want to make themselves visitable by the clients. Typically such classes will be leaf types that cannot be directly accessed by clients without using a dynamic_cast. This design is loosely based on the acyclic inoutVisitor concept defined by Alexandrescu in "Modern C++ Design".

Definition at line 39 of file Visitable.hpp.


Member Function Documentation

virtual void torc::generic::Visitable::accept ( BaseVisitor inoutVisitor  )  throw (Error) [pure virtual]

Recive a inoutVisitor to this class. The visit method of the inoutVisitor is called and a reference to this object is passed as a parameter. It has to be noted however, that a dynamic_cast is performed inside this method. If the cast fails, an appropriate exception is thrown by this method. This sitation can arise when the passed Visitor object does not inherit from the appropriate inoutVisitor specialization. See Visitor documentation for more details.

Parameters:
[in,out] inoutVisitor A reference to the inoutVisitor object
Exceptions:
Error Visitor type inappropriate for visiting this object or any other error thrown by the Visitor::throw() method.

Implemented in torc::generic::Apply, torc::generic::Cell, torc::generic::Design, torc::generic::Event, torc::generic::ForbiddenEvent, torc::generic::InstanceArray, torc::generic::InstanceArrayMember, torc::generic::InterfaceJoinedInfo, torc::generic::Library, torc::generic::LogicalResponse, torc::generic::LogicElement, torc::generic::LogicValue, torc::generic::NetBundle, torc::generic::ParameterArray, torc::generic::ParameterArrayElement, torc::generic::Permutable, torc::generic::PortBundle, torc::generic::PortBundleReference, torc::generic::Property, torc::generic::Root, torc::generic::ScalarNet, torc::generic::ScalarPort, torc::generic::ScalarPortReference, torc::generic::Simulate, torc::generic::SimulationInfo, torc::generic::SingleInstance, torc::generic::SingleParameter, torc::generic::Status, torc::generic::Timing, torc::generic::VectorNet, torc::generic::VectorNetBit, torc::generic::VectorPort, torc::generic::VectorPortBit, torc::generic::VectorPortBitReference, torc::generic::VectorPortReference, and torc::generic::View.


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

Generated on Thu Oct 13 16:50:37 2011 for TORC by  doxygen 1.5.6