diff options
| -rw-r--r-- | papers/wg01/wg01.pdf | bin | 105601 -> 105380 bytes | |||
| -rw-r--r-- | source/wg01/wg01.tex | 15 |
2 files changed, 8 insertions, 7 deletions
diff --git a/papers/wg01/wg01.pdf b/papers/wg01/wg01.pdf Binary files differindex b993ef4..7ac74d3 100644 --- a/papers/wg01/wg01.pdf +++ b/papers/wg01/wg01.pdf diff --git a/source/wg01/wg01.tex b/source/wg01/wg01.tex index 328accb..73c8e33 100644 --- a/source/wg01/wg01.tex +++ b/source/wg01/wg01.tex @@ -105,11 +105,11 @@ The following example shows how powerful C++ can be when combining it with Devic /// @brief This concept requires the driver /// to be IDriverBase compliant. -constexpr auto kInvalidType = 0; +inline constexpr auto kInvalidType = 0; -template <typename T> -concept IsValidDriver = requires(T a) { - { a.IsActive() && a.Type() > kInvalidType }; +template <class Driver> +concept IsValidDriver = requires(Driver drv) { + { drv.IsActive() && drv.Type() > kInvalidType }; }; /// @brief Consteval helper to detect @@ -151,14 +151,15 @@ public: }; int main() { - B* callImpl = new B(); - callImpl->doImpl(); + B callImpl; + callImpl.doImpl(); } \end{lstlisting} \section{Addressing V-Tables in a C++ Kernel.} -Now the problem with kernel development is that we want to avoid such feature as much as possible, and we'd do that by following the Prong on Inheritance: +Now the problem with kernel development is that we want to avoid such feature as much as possible, \\ +and we'd do that by following the Prong on Inheritance: \subsection{The Three Prongs on Inheritance:} |
