ViewTypeChecker

Macros

Line Code
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
#ifndef DataFormats_Provenance_ViewTypeChecker_h
#define DataFormats_Provenance_ViewTypeChecker_h

/*----------------------------------------------------------------------

Checks for "value_type" and "member_type" typedefs inside T (of Wrapper<T>).

----------------------------------------------------------------------*/

#include <typeinfo>

namespace edm {
  class ViewTypeChecker {
  public:
    ViewTypeChecker();
    virtual ~ViewTypeChecker();

    std::type_info const& valueTypeInfo() const { return valueTypeInfo_(); }
    std::type_info const& memberTypeInfo() const { return memberTypeInfo_(); }

  private:
    virtual std::type_info const& valueTypeInfo_() const = 0;
    virtual std::type_info const& memberTypeInfo_() const = 0;
  };
}  // namespace edm
#endif