summaryrefslogtreecommitdiffhomepage
path: root/src/kernel
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-12-14 09:47:06 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2025-12-14 09:47:06 +0100
commitcceb0a70efef009b87198796eb9016ffb82c7130 (patch)
treed55a54389256769a86ceab1e3e12f2b0018d35a4 /src/kernel
parent2d56cc149fa8c07a92c9ee71950f3ec415590267 (diff)
chore: make Vettable pattern less redundant.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'src/kernel')
-rw-r--r--src/kernel/NeKit/Config.h13
-rw-r--r--src/kernel/NeKit/Vettable.h17
2 files changed, 11 insertions, 19 deletions
diff --git a/src/kernel/NeKit/Config.h b/src/kernel/NeKit/Config.h
index 40d2ede5..39f40401 100644
--- a/src/kernel/NeKit/Config.h
+++ b/src/kernel/NeKit/Config.h
@@ -15,7 +15,10 @@
#error !!! NeKernel compiles with C++20 as of December 4, 2025 !!!
#endif
-#define NE_ICODEC final : public ::Kernel::ICodec
+#define NE_ICODEC \
+ final: \
+ public \
+ ::Kernel::ICodec
/// @brief The **Kernel** namespace.
namespace Kernel {
@@ -114,7 +117,7 @@ concept IsSerializable = requires() {
template <class Type>
concept IsNotSerializable = requires() {
- { !Type::kValue };
+ { !Type::kValue };
};
/// @brief Encoding interface, used as a proxy to convert T to Char*
@@ -190,9 +193,9 @@ struct FalseResult final {};
template <class Type>
struct TrueResult final {
- using ResultType = Type;
- using ResultTypeRef = ResultType&;
+ using ResultType = Type;
+ using ResultTypeRef = ResultType&;
- static constexpr bool kValue = true;
+ static constexpr bool kValue = true;
};
} // namespace Kernel
diff --git a/src/kernel/NeKit/Vettable.h b/src/kernel/NeKit/Vettable.h
index 5520af01..04d51b1d 100644
--- a/src/kernel/NeKit/Vettable.h
+++ b/src/kernel/NeKit/Vettable.h
@@ -15,6 +15,7 @@
final: \
public \
::Kernel::IVettable
+
#define NE_NOT_VETTABLE \
final: \
public \
@@ -29,26 +30,14 @@ struct IVettable {
NE_COPY_DEFAULT(IVettable)
};
-struct INotVettable {
- explicit INotVettable() = default;
- virtual ~INotVettable() = default;
-
- NE_COPY_DEFAULT(INotVettable)
-};
-
template <class Type>
struct Vettable final {
- static constexpr bool kValue = false;
-};
-
-template <>
-struct Vettable<INotVettable> final {
- static constexpr bool kValue = false;
+ static constexpr bool kValue = false;
};
template <>
struct Vettable<IVettable> final {
- static constexpr bool kValue = true;
+ static constexpr bool kValue = true;
};
/// @brief Concept version of Vettable.