diff options
| author | Akshay Nair <phenax5@gmail.com> | 2025-04-20 12:57:07 +0530 |
|---|---|---|
| committer | Akshay Nair <phenax5@gmail.com> | 2025-05-02 16:15:17 +0530 |
| commit | b4b6a646b3a7a7f6c7e990c67f208b76f4b5f748 (patch) | |
| tree | 7f18775a63594acf0187668af63766dd72b9f66f /src/utils.hpp | |
| parent | 75157006bf6f1176f64e87695343980b16908bb6 (diff) | |
| download | null-browser-b4b6a646b3a7a7f6c7e990c67f208b76f4b5f748.tar.gz null-browser-b4b6a646b3a7a7f6c7e990c67f208b76f4b5f748.zip | |
Refactor + expose managing mode to inside lua
Diffstat (limited to 'src/utils.hpp')
| -rw-r--r-- | src/utils.hpp | 17 |
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); |
