![]() |
![]() |
00001 #ifndef FWCore_Utilities_MemberWithDict_h 00002 #define FWCore_Utilities_MemberWithDict_h 00003 00004 /*---------------------------------------------------------------------- 00005 00006 MemberWithDict: A holder for a class member 00007 00008 ----------------------------------------------------------------------*/ 00009 00010 #include <string> 00011 00012 #include "Reflex/Member.h" 00013 00014 namespace edm { 00015 00016 class ObjectWithDict; 00017 class TypeWithDict; 00018 00019 class MemberWithDict { 00020 public: 00021 MemberWithDict() : member_() {} 00022 00023 explicit MemberWithDict(Reflex::Member const& member) : member_(member) {} 00024 00025 std::string name() const; 00026 00027 ObjectWithDict get() const; 00028 00029 ObjectWithDict get(ObjectWithDict const& obj) const; 00030 00031 TypeWithDict declaringType() const; 00032 00033 TypeWithDict typeOf() const; 00034 00035 bool isConst() const; 00036 00037 bool isPublic() const; 00038 00039 bool isStatic() const; 00040 00041 bool isTransient() const; 00042 00043 size_t offset() const; 00044 00045 #ifndef __GCCXML__ 00046 explicit operator bool() const; 00047 #endif 00048 00049 private: 00050 00051 Reflex::Member member_; 00052 }; 00053 00054 } 00055 #endif