tags.h

Go to the documentation of this file.
00001 
00015 #ifndef _DLR_COMMON_TAGS_H_
00016 #define _DLR_COMMON_TAGS_H_
00017 
00018 #include <cstdlib>
00019 
00020 namespace dlr {
00021 
00022   namespace common {
00023 
00047     template <class Type> class type_tag {};
00048 
00049     // Now some convenient instances of these tags.
00050 
00055     extern type_tag<char> Char;
00056 
00061     extern type_tag<double> Double;
00062 
00067     extern type_tag<float> Float;
00068 
00073     extern type_tag<int> Int;
00074 
00079     extern type_tag<short> Short;
00080 
00085     extern type_tag<size_t> SizeT;
00086 
00091     extern type_tag<unsigned char> UnsignedChar;
00092 
00097     extern type_tag<unsigned short> UnsignedShort;
00098 
00099   } // namespace common
00100   
00101 }  // namespace dlr
00102 
00103 
00104 /* ======= Declarations to maintain compatibility with legacy code. ======= */
00105 
00106 namespace dlr {
00107 
00108   using common::type_tag;
00109   using common::Char;
00110   using common::Double;
00111   using common::Float;
00112   using common::Int;
00113   using common::Short;
00114   using common::SizeT;
00115   using common::UnsignedChar;
00116   using common::UnsignedShort;
00117   
00118 } // namespace dlr
00119 
00120 #endif // #ifndef _DLR_COMMON_TAGS_H_

Generated on Tue Nov 24 23:57:55 2009 for dlrCommon Utility Library by  doxygen 1.5.8