CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
FunctionWithDict.h
Go to the documentation of this file.
1 #ifndef FWCore_Utilities_FunctionWithDict_h
2 #define FWCore_Utilities_FunctionWithDict_h
3 
4 /*----------------------------------------------------------------------
5 
6 FunctionWithDict: A holder for a class member function
7 
8 ----------------------------------------------------------------------*/
9 
10 #include <string>
11 
12 #include "Reflex/Member.h"
13 
14 namespace edm {
15 
16  class ObjectWithDict;
17  class TypeWithDict;
18 
20  public:
22 
23  explicit FunctionWithDict(Reflex::Member const& function);
24 
25  std::string name() const;
26 
27  std::string typeName() const;
28 
30 
31  TypeWithDict typeOf() const;
32 
33  bool isConst() const;
34 
35  bool isConstructor() const;
36 
37  bool isDestructor() const;
38 
39  bool isOperator() const;
40 
41  bool isPublic() const;
42 
43  bool isStatic() const;
44 
45  TypeWithDict returnType() const;
46 
48 
49  size_t functionParameterSize(bool required = false) const;
50 
51  void invoke(ObjectWithDict const& obj, ObjectWithDict* ret, std::vector<void*> const& values = std::vector<void*>()) const;
52 
53  Reflex::Type_Iterator begin() const;
54  Reflex::Type_Iterator end() const;
55  size_t size() const {
56  return functionParameterSize();
57  }
58 
59 #ifndef __GCCXML__
60  explicit operator bool() const;
61 #endif
62 
63  private:
64 
65  Reflex::Member function_;
66  };
67 
68 }
69 #endif
void invoke(ObjectWithDict const &obj, ObjectWithDict *ret, std::vector< void * > const &values=std::vector< void * >()) const
Reflex::Member function_
bool isConstructor() const
TypeWithDict declaringType() const
std::string name() const
Reflex::Type_Iterator begin() const
std::string typeName() const
TypeWithDict returnType() const
TypeWithDict typeOf() const
TypeWithDict finalReturnType() const
Reflex::Type_Iterator end() const
size_t functionParameterSize(bool required=false) const
bool isDestructor() const
size_t size() const