Main Page | Class Hierarchy | Compound List | File List | Compound Members | File Members

select.h

Go to the documentation of this file.
00001 /*--------------------------------------------------------------------
00002  *
00003  * (C) Copyright Koninklijke Philips Electronics NV 2006. 
00004  * All rights reserved. This software is licensed under the terms of
00005  * version 2.1 of the GNU Lesser General Public License as published 
00006  * by the Free Software Foundation. For licensing and warranty
00007  * information, see the file COPYING in the main directory.
00008  *
00009  *------------------------------------------------------------------*/
00010 
00011 #ifndef SELECT_H
00012 #define SELECT_H
00013 
00014 #ifndef PORT_H
00015 #include "port.h"
00016 #endif
00017 
00018 #ifndef SELECTIMPL_H
00019 #include "selectimpl.h"
00020 #endif
00021 
00022 class SelectList : private SelectImpl
00023 {
00024 public:
00025   SelectList (const Id& n) : SelectImpl (n) {};
00026 
00027   template<class T>
00028   void pushBack(const InPort<T>& p, unsigned int n=1);
00029 
00030   template<class T>
00031   void pushBack(const OutPort<T>& p, unsigned int n=1);
00032 
00033   unsigned int select ();
00034 };
00035 
00036 inline unsigned int select(SelectList& l);
00037 
00038 template<class T0, class T1> inline
00039 unsigned int select( InPort<T0>& p0,
00040          InPort<T1>& p1);
00041 
00042 template<class T0, class T1> inline
00043 unsigned int select( InPort<T0>& p0,
00044         OutPort<T1>& p1);
00045 
00046 template<class T0, class T1> inline
00047 unsigned int select(OutPort<T0>& p0,
00048         OutPort<T1>& p1);
00049 
00050 template<class T0, class T1, class T2> inline
00051 unsigned int select( InPort<T0>& p0,
00052          InPort<T1>& p1,
00053          InPort<T2>& p2);
00054 
00055 template<class T0, class T1, class T2> inline
00056 unsigned int select( InPort<T0>& p0,
00057          InPort<T1>& p1,
00058         OutPort<T2>& p2);
00059 
00060 template<class T0, class T1, class T2> inline
00061 unsigned int select( InPort<T0>& p0,
00062         OutPort<T1>& p1,
00063         OutPort<T2>& p2);
00064 
00065 template<class T0, class T1, class T2> inline
00066 unsigned int select(OutPort<T0>& p0,
00067         OutPort<T1>& p1,
00068         OutPort<T2>& p2);
00069 
00070 template<class T0, class T1, class T2, class T3> inline
00071 unsigned int select( InPort<T0>& p0,
00072          InPort<T1>& p1,
00073          InPort<T2>& p2,
00074          InPort<T3>& p3);
00075 
00076 template<class T0, class T1, class T2, class T3> inline
00077 unsigned int select( InPort<T0>& p0,
00078          InPort<T1>& p1,
00079          InPort<T2>& p2,
00080         OutPort<T3>& p3);
00081 
00082 template<class T0, class T1, class T2, class T3> inline
00083 unsigned int select( InPort<T0>& p0,
00084          InPort<T1>& p1,
00085         OutPort<T2>& p2,
00086         OutPort<T3>& p3);
00087 
00088 template<class T0, class T1, class T2, class T3> inline
00089 unsigned int select( InPort<T0>& p0,
00090         OutPort<T1>& p1,
00091         OutPort<T2>& p2,
00092         OutPort<T3>& p3);
00093 
00094 template<class T0, class T1, class T2, class T3> inline
00095 unsigned int select(OutPort<T0>& p0,
00096         OutPort<T1>& p1,
00097         OutPort<T2>& p2,
00098         OutPort<T3>& p3);
00099 
00101 
00102 template<class T0, class T1> inline
00103 unsigned int select( InPort<T0>& p0, unsigned int n0, 
00104          InPort<T1>& p1, unsigned int n1);
00105 
00106 template<class T0, class T1> inline
00107 unsigned int select( InPort<T0>& p0, unsigned int n0, 
00108         OutPort<T1>& p1, unsigned int n1);
00109 
00110 template<class T0, class T1> inline
00111 unsigned int select(OutPort<T0>& p0, unsigned int n0, 
00112         OutPort<T1>& p1, unsigned int n1);
00113 
00114 template<class T0, class T1, class T2> inline
00115 unsigned int select( InPort<T0>& p0, unsigned int n0, 
00116          InPort<T1>& p1, unsigned int n1,
00117          InPort<T2>& p2, unsigned int n2);
00118 
00119 template<class T0, class T1, class T2> inline
00120 unsigned int select( InPort<T0>& p0, unsigned int n0, 
00121          InPort<T1>& p1, unsigned int n1,
00122         OutPort<T2>& p2, unsigned int n2);
00123 
00124 template<class T0, class T1, class T2> inline
00125 unsigned int select( InPort<T0>& p0, unsigned int n0, 
00126         OutPort<T1>& p1, unsigned int n1,
00127         OutPort<T2>& p2, unsigned int n2);
00128 
00129 template<class T0, class T1, class T2> inline
00130 unsigned int select(OutPort<T0>& p0, unsigned int n0, 
00131         OutPort<T1>& p1, unsigned int n1,
00132         OutPort<T2>& p2, unsigned int n2);
00133 
00134 template<class T0, class T1, class T2, class T3> inline
00135 unsigned int select( InPort<T0>& p0, unsigned int n0, 
00136          InPort<T1>& p1, unsigned int n1,
00137          InPort<T2>& p2, unsigned int n2,
00138          InPort<T3>& p3, unsigned int n3);
00139 
00140 template<class T0, class T1, class T2, class T3> inline
00141 unsigned int select( InPort<T0>& p0, unsigned int n0, 
00142          InPort<T1>& p1, unsigned int n1,
00143          InPort<T2>& p2, unsigned int n2,
00144         OutPort<T3>& p3, unsigned int n3);
00145 
00146 template<class T0, class T1, class T2, class T3> inline
00147 unsigned int select( InPort<T0>& p0, unsigned int n0, 
00148          InPort<T1>& p1, unsigned int n1,
00149         OutPort<T2>& p2, unsigned int n2,
00150         OutPort<T3>& p3, unsigned int n3);
00151 
00152 template<class T0, class T1, class T2, class T3> inline
00153 unsigned int select( InPort<T0>& p0, unsigned int n0, 
00154         OutPort<T1>& p1, unsigned int n1,
00155         OutPort<T2>& p2, unsigned int n2,
00156         OutPort<T3>& p3, unsigned int n3);
00157 
00158 template<class T0, class T1, class T2, class T3> inline
00159 unsigned int select(OutPort<T0>& p0, unsigned int n0, 
00160         OutPort<T1>& p1, unsigned int n1,
00161         OutPort<T2>& p2, unsigned int n2,
00162         OutPort<T3>& p3, unsigned int n3);
00163 
00164 
00165 // include implementation of template functions
00166 //
00167 #include "select.cc"
00168 
00169 #endif

Generated on Wed Feb 15 14:52:39 2006 for yapi by doxygen 1.3.2