Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:13:01

0001 #ifndef FWCore_Reflection_MemberWithDict_h
0002 #define FWCore_Reflection_MemberWithDict_h
0003 
0004 /*----------------------------------------------------------------------
0005 
0006 MemberWithDict:  A holder for a class member
0007 
0008 ----------------------------------------------------------------------*/
0009 
0010 #include <string>
0011 
0012 class TDataMember;
0013 
0014 namespace edm {
0015 
0016   class ObjectWithDict;
0017   class TypeWithDict;
0018 
0019   class MemberWithDict {
0020   private:
0021     TDataMember* dataMember_;
0022 
0023   public:
0024     MemberWithDict();
0025     explicit MemberWithDict(TDataMember*);
0026     explicit operator bool() const;
0027     std::string name() const;
0028     bool isArray() const;
0029     bool isConst() const;
0030     bool isPublic() const;
0031     bool isStatic() const;
0032     bool isTransient() const;
0033     size_t offset() const;
0034     TypeWithDict declaringType() const;
0035     TypeWithDict typeOf() const;
0036     ObjectWithDict get() const;
0037     ObjectWithDict get(ObjectWithDict const&) const;
0038   };
0039 
0040 }  // namespace edm
0041 
0042 #include "FWCore/Reflection/interface/ObjectWithDict.h"
0043 #include "FWCore/Reflection/interface/TypeWithDict.h"
0044 
0045 #endif  // FWCore_Reflection_MemberWithDict_h