I am writing a container class that for sizes smaller that a threshold uses std::array as a kernel and larger sizes uses std::vector.
here is my implementaiton.
template<typename, size_t, bool>
class VectorStorage {
};
template<typename T, size_t DIM>
class VectorStorage<T, DIM, bool_const_v<(DIM < threshold)> > : public kernel_t<T,
DIM, 1> { // impelementaion}
template<typename T, size_t DIM>
class VectorStorage<T, DIM, bool_const_v<(DIM >= threshold)> > : public kernel_t<T,
DIM, 1> { // impelementaion}
I get the following error ? is it even possible to do this given that SFINAE doen't work for clas specialiaziton ? I am using clang with -std=c++1y
non-type template argument depends on a template parameter of the partial specialization