Rivet  1.8.0
TypeTraits.hh
00001 // -*- C++ -*-
00002 #ifndef RIVET_TypeTraits_HH
00003 #define RIVET_TypeTraits_HH
00004 
00005 namespace Rivet {
00006 
00013 
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 
00034 
00035 }
00036 
00037 #endif