Dune Core Modules (2.9.1)
template which always yields a false value More...
#include <dune/common/typetraits.hh>
Detailed Description
struct Dune::AlwaysFalse< T >
template which always yields a false value
- Template Parameters
-
T Some type. It should be a type expression involving template parameters of the class or function using AlwaysFalse.
Suppose you have a template class. You want to document the required members of this class in the non-specialized template, but you know that actually instantiating the non-specialized template is an error. You can try something like this:
This will trigger static_assert() as soon as the compiler reads the definition for the Traits template, since it knows that "false" can never become true, no matter what the template parameters of Traits are. As a workaround you can use AlwaysFalse: replace false
by AlwaysFalse<T>::value
, like this:
Since there might be an specialization of AlwaysFalse for template parameter T, the compiler cannot trigger static_assert() until the type of T is known, that is, until Traits<T> is instantiated.
The documentation for this struct was generated from the following file:
- dune/common/typetraits.hh