CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_6_1_2_SLHC4_patch1/src/FWCore/Utilities/src/FunctionWithDict.cc

Go to the documentation of this file.
00001 
00002 #include "Reflex/Object.h"
00003 #include "Reflex/Type.h"
00004 
00005 #include "FWCore/Utilities/interface/FunctionWithDict.h"
00006 #include "FWCore/Utilities/interface/ObjectWithDict.h"
00007 #include "FWCore/Utilities/interface/TypeWithDict.h"
00008 
00009 namespace edm {
00010   std::string
00011   FunctionWithDict::name() const {
00012     return function_.Name();
00013   }
00014 
00015   std::string
00016   FunctionWithDict::typeName() const {return function_.TypeOf().Name();}
00017 
00018   TypeWithDict
00019   FunctionWithDict::typeOf() const {
00020     return (TypeWithDict(function_.TypeOf()));
00021   }
00022 
00023   TypeWithDict
00024   FunctionWithDict::returnType() const {
00025     return (TypeWithDict(function_.TypeOf().ReturnType()));
00026   }
00027 
00028   TypeWithDict
00029   FunctionWithDict::declaringType() const {
00030     return (TypeWithDict(function_.DeclaringType()));
00031   }
00032 
00033   bool
00034   FunctionWithDict::isConst() const {
00035     return function_.IsConst();
00036   }
00037 
00038   bool
00039   FunctionWithDict::isConstructor() const {
00040     return function_.IsConstructor();
00041   }
00042 
00043   bool
00044   FunctionWithDict::isDestructor() const {
00045     return function_.IsDestructor();
00046   }
00047 
00048   bool
00049   FunctionWithDict::isOperator() const {
00050     return function_.IsOperator();
00051   }
00052 
00053   bool
00054   FunctionWithDict::isPublic() const {
00055     return function_.IsPublic();
00056   }
00057 
00058   bool FunctionWithDict::isStatic() const {
00059     return function_.IsStatic();
00060   }
00061 
00062   size_t
00063   FunctionWithDict::functionParameterSize(bool required) const {
00064     return function_.FunctionParameterSize(required);
00065   }
00066 
00067   void
00068   FunctionWithDict::invoke(ObjectWithDict const& obj, ObjectWithDict* ret, std::vector<void*> const& values) const {
00069     function_.Invoke(obj.object_, &ret->object_, values);
00070   }
00071 
00072   Reflex::Type_Iterator
00073   FunctionWithDict::begin() const {
00074     return function_.TypeOf().FunctionParameter_Begin();
00075   }
00076 
00077   Reflex::Type_Iterator
00078   FunctionWithDict::end() const {
00079     return function_.TypeOf().FunctionParameter_End();
00080   }
00081 
00082   FunctionWithDict::operator bool() const {
00083     return bool(function_);
00084   }
00085 
00086 }