00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef PORT_CC
00012 #define PORT_CC
00013
00015
00016 template<class T>
00017 InPort<T>::InPort(const Id& n, In<T>& i) :
00018 InPortImplT<T>(n, i)
00019 { }
00020
00021 template<class T> inline
00022 void InPort<T>::read(T& t)
00023 {
00024 InPortImplT<T>::read(t);
00025 }
00026
00027 template<class T> inline
00028 void InPort<T>::read(T* p, unsigned int n)
00029 {
00030 InPortImplT<T>::read(p, n);
00031 }
00032
00033 template<class T> inline
00034 Connector* InPort<T>::connector()
00035 {
00036 return this;
00037 }
00038
00040
00041 template<class T>
00042 OutPort<T>::OutPort(const Id& n, Out<T>& o) :
00043 OutPortImplT<T>(n, o)
00044 { }
00045
00046 template<class T> inline
00047 void OutPort<T>::write(const T& t)
00048 {
00049 OutPortImplT<T>::write(t);
00050 }
00051
00052 template<class T> inline
00053 void OutPort<T>::write(const T* p, unsigned int n)
00054 {
00055 OutPortImplT<T>::write(p, n);
00056 }
00057
00058 template<class T> inline
00059 Connector* OutPort<T>::connector()
00060 {
00061 return this;
00062 }
00063
00064
00066
00067 template<class T> inline
00068 void read(InPort<T>& s, T& t)
00069 {
00070 s.read(t);
00071 }
00072
00073 template<class T> inline
00074 void read(InPort<T>& s, T* p, unsigned int n)
00075 {
00076 s.read(p, n);
00077 }
00078
00079 template<class T> inline
00080 void write(OutPort<T>& s, const T& t)
00081 {
00082 s.write(t);
00083 }
00084
00085 template<class T> inline
00086 void write(OutPort<T>& s, const T* p, unsigned int n)
00087 {
00088 s.write(p, n);
00089 }
00090
00091 #endif