Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2021-02-14 12:54:31

0001 #ifndef DataFormats_Provenance_ViewTypeChecker_h
0002 #define DataFormats_Provenance_ViewTypeChecker_h
0003 
0004 /*----------------------------------------------------------------------
0005 
0006 Checks for "value_type" and "member_type" typedefs inside T (of Wrapper<T>).
0007 
0008 ----------------------------------------------------------------------*/
0009 
0010 #include <typeinfo>
0011 
0012 namespace edm {
0013   class ViewTypeChecker {
0014   public:
0015     ViewTypeChecker();
0016     virtual ~ViewTypeChecker();
0017 
0018     std::type_info const& valueTypeInfo() const { return valueTypeInfo_(); }
0019     std::type_info const& memberTypeInfo() const { return memberTypeInfo_(); }
0020 
0021   private:
0022     virtual std::type_info const& valueTypeInfo_() const = 0;
0023     virtual std::type_info const& memberTypeInfo_() const = 0;
0024   };
0025 }  // namespace edm
0026 #endif