proj home

Files   Classes   Functions   Hierarchy  

typeop.h

Go to the documentation of this file.
00001 #ifndef TYPEOP_H
00002 #define TYPEOP_H
00003 
00040 ;
00041 template< typename T >
00042 class typeop 
00043 {
00044 public:
00045 
00046   typedef T Targ;
00047   typedef T Tbare;
00048   typedef T const Tconst;
00049   typedef T & Tref;
00050   typedef T & Tbareref;
00051   typedef T const & Tconstref;
00052   typedef T* Tptr;
00053   typedef T* Tbareptr;
00054   typedef T const * Tconstptr;
00055 };
00056 
00057 template< typename T >
00058 class typeop< T & >
00059 {
00060 public:
00061 
00062   typedef T & Targ;
00063   typedef T Tbare;
00064   typedef T const Tconst;
00065   typedef T & Tref;
00066   typedef T const & Tconstref;
00067   typedef T* Tptr;
00068   typedef T* Tbareptr;
00069   typedef T const * Tconstptr;
00070 };
00071 
00072 template< typename T >
00073 class typeop< T const > 
00074 {
00075 public:
00076 
00077   typedef T const Targ;
00078   typedef T Tbare;
00079   typedef T const Tconst;
00080   typedef T & Tref;
00081   typedef T & Tbareref;
00082   typedef T const & Tconstref;
00083   typedef T* Tptr;
00084   typedef T const * Tbareptr;
00085   typedef T const * Tconstptr;
00086 
00087 };
00088 
00089 template< typename T >
00090 class typeop< T * >
00091 {
00092 public:
00093 
00094   typedef T * Targ;
00095   typedef T Tbare;
00096   typedef T const Tconst;
00097   typedef T & Tref;
00098   typedef T & Tbareref;
00099   typedef T const & Tconstref;
00100   typedef T* Tptr;
00101   typedef T* Tbareptr;
00102   typedef T const * Tconstptr;
00103 };
00104 
00105 template< typename T >
00106 class typeop< T const * >
00107 {
00108 public:
00109 
00110   typedef T const * Targ;
00111   typedef T Tbare;
00112   typedef T const Tconst;
00113   typedef T & Tref;
00114   typedef T & Tbareref;
00115   typedef T const & Tconstref;
00116   typedef T* Tptr;
00117   typedef T* Tbareptr;
00118   typedef T const * Tconstptr;
00119 };
00120 
00121 // <TODO> Expand to include void and more pointer types.
00122 //        How can a functions return type be extracted?
00123 
00124 
00125 
00126 
00127 #endif
00128 

Generated on Fri Mar 4 00:49:29 2011 for Chelton Evans Source by  doxygen 1.5.8