#include <Rodin/Utility/DependentValue.h>
template<class T, T Value_, class ... Args>
DependentValue struct
Creates a type-dependent compile-time constant value.
| Template parameters | |
|---|---|
| T | The type of the value. |
| Value_ | The compile-time constant value. |
| Args | Dependent type parameters (unused, but create type dependency). |
DependentValue provides a way to create compile-time constants that depend on template parameters, preventing premature evaluation during template parsing. This is useful in conditional compilation within template contexts.
Example usage:
template <typename T> void foo() { if constexpr (DependentValue<bool, false, T>::Value) { // This branch won't be evaluated unless explicitly instantiated } }
Public static variables
- static bool Value constexpr
- The dependent value.