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