00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 
00027 
00028 #ifndef SELECT_H
00029 #define SELECT_H
00030 
00031 #ifndef PORT_H
00032 #include "port.h"
00033 #endif
00034 
00035 template<class T0, class T1> inline
00036 unsigned int select( InPort<T0>& p0,
00037                      InPort<T1>& p1);
00038 
00039 template<class T0, class T1> inline
00040 unsigned int select( InPort<T0>& p0,
00041                     OutPort<T1>& p1);
00042 
00043 template<class T0, class T1> inline
00044 unsigned int select(OutPort<T0>& p0,
00045                     OutPort<T1>& p1);
00046 
00047 template<class T0, class T1, class T2> inline
00048 unsigned int select( InPort<T0>& p0,
00049                      InPort<T1>& p1,
00050                      InPort<T2>& p2);
00051 
00052 template<class T0, class T1, class T2> inline
00053 unsigned int select( InPort<T0>& p0,
00054                      InPort<T1>& p1,
00055                     OutPort<T2>& p2);
00056 
00057 template<class T0, class T1, class T2> inline
00058 unsigned int select( InPort<T0>& p0,
00059                     OutPort<T1>& p1,
00060                     OutPort<T2>& p2);
00061 
00062 template<class T0, class T1, class T2> inline
00063 unsigned int select(OutPort<T0>& p0,
00064                     OutPort<T1>& p1,
00065                     OutPort<T2>& p2);
00066 
00067 template<class T0, class T1, class T2, class T3> inline
00068 unsigned int select( InPort<T0>& p0,
00069                      InPort<T1>& p1,
00070                      InPort<T2>& p2,
00071                      InPort<T3>& p3);
00072 
00073 template<class T0, class T1, class T2, class T3> inline
00074 unsigned int select( InPort<T0>& p0,
00075                      InPort<T1>& p1,
00076                      InPort<T2>& p2,
00077                     OutPort<T3>& p3);
00078 
00079 template<class T0, class T1, class T2, class T3> inline
00080 unsigned int select( InPort<T0>& p0,
00081                      InPort<T1>& p1,
00082                     OutPort<T2>& p2,
00083                     OutPort<T3>& p3);
00084 
00085 template<class T0, class T1, class T2, class T3> inline
00086 unsigned int select( InPort<T0>& p0,
00087                     OutPort<T1>& p1,
00088                     OutPort<T2>& p2,
00089                     OutPort<T3>& p3);
00090 
00091 template<class T0, class T1, class T2, class T3> inline
00092 unsigned int select(OutPort<T0>& p0,
00093                     OutPort<T1>& p1,
00094                     OutPort<T2>& p2,
00095                     OutPort<T3>& p3);
00096 
00098 
00099 template<class T0, class T1> inline
00100 unsigned int select( InPort<T0>& p0, unsigned int n0,
00101                      InPort<T1>& p1, unsigned int n1);
00102 
00103 template<class T0, class T1> inline
00104 unsigned int select( InPort<T0>& p0, unsigned int n0,
00105                     OutPort<T1>& p1, unsigned int n1);
00106 
00107 template<class T0, class T1> inline
00108 unsigned int select(OutPort<T0>& p0, unsigned int n0,
00109                     OutPort<T1>& p1, unsigned int n1);
00110 
00111 template<class T0, class T1, class T2> inline
00112 unsigned int select( InPort<T0>& p0, unsigned int n0,
00113                      InPort<T1>& p1, unsigned int n1,
00114                      InPort<T2>& p2, unsigned int n2);
00115 
00116 template<class T0, class T1, class T2> inline
00117 unsigned int select( InPort<T0>& p0, unsigned int n0,
00118                      InPort<T1>& p1, unsigned int n1,
00119                     OutPort<T2>& p2, unsigned int n2);
00120 
00121 template<class T0, class T1, class T2> inline
00122 unsigned int select( InPort<T0>& p0, unsigned int n0,
00123                     OutPort<T1>& p1, unsigned int n1,
00124                     OutPort<T2>& p2, unsigned int n2);
00125 
00126 template<class T0, class T1, class T2> inline
00127 unsigned int select(OutPort<T0>& p0, unsigned int n0,
00128                     OutPort<T1>& p1, unsigned int n1,
00129                     OutPort<T2>& p2, unsigned int n2);
00130 
00131 template<class T0, class T1, class T2, class T3> inline
00132 unsigned int select( InPort<T0>& p0, unsigned int n0,
00133                      InPort<T1>& p1, unsigned int n1,
00134                      InPort<T2>& p2, unsigned int n2,
00135                      InPort<T3>& p3, unsigned int n3);
00136 
00137 template<class T0, class T1, class T2, class T3> inline
00138 unsigned int select( InPort<T0>& p0, unsigned int n0,
00139                      InPort<T1>& p1, unsigned int n1,
00140                      InPort<T2>& p2, unsigned int n2,
00141                     OutPort<T3>& p3, unsigned int n3);
00142 
00143 template<class T0, class T1, class T2, class T3> inline
00144 unsigned int select( InPort<T0>& p0, unsigned int n0,
00145                      InPort<T1>& p1, unsigned int n1,
00146                     OutPort<T2>& p2, unsigned int n2,
00147                     OutPort<T3>& p3, unsigned int n3);
00148 
00149 template<class T0, class T1, class T2, class T3> inline
00150 unsigned int select( InPort<T0>& p0, unsigned int n0,
00151                     OutPort<T1>& p1, unsigned int n1,
00152                     OutPort<T2>& p2, unsigned int n2,
00153                     OutPort<T3>& p3, unsigned int n3);
00154 
00155 template<class T0, class T1, class T2, class T3> inline
00156 unsigned int select(OutPort<T0>& p0, unsigned int n0,
00157                     OutPort<T1>& p1, unsigned int n1,
00158                     OutPort<T2>& p2, unsigned int n2,
00159                     OutPort<T3>& p3, unsigned int n3);
00160 
00161 
00162 #include "select.cc"
00163 
00164 #endif