summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorEmiel Bruijntjes <emiel.bruijntjes@copernica.com>2014-03-06 10:59:54 +0100
committerEmiel Bruijntjes <emiel.bruijntjes@copernica.com>2014-03-06 10:59:54 +0100
commit5feeff6e7263d78d482b4c262ace851f370957d6 (patch)
tree6b98aa47741eee89d2a14356707993ce5c7bfa19 /include
parent1a5573246367d457fe4fd961b7faf3b308a88d0c (diff)
changes to documentation, added support for const methods so that they can also be exported
Diffstat (limited to 'include')
-rw-r--r--include/class.h24
-rw-r--r--include/classbase.h8
2 files changed, 24 insertions, 8 deletions
diff --git a/include/class.h b/include/class.h
index 7d82441..a22b9a8 100644
--- a/include/class.h
+++ b/include/class.h
@@ -73,14 +73,22 @@ public:
* @param flags Optional flags
* @param args Argument descriptions
*/
- void method(const char *name, void (T::*method)(), int flags, const Arguments &args = {}) { ClassBase::method(name, static_cast<method_callback_0>(method), flags, args); }
- void method(const char *name, void (T::*method)(Parameters &params), int flags, const Arguments &args = {}) { ClassBase::method(name, static_cast<method_callback_1>(method), flags, args); }
- void method(const char *name, Value (T::*method)(), int flags, const Arguments &args = {}) { ClassBase::method(name, static_cast<method_callback_2>(method), flags, args); }
- void method(const char *name, Value (T::*method)(Parameters &params), int flags, const Arguments &args = {}) { ClassBase::method(name, static_cast<method_callback_3>(method), flags, args); }
- void method(const char *name, void (T::*method)(), const Arguments &args = {}) { ClassBase::method(name, static_cast<method_callback_0>(method), Public, args); }
- void method(const char *name, void (T::*method)(Parameters &params), const Arguments &args = {}) { ClassBase::method(name, static_cast<method_callback_1>(method), Public, args); }
- void method(const char *name, Value (T::*method)(), const Arguments &args = {}) { ClassBase::method(name, static_cast<method_callback_2>(method), Public, args); }
- void method(const char *name, Value (T::*method)(Parameters &params), const Arguments &args = {}) { ClassBase::method(name, static_cast<method_callback_3>(method), Public, args); }
+ void method(const char *name, void (T::*method)(), int flags, const Arguments &args = {}) { ClassBase::method(name, static_cast<method_callback_0>(method), flags, args); }
+ void method(const char *name, void (T::*method)(Parameters &params), int flags, const Arguments &args = {}) { ClassBase::method(name, static_cast<method_callback_1>(method), flags, args); }
+ void method(const char *name, Value (T::*method)(), int flags, const Arguments &args = {}) { ClassBase::method(name, static_cast<method_callback_2>(method), flags, args); }
+ void method(const char *name, Value (T::*method)(Parameters &params), int flags, const Arguments &args = {}) { ClassBase::method(name, static_cast<method_callback_3>(method), flags, args); }
+ void method(const char *name, void (T::*method)(), const Arguments &args = {}) { ClassBase::method(name, static_cast<method_callback_0>(method), Public, args); }
+ void method(const char *name, void (T::*method)(Parameters &params), const Arguments &args = {}) { ClassBase::method(name, static_cast<method_callback_1>(method), Public, args); }
+ void method(const char *name, Value (T::*method)(), const Arguments &args = {}) { ClassBase::method(name, static_cast<method_callback_2>(method), Public, args); }
+ void method(const char *name, Value (T::*method)(Parameters &params), const Arguments &args = {}) { ClassBase::method(name, static_cast<method_callback_3>(method), Public, args); }
+ void method(const char *name, void (T::*method)() const, int flags, const Arguments &args = {}) { ClassBase::method(name, static_cast<method_callback_4>(method), flags, args); }
+ void method(const char *name, void (T::*method)(Parameters &params) const, int flags, const Arguments &args = {}) { ClassBase::method(name, static_cast<method_callback_5>(method), flags, args); }
+ void method(const char *name, Value (T::*method)() const, int flags, const Arguments &args = {}) { ClassBase::method(name, static_cast<method_callback_6>(method), flags, args); }
+ void method(const char *name, Value (T::*method)(Parameters &params) const, int flags, const Arguments &args = {}) { ClassBase::method(name, static_cast<method_callback_7>(method), flags, args); }
+ void method(const char *name, void (T::*method)() const, const Arguments &args = {}) { ClassBase::method(name, static_cast<method_callback_4>(method), Public, args); }
+ void method(const char *name, void (T::*method)(Parameters &params) const, const Arguments &args = {}) { ClassBase::method(name, static_cast<method_callback_5>(method), Public, args); }
+ void method(const char *name, Value (T::*method)() const, const Arguments &args = {}) { ClassBase::method(name, static_cast<method_callback_6>(method), Public, args); }
+ void method(const char *name, Value (T::*method)(Parameters &params) const, const Arguments &args = {}) { ClassBase::method(name, static_cast<method_callback_7>(method), Public, args); }
/**
* Add an abstract method to the class
diff --git a/include/classbase.h b/include/classbase.h
index 9dd4628..3792fdb 100644
--- a/include/classbase.h
+++ b/include/classbase.h
@@ -32,6 +32,10 @@ typedef void (Base::*method_callback_0)();
typedef void (Base::*method_callback_1)(Parameters &);
typedef Value (Base::*method_callback_2)();
typedef Value (Base::*method_callback_3)(Parameters &);
+typedef void (Base::*method_callback_4)() const;
+typedef void (Base::*method_callback_5)(Parameters &) const;
+typedef Value (Base::*method_callback_6)() const;
+typedef Value (Base::*method_callback_7)(Parameters &) const;
/**
* Forward declarations
@@ -133,6 +137,10 @@ protected:
void method(const char *name, method_callback_1, int flags=0, const Arguments &args = {});
void method(const char *name, method_callback_2, int flags=0, const Arguments &args = {});
void method(const char *name, method_callback_3, int flags=0, const Arguments &args = {});
+ void method(const char *name, method_callback_4, int flags=0, const Arguments &args = {});
+ void method(const char *name, method_callback_5, int flags=0, const Arguments &args = {});
+ void method(const char *name, method_callback_6, int flags=0, const Arguments &args = {});
+ void method(const char *name, method_callback_7, int flags=0, const Arguments &args = {});
/**
* Add an abstract method to the class