00001 #ifndef s11n_POINTER_STRIPPER_H_INCLUDED
00002 #define s11n_POINTER_STRIPPER_H_INCLUDED 1
00003
00004 namespace s11n {
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 template <typename T>
00019 struct pointer_stripper
00020 {
00021
00022
00023
00024 typedef T value_type;
00025 };
00026
00027
00028
00029
00030
00031 template <typename T>
00032 struct pointer_stripper<T *>
00033 {
00034
00035
00036
00037 typedef T value_type;
00038 };
00039 template <typename T>
00040 struct pointer_stripper<T &>
00041 {
00042
00043
00044
00045 typedef T value_type;
00046 };
00047
00048 }
00049
00050 #endif // s11n_POINTER_STRIPPER_H_INCLUDED