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