Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 11:56:19

0001 #ifndef GENERS_IOISSHAREDPTR_HH_
0002 #define GENERS_IOISSHAREDPTR_HH_
0003 
0004 #include <memory>
0005 
0006 namespace gs {
0007   template <class T>
0008   struct IOIsSharedPtr {
0009     enum { value = 0 };
0010   };
0011 
0012   template <class T>
0013   struct IOIsSharedPtr<std::shared_ptr<T>> {
0014     enum { value = 1 };
0015   };
0016 
0017   template <class T>
0018   struct IOIsSharedPtr<const std::shared_ptr<T>> {
0019     enum { value = 1 };
0020   };
0021 
0022   template <class T>
0023   struct IOIsSharedPtr<volatile std::shared_ptr<T>> {
0024     enum { value = 1 };
0025   };
0026 
0027   template <class T>
0028   struct IOIsSharedPtr<const volatile std::shared_ptr<T>> {
0029     enum { value = 1 };
0030   };
0031 }  // namespace gs
0032 
0033 #endif  // GENERS_IOISSHAREDPTR_HH_