16 #ifndef TORC_GENERIC_VIEW_HPP
17 #define TORC_GENERIC_VIEW_HPP
22 #ifdef GENOM_SERIALIZATION
23 #include <boost/serialization/access.hpp>
24 #include <boost/serialization/split_member.hpp>
25 #endif //GENOM_SERIALIZATION
42 namespace torc {
namespace generic {
class BaseVisitor; } }
43 namespace torc {
namespace generic {
class Cell; } }
44 namespace torc {
namespace generic {
class Instance; } }
45 namespace torc {
namespace generic {
class Net; } }
46 namespace torc {
namespace generic {
class Port; } }
47 namespace torc {
namespace generic {
class Permutable; } }
48 namespace torc {
namespace generic {
class InterfaceAttributes; } }
49 namespace torc {
namespace generic {
class InterfaceJoinedInfo; } }
65 #ifdef GENOM_SERIALIZATION
66 friend class boost::serialization::access;
67 friend class RestoredViewUpdater;
68 #endif //GENOM_SERIALIZATION
360 void removeNet(const std::
string& inName) throw (Error);
367 template <typename _Action> inline
void applyOnAllNets(const _Action& action) throw (Error);
470 void removePort(const std::
string& inName) throw (Error);
477 template <typename _Action> inline
void applyOnAllPorts(const _Action& action) throw (Error);
592 virtual ~
View() throw ();
598 #ifdef GENOM_SERIALIZATION
599 template <
class Archive>
void load(Archive& ar,
unsigned int);
601 template <
class Archive>
void save(Archive& ar,
unsigned int)
const;
603 BOOST_SERIALIZATION_SPLIT_MEMBER()
605 void restoreActions() throw(Error);
606 #endif //GENOM_SERIALIZATION
641 mInstanceSymTab.applyOnAll(action);
654 mNetSymTab.applyOnAll(action);
667 mPortSymTab.applyOnAll(action);
696 std::vector<PermutableSharedPtr>::iterator it = mPermutables.begin();
697 for(; it != mPermutables.end(); ++it) {
712 std::vector<InterfaceJoinedInfoSharedPtr>& outJoinedInfos)
const {
725 std::vector<InterfaceJoinedInfoSharedPtr>::iterator it = mInterfaceJoinedInfos.begin();
726 for(; it != mInterfaceJoinedInfos.end(); ++it) {
764 #endif // TORC_GENERIC_VIEW_HPP
void getValues(std::vector< ValueType > &outValues) const
An acyclic inoutVisitor implementation.
void setNets(const std::vector< NetSharedPtr > &inSource)
ParameterContext mMyContext
void removeInstance(const std::string &inName)
boost::shared_ptr< Instance > InstanceSharedPtr
VisitorType< View > Visitor
bool addPermutable(const PermutableSharedPtr &inPermutable)
void applyOnAllNets(const _Action &action)
ParameterMapSharedPtr getParameters()
An object that has a parent.
SymTab< std::string, NetSharedPtr > mNetSymTab
void setParameters(const ParameterMapSharedPtr &inSource)
Represents objects that have properties.
void addNet(const NetSharedPtr &inNet)
void setTiming(const TimingSharedPtr &inSource)
Represents and EDIF View.
void applyOnAllPorts(const _Action &action)
void addInstance(const InstanceSharedPtr &inInstance)
void setInstances(const std::vector< InstanceSharedPtr > &inSource)
boost::shared_ptr< Permutable > PermutableSharedPtr
void setType(const Type &inSource)
void removePort(const std::string &inName)
void getPorts(std::vector< PortSharedPtr > &outPorts) const
Represents class that can hold userData.
bool addInterfaceJoinedInfo(const InterfaceJoinedInfoSharedPtr &inJoinedInfo)
void setSimulate(const SimulateSharedPtr &inSource)
void addPort(const PortSharedPtr &inPort)
std::vector< InterfaceJoinedInfoSharedPtr > mInterfaceJoinedInfos
boost::shared_ptr< Simulate > SimulateSharedPtr
void applyOnAllInstances(const _Action &action)
void setPorts(const std::vector< PortSharedPtr > &inSource)
The Error object thrown by different methods of EdifOM.
void setNonNetlistViewData(const std::string &inData)
virtual void accept(BaseVisitor &inoutVisitor)
boost::shared_ptr< Net > NetSharedPtr
ParameterContext getParameterContext() const
A base class for Visitor.
std::vector< PermutableSharedPtr > mPermutables
const std::string & getNonNetlistViewData() const
SymTab< std::string, PortSharedPtr > mPortSymTab
ParameterMapSharedPtr mParameters
void applyOnAllPermutables(const _Action &action)
void getInstances(std::vector< InstanceSharedPtr > &outInstances) const
NetSharedPtr findNet(const std::string &inName)
boost::shared_ptr< InterfaceAttributes > InterfaceAttributesSharedPtr
InstanceSharedPtr findInstance(const std::string &inName)
const Type getType() const
void removeNet(const std::string &inName)
void setInterfaceJoinedInfos(const std::vector< InterfaceJoinedInfoSharedPtr > &inSource)
const InterfaceAttributesSharedPtr getInterfaceAttributes() const
boost::shared_ptr< View > ViewSharedPtr
boost::shared_ptr< Cell > CellSharedPtr
void setInterfaceAttributes(const InterfaceAttributesSharedPtr &inSource)
An object that has a name.
void getNets(std::vector< NetSharedPtr > &outNets) const
boost::shared_ptr< InterfaceJoinedInfo > InterfaceJoinedInfoSharedPtr
const SimulateSharedPtr getSimulate() const
boost::shared_ptr< Port > PortSharedPtr
SymTab< std::string, InstanceSharedPtr > mInstanceSymTab
Represents objects that can be renamed.
std::string mNonNetlistViewData
void getInterfaceJoinedInfos(std::vector< InterfaceJoinedInfoSharedPtr > &outJoinedInfos) const
Represents objects that have status.
void getPermutables(std::vector< PermutableSharedPtr > &outPermutables) const
boost::shared_ptr< Timing > TimingSharedPtr
SimulateSharedPtr mSimulate
void applyOnAllInterfaceJoinedInfos(const _Action &action)
A placeholder for a factory method.
void setPermutables(const std::vector< PermutableSharedPtr > &inSource)
const TimingSharedPtr getTiming() const
InterfaceAttributesSharedPtr mAttributes
virtual ViewSharedPtr newViewPtr(const std::string &inName, const CellSharedPtr &inCellPtr, const View::Type &inViewType=View::eTypeNetlist, const std::string &inOriginalName=std::string())
boost::shared_ptr< ParameterMap > ParameterMapSharedPtr
An object that receives an inoutVisitor.
PortSharedPtr findPort(const std::string &inName)
Used to implement external object referencing.
void setCurrentLocation(const std::string &inFunction, const std::string &inFile, uint32_t inLine)