00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef TORC_GENERIC_OM_VECTORPORTBITREFERENCE_HPP
00017 #define TORC_GENERIC_OM_VECTORPORTBITREFERENCE_HPP
00018
00019 #include "torc/generic/om/PointerTypes.hpp"
00020 #include "torc/generic/om/DumpRestoreConfig.hpp"
00021
00022
00023 #ifdef GENOM_SERIALIZATION
00024 #include <boost/serialization/access.hpp>
00025 #endif //GENOM_SERIALIZATION
00026
00027
00028 #include "torc/generic/om/PortReference.hpp"
00029 #include "torc/generic/om/VectorBit.hpp"
00030 #include "torc/generic/om/FactoryType.hpp"
00031 #include "torc/generic/om/VisitorType.hpp"
00032 #include "torc/generic/util/Error.hpp"
00033
00034 namespace torc { namespace generic { class BaseVisitor; } }
00035
00036 namespace torc {
00037
00038 namespace generic {
00039
00040
00041
00042
00043
00044
00045 class VectorPortBitReference
00046 : public PortReference,
00047 public VectorBit<PortReference> {
00048 #ifdef GENOM_SERIALIZATION
00049 friend class boost::serialization::access;
00050 #endif //GENOM_SERIALIZATION
00051
00052 public:
00053 typedef FactoryType<VectorPortBitReference> Factory;
00054 typedef VisitorType<VectorPortBitReference> Visitor;
00055
00056 virtual void
00057 accept(BaseVisitor & inoutVisitor) throw(Error);
00058
00059 virtual Connection
00060 connect(const NetSharedPtr &inNet) throw(Error);
00061
00062 using Connectable::disconnect;
00063
00064 virtual void
00065 disconnect(const Connection &inConnection) throw(Error);
00066
00067 virtual void
00068 getConnectedNets(
00069 std::vector< NetSharedPtr > &outNets,
00070 bool inSkipChildConnections = false ) const throw(Error);
00071
00072 VectorPortBitReference();
00073 virtual
00074 ~VectorPortBitReference() throw();
00075
00076 private:
00077 #ifdef GENOM_SERIALIZATION
00078 template<class Archive> void
00079 serialize( Archive &ar, unsigned int );
00080 #endif //GENOM_SERIALIZATION
00081
00082 };
00083
00084 }
00085
00086 }
00087 #endif // TORC_GENERIC_OM_VECTORPORTBITREFERENCE_HPP