aboutsummaryrefslogtreecommitdiff
path: root/src/utils.hpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/utils.hpp17
1 files changed, 8 insertions, 9 deletions
diff --git a/src/utils.hpp b/src/utils.hpp
index d7ca4c0..2a49bd3 100644
--- a/src/utils.hpp
+++ b/src/utils.hpp
@@ -2,16 +2,15 @@
#include <memory>
-#define DELEGATE(OBJ, METHOD, METHOD_AS) \
- template <typename... Args> decltype(auto) METHOD_AS(Args &&...args) { \
- return OBJ->METHOD(std::forward<Args>(args)...); \
+#define DELEGATE(OBJ, METHOD, METHOD_AS) \
+ template <typename... Args> inline decltype(auto) METHOD_AS(Args &&...args) { \
+ return (OBJ)->METHOD(std::forward<Args>(args)...); \
}
-#define DEFINE_SETTER(METHOD, PROPERTY) \
- template <typename Arg> void METHOD(Arg val) { PROPERTY = val; }
+#define DEFINE_SETTER(METHOD, PROPERTY) \
+ template <typename Arg> inline void METHOD(Arg val) { PROPERTY = val; }
-#define DEFINE_GETTER(METHOD, EXPR) \
- decltype(auto) METHOD() { return EXPR; }
+#define DEFINE_GETTER(METHOD, EXPR) \
+ decltype(auto) inline METHOD() const { return EXPR; }
-#define DEFER(DEFERRED_BLOCK) \
- std::shared_ptr<void> __deferred(nullptr, [](...) DEFERRED_BLOCK);
+#define DEFER(DEFERRED_BLOCK) std::shared_ptr<void> __deferred(nullptr, [](...) DEFERRED_BLOCK);