16 #ifndef TORC_GENERIC_NET_HPP
17 #define TORC_GENERIC_NET_HPP
24 #ifdef GENOM_SERIALIZATION
25 #include <boost/serialization/access.hpp>
26 #endif //GENOM_SERIALIZATION
40 namespace torc {
namespace generic {
class ConnectionHandler; } }
41 namespace torc {
namespace generic {
class Port; } }
42 namespace torc {
namespace generic {
class PortReference; } }
43 namespace torc {
namespace generic {
class NetAttributes; } }
61 #ifdef GENOM_SERIALIZATION
62 friend class boost::serialization::access;
63 #endif //GENOM_SERIALIZATION
138 inline void getSubnets(std::vector<NetSharedPtr>& outSubnets)
const;
140 void setSubnets(
const std::vector<NetSharedPtr> & inSource)
throw (
Error);
190 bool inSkipChildConnections =
false)
const;
242 bool inSkipChildConnections = false) const;
256 virtual ~Net() throw ();
259 #ifdef GENOM_SERIALIZATION
260 template <
class Archive>
void serialize(Archive& ar,
unsigned int);
261 #endif //GENOM_SERIALIZATION
262 Net(
const Net& source);
287 mSubnets.applyOnAll(action);
310 std::for_each(mConnectedPorts.begin(), mConnectedPorts.end(), action);
320 std::for_each(mConnectedPortLists.begin(), mConnectedPortLists.end(), action);
330 std::for_each(mConnectedPortRefs.begin(), mConnectedPortRefs.end(), action);
340 #endif // TORC_GENERIC_NET_HPP
void getValues(std::vector< ValueType > &outValues) const
void removeConnectedPort(const PortSharedPtr &inPort)
An object that has a parent.
void applyOnAllSubnets(const _Action &action)
std::list< PortReferenceSharedPtr > mConnectedPortRefs
boost::shared_ptr< NetAttributes > NetAttributesSharedPtr
Represents objects that have properties.
void applyOnAllConnectedPortLists(const _Action &action)
void setParentNet(const NetSharedPtr &inParent)
void setConnectedPorts(const std::vector< PortSharedPtr > &inSource)
Interface for objects that can be composed within each other.
void removeSubnet(const std::string &inName)
void removeConnectedPortReference(const PortReferenceSharedPtr &inPortRef)
An object that is connectable to a Net.
PortSharedPtr findConnectedPort(const std::string &inName)
PortReferenceSharedPtr findConnectedPortReference(const std::string &inName)
NetSharedPtr getParentNet() const
void applyOnAllConnectedPorts(const _Action &action)
std::list< PortSharedPtr > mConnectedPorts
Represents class that can hold userData.
virtual void getConnectedPorts(std::vector< PortSharedPtr > &outPort, bool inSkipChildConnections=false) const
Net & operator=(const Net &source)
void getSubnets(std::vector< NetSharedPtr > &outSubnets) const
virtual void getConnectedPortRefs(std::vector< PortReferenceSharedPtr > &outPortRefs, bool inSkipChildConnections=false) const
void addSubnet(const NetSharedPtr &inSubnet)
virtual void disconnect()
The Error object thrown by different methods of EdifOM.
boost::shared_ptr< Net > NetSharedPtr
boost::shared_ptr< PortReference > PortReferenceSharedPtr
boost::shared_ptr< PortList > PortListSharedPtr
void addConnectedPort(const PortSharedPtr &inPort)
void addConnectedPortList(const PortListSharedPtr &inPort)
const NetAttributesSharedPtr getAttributes() const
virtual void getConnectedPortLists(std::vector< PortListSharedPtr > &outPortList) const
virtual void disconnect()
NetAttributesSharedPtr mAttributes
void applyOnAllConnectedPortRefs(const _Action &action)
NetSharedPtr findSubnet(const std::string &inName)
void removeConnectedPortList(const PortListSharedPtr &inList)
An object that has a name.
void setAttributes(const NetAttributesSharedPtr &inSource)
boost::shared_ptr< Port > PortSharedPtr
Represents objects that can be renamed.
void setConnectedPortRefs(const std::vector< PortReferenceSharedPtr > &inSource)
SymTab< std::string, NetSharedPtr, true > mSubnets
void addConnectedPortReference(const PortReferenceSharedPtr &portRef)
std::list< PortListSharedPtr > mConnectedPortLists
void setSubnets(const std::vector< NetSharedPtr > &inSource)
An object that receives an inoutVisitor.
void setCurrentLocation(const std::string &inFunction, const std::string &inFile, uint32_t inLine)