summaryrefslogtreecommitdiffhomepage
path: root/src/libDDK/DriverKit/c++/driver_base.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libDDK/DriverKit/c++/driver_base.h')
-rw-r--r--src/libDDK/DriverKit/c++/driver_base.h18
1 files changed, 7 insertions, 11 deletions
diff --git a/src/libDDK/DriverKit/c++/driver_base.h b/src/libDDK/DriverKit/c++/driver_base.h
index 002cd768..44be997e 100644
--- a/src/libDDK/DriverKit/c++/driver_base.h
+++ b/src/libDDK/DriverKit/c++/driver_base.h
@@ -16,18 +16,20 @@
public \
::Kernel::DDK::IDriverBase
+
/// @author Amlal El Mahrouss
+/// @brief The DDK C++ API.
namespace Kernel::DDK {
inline constexpr auto kInvalidType = 0;
+/// @brief Driver interface type.
class IDriverBase {
public:
- explicit IDriverBase() = default;
+ IDriverBase() = default;
virtual ~IDriverBase() = default;
NE_COPY_DELETE(IDriverBase);
- NE_MOVE_DEFAULT(IDriverBase);
using PtrType = void*;
@@ -38,15 +40,9 @@ class IDriverBase {
};
/// @brief This concept requires the Driver to be IDriverBase compliant.
+/// @author @amlel-el-mahrouss
template <typename Driver>
-concept IsValidDriver = requires(Driver driver_base) {
- { driver_base.IsActive() && driver_base.Type() > kInvalidType };
+concept IsValidDriver = requires(Driver drv) {
+ { drv.IsActive() && drv.Type() > kInvalidType };
};
-
-/// @brief Consteval helper to detect whether a template is truly based on IDriverBase.
-/// @note This helper is consteval only.
-template <class Driver>
-inline bool ce_ddk_is_valid(Driver drv) {
- return IsValidDriver<Driver>(drv);
-}
} // namespace Kernel::DDK