00001
00002 #ifndef RIVET_TypeTraits_HH
00003 #define RIVET_TypeTraits_HH
00004
00005 namespace Rivet {
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 struct RefType { };
00017
00018 struct PtrType { };
00019
00020 template <typename T>
00021 struct TypeTraits;
00022
00023 template <typename U>
00024 struct TypeTraits<const U&> {
00025 typedef RefType ArgType;
00026 };
00027
00028 template <typename U>
00029 struct TypeTraits<const U*> {
00030 typedef PtrType ArgType;
00031 };
00032
00033
00034
00035 }
00036
00037 #endif