00001 #ifndef FWCore_Utilities_BaseWithDict_h 00002 #define FWCore_Utilities_BaseWithDict_h 00003 00004 /*---------------------------------------------------------------------- 00005 00006 BaseWithDict: A holder for a base class 00007 00008 ----------------------------------------------------------------------*/ 00009 00010 #include <string> 00011 00012 #include "Reflex/Base.h" 00013 00014 namespace edm { 00015 00016 class TypeWithDict; 00017 00018 class BaseWithDict { 00019 public: 00020 BaseWithDict() : base_() {} 00021 00022 explicit BaseWithDict(Reflex::Base const& base) : base_(base) {} 00023 00024 std::string name() const; 00025 00026 TypeWithDict toType() const; 00027 00028 bool isPublic() const; 00029 00030 private: 00031 00032 Reflex::Base base_; 00033 }; 00034 00035 } 00036 #endif