00001
00002
00003 #ifndef ATHLINKS_TOOLS_TYPETOOLS_H
00004 #define ATHLINKS_TOOLS_TYPETOOLS_H
00005
00006 namespace TypeTools {
00007
00014 template< typename T >
00015 struct Copy {
00017 typedef T type;
00019 typedef const T& const_reference;
00021 typedef const T* const_pointer;
00022 };
00023
00026 template< typename T >
00027 struct Copy< T* > {
00029 typedef const T* type;
00031 typedef const T* const_reference;
00033 typedef const T* const* const_pointer;
00034 };
00035
00036 }
00037
00038 #endif // ATHLINKS_TOOLS_TYPETOOLS_H