1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#ifndef GENERS_IOPOINTEETYPE_HH_
#define GENERS_IOPOINTEETYPE_HH_
namespace gs {
template <typename T>
struct IOPointeeType;
template <typename T>
struct IOPointeeType<T *> {
typedef T type;
};
template <typename T>
struct IOPointeeType<T *const> {
typedef T type;
};
template <typename T>
struct IOPointeeType<T *volatile> {
typedef T type;
};
template <typename T>
struct IOPointeeType<T *const volatile> {
typedef T type;
};
} // namespace gs
#endif // GENERS_IOPOINTEETYPE_HH_
|