summaryrefslogtreecommitdiffhomepage
path: root/dev/kernel/NewKit/Function.h
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-05-02 19:38:46 +0200
committerGitHub <noreply@github.com>2025-05-02 19:38:46 +0200
commit997be16e5ac9a68d54882ab69529815860d62955 (patch)
tree19d6129c2d776bb1edc5d4a7325e39ca176c3403 /dev/kernel/NewKit/Function.h
parent618104e74c195d7508a18450524f8ed7f9af8cc6 (diff)
parentb3b4b1ebdcd6adeac914869017c86d892b7a8ced (diff)
Merge pull request #28 from nekernel-org/dev
0.0.2
Diffstat (limited to 'dev/kernel/NewKit/Function.h')
-rw-r--r--dev/kernel/NewKit/Function.h83
1 files changed, 35 insertions, 48 deletions
diff --git a/dev/kernel/NewKit/Function.h b/dev/kernel/NewKit/Function.h
index 9fa218af..e0af5842 100644
--- a/dev/kernel/NewKit/Function.h
+++ b/dev/kernel/NewKit/Function.h
@@ -3,51 +3,38 @@
#include <NewKit/Defines.h>
-namespace Kernel
-{
- template <typename T, typename... Args>
- class Function final
- {
- public:
- Function() = default;
-
- public:
- explicit Function(T (*Fn)(Args... args))
- : fFn(Fn)
- {
- }
-
- ~Function() = default;
-
- Function& operator=(const Function&) = default;
- Function(const Function&) = default;
-
- template <typename... XArgs>
- T operator()(Args... args)
- {
- return fFn(args...);
- }
-
- template <typename... XArgs>
- T Call(Args... args)
- {
- return fFn(args...);
- }
-
- operator bool()
- {
- return fFn;
- }
-
- bool operator!()
- {
- return !fFn;
- }
-
- private:
- T(*fFn)
- (Args... args);
- };
-} // namespace Kernel
-
-#endif // !_INC_FUNCTION_H__
+namespace Kernel {
+template <typename T, typename... Args>
+class Function final {
+ public:
+ Function() = default;
+
+ public:
+ explicit Function(T (*Fn)(Args... args)) : fFn(Fn) {}
+
+ ~Function() = default;
+
+ Function& operator=(const Function&) = default;
+ Function(const Function&) = default;
+
+ template <typename... XArgs>
+ T operator()(Args... args) {
+ return fFn(args...);
+ }
+
+ template <typename... XArgs>
+ T Call(Args... args) {
+ return fFn(args...);
+ }
+
+ operator bool() { return fFn; }
+
+ bool operator!() { return !fFn; }
+
+ private:
+ T(*fFn)
+ (Args... args);
+};
+} // namespace Kernel
+
+#endif // !_INC_FUNCTION_H__