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
30
31
32
33
|
#ifndef GENERS_IOISSHAREDPTR_HH_
#define GENERS_IOISSHAREDPTR_HH_
#include <memory>
namespace gs {
template <class T>
struct IOIsSharedPtr {
enum { value = 0 };
};
template <class T>
struct IOIsSharedPtr<std::shared_ptr<T>> {
enum { value = 1 };
};
template <class T>
struct IOIsSharedPtr<const std::shared_ptr<T>> {
enum { value = 1 };
};
template <class T>
struct IOIsSharedPtr<volatile std::shared_ptr<T>> {
enum { value = 1 };
};
template <class T>
struct IOIsSharedPtr<const volatile std::shared_ptr<T>> {
enum { value = 1 };
};
} // namespace gs
#endif // GENERS_IOISSHAREDPTR_HH_
|