21 #include <boost/bind.hpp>
22 #include <boost/mem_fn.hpp>
23 #ifdef GENOM_SERIALIZATION
24 #include <boost/archive/binary_iarchive.hpp>
25 #include <boost/archive/binary_oarchive.hpp>
26 #include <boost/serialization/base_object.hpp>
27 #include <boost/serialization/export.hpp>
28 #endif //GENOM_SERIALIZATION
31 #ifdef GENOM_SERIALIZATION
33 #endif //GENOM_SERIALIZATION
53 newNetBundle->setName(inName);
54 newNetBundle->setOriginalName(inOriginalName);
55 if(inParentCollection) {
56 inParentCollection->addChild(newNetBundle);
58 inViewPtr->addNet(newNetBundle);
83 if(inNet->getSize() != getSize()) {
90 getChildren(children);
96 for(; childNet != childEnd; ++childNet, ++net) {
98 (*childNet)->connect(*net);
110 getChildren(children);
121 for(; childNet != childEnd; ++childNet, ++net) {
123 (*childNet)->Connectable::disconnect(*net);
137 for(; childNet != childEnd; ++childNet) {
139 (*childNet)->disconnect();
152 #ifdef GENOM_SERIALIZATION
153 template <
class Archive>
void NetBundle::serialize(Archive& ar,
unsigned int) {
154 ar & boost::serialization::base_object< Net >(*this);
155 ar & boost::serialization::base_object< Bundle<Net> >(*this);
159 template void NetBundle::serialize<boost::archive::binary_iarchive>(
160 boost::archive::binary_iarchive& ar,
const unsigned int);
162 template void NetBundle::serialize<boost::archive::binary_oarchive>(
163 boost::archive::binary_oarchive& ar,
const unsigned int);
165 #endif //GENOM_SERIALIZATION
virtual Connection connect(const NetSharedPtr &inNet)=0
virtual NetBundleSharedPtr newNetBundlePtr(const std::string &inName, const ViewSharedPtr &inViewPtr, const NetBundleSharedPtr &inParentCollection=NetBundleSharedPtr(), const std::string &inOriginalName=std::string())
std::list< NetSharedPtr >::iterator Connection
void runVisitor(_Tp &inoutVisited, BaseVisitor &inoutVisitor)
virtual void disconnect()
virtual void setParent(const ViewSharedPtr &inParent)
The Error object thrown by different methods of EdifOM.
boost::shared_ptr< Net > NetSharedPtr
A base class for Visitor.
virtual void accept(BaseVisitor &inoutVisitor)
const boost::shared_ptr< View > getParent() const
void saveContextData(const std::string &inName, const boost::any &inSource)
void applyOnAllChildren(const _Action &action)
virtual Connection connect(const NetSharedPtr &inNet)
virtual void disconnect()
virtual void getChildren(List &outChildren) const
Represents a bundle of nets.
boost::shared_ptr< View > ViewSharedPtr
virtual void setParent(const boost::shared_ptr< _ParentType > &inSource)
boost::shared_ptr< NetBundle > NetBundleSharedPtr
Represents a "bundle" in the EDIF sense.
void setCurrentLocation(const std::string &inFunction, const std::string &inFile, uint32_t inLine)