File indexing completed on 2024-04-06 11:56:19
0001 #ifndef GENERS_IOISIOPTR_HH_
0002 #define GENERS_IOISIOPTR_HH_
0003
0004 #include "Alignment/Geners/interface/IOPtr.hh"
0005
0006 namespace gs {
0007 template <class T>
0008 struct IOIsIOPtr {
0009 enum { value = 0 };
0010 };
0011
0012 template <class T>
0013 struct IOIsIOPtr<IOPtr<T>> {
0014 enum { value = 1 };
0015 };
0016
0017 template <class T>
0018 struct IOIsIOPtr<const IOPtr<T>> {
0019 enum { value = 1 };
0020 };
0021
0022 template <class T>
0023 struct IOIsIOPtr<volatile IOPtr<T>> {
0024 enum { value = 1 };
0025 };
0026
0027 template <class T>
0028 struct IOIsIOPtr<const volatile IOPtr<T>> {
0029 enum { value = 1 };
0030 };
0031
0032 template <class T>
0033 struct IOIsIOPtr<IOProxy<T>> {
0034 enum { value = 1 };
0035 };
0036
0037 template <class T>
0038 struct IOIsIOPtr<const IOProxy<T>> {
0039 enum { value = 1 };
0040 };
0041
0042 template <class T>
0043 struct IOIsIOPtr<volatile IOProxy<T>> {
0044 enum { value = 1 };
0045 };
0046
0047 template <class T>
0048 struct IOIsIOPtr<const volatile IOProxy<T>> {
0049 enum { value = 1 };
0050 };
0051 }
0052
0053 #endif