diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2025-12-14 09:47:06 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-12-14 09:47:06 +0100 |
| commit | cceb0a70efef009b87198796eb9016ffb82c7130 (patch) | |
| tree | d55a54389256769a86ceab1e3e12f2b0018d35a4 /src/kernel/NeKit | |
| parent | 2d56cc149fa8c07a92c9ee71950f3ec415590267 (diff) | |
chore: make Vettable pattern less redundant.
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'src/kernel/NeKit')
| -rw-r--r-- | src/kernel/NeKit/Config.h | 13 | ||||
| -rw-r--r-- | src/kernel/NeKit/Vettable.h | 17 |
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. |
