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