summaryrefslogtreecommitdiffhomepage
path: root/src/libDDK/DriverKit/c++
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2025-12-01 02:39:24 -0500
committerGitHub <noreply@github.com>2025-12-01 02:39:24 -0500
commitcd0c176275687a552bc546395bd2a39c92a3dd1b (patch)
treed6ddc16fd59d851a093700bad8dd8baca1c914dc /src/libDDK/DriverKit/c++
parent82f7d186848681e2530c9fa8b196b55fad0f4823 (diff)
parent9c3de597257be9911a5eeb86c33962b15d87a701 (diff)
Merge pull request #98 from nekernel-org/develop
Develop: Updated paper, containers, and container types.
Diffstat (limited to 'src/libDDK/DriverKit/c++')
-rw-r--r--src/libDDK/DriverKit/c++/driver_base.h8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/libDDK/DriverKit/c++/driver_base.h b/src/libDDK/DriverKit/c++/driver_base.h
index c130ba8b..97f07f2a 100644
--- a/src/libDDK/DriverKit/c++/driver_base.h
+++ b/src/libDDK/DriverKit/c++/driver_base.h
@@ -20,6 +20,8 @@
/// @author Amlal El Mahrouss
namespace Kernel::DDK {
+constexpr auto kInvalidType = 0;
+
class IDriverBase {
public:
explicit IDriverBase() = default;
@@ -32,17 +34,17 @@ class IDriverBase {
virtual BOOL IsCastable() { return NO; }
virtual constexpr BOOL IsActive() { return NO; }
virtual PtrType Leak() { return nullptr; }
- virtual constexpr Int32 Type() { return 0; }
+ virtual constexpr Int32 Type() { return kInvalidType; }
};
/// @brief This concept requires the Driver to be IDriverBase compliant.
template <typename T>
concept IsValidDriver = requires(T driver_base) {
- { driver_base.IsActive() && driver_base.Type() > 0 };
+ { driver_base.IsActive() && driver_base.Type() > kInvalidType };
};
/// @brief Consteval helper to detect whether a template is truly based on IDriverBase.
/// @note This helper is consteval only.
template <IsValidDriver T>
-inline consteval void ce_ddk_is_valid(T) {}
+consteval void ce_ddk_is_valid(T) {}
} // namespace Kernel::DDK