I suppose this is trivial for people who know templates...
Suppose we want two different implementations of this template class, depending on the value of N:
template <int N>
class Foo {
...
};
For example:
template <int N>
class Foo {
... // implementation for N <= 10
};
template <int N>
class Foo {
... // implementation for N > 10
};
How can we do that in C++11?
Use an extra template parameter with a default value to distinguish cases:
template <int N, bool b = N <= 10>
class Foo;
template <int N>
class Foo<N, true> {
... // implementation for N <= 10
};
template <int N>
class Foo<N, false> {
... // implementation for N > 10
};
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With