CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/FWCore/Utilities/interface/MemberWithDict.h

Go to the documentation of this file.
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