Make EIGEN_HAS_VARIADIC_TEMPLATES user configurable

This commit is contained in:
Gael Guennebaud
2016-05-20 15:05:38 +02:00
parent abd1c1af7a
commit c3410804cd
14 changed files with 33 additions and 30 deletions

View File

@@ -115,7 +115,7 @@ struct Sizes : internal::numeric_list<std::ptrdiff_t, Indices...> {
explicit EIGEN_DEVICE_FUNC Sizes(const array<DenseIndex, Base::count>& /*indices*/) {
// todo: add assertion
}
#ifdef EIGEN_HAS_VARIADIC_TEMPLATES
#if EIGEN_HAS_VARIADIC_TEMPLATES
template <typename... DenseIndex> EIGEN_DEVICE_FUNC Sizes(DenseIndex...) { }
explicit EIGEN_DEVICE_FUNC Sizes(std::initializer_list<std::ptrdiff_t> /*l*/) {
// todo: add assertion
@@ -182,7 +182,7 @@ template <std::size_t V1=0, std::size_t V2=0, std::size_t V3=0, std::size_t V4=0
return *this;
}
#ifdef EIGEN_HAS_VARIADIC_TEMPLATES
#if EIGEN_HAS_VARIADIC_TEMPLATES
template <typename... DenseIndex> Sizes(DenseIndex... /*indices*/) { }
explicit Sizes(std::initializer_list<std::size_t>) {
// todo: add assertion
@@ -290,7 +290,7 @@ struct DSizes : array<DenseIndex, NumDims> {
(*this)[0] = i0;
}
#ifdef EIGEN_HAS_VARIADIC_TEMPLATES
#if EIGEN_HAS_VARIADIC_TEMPLATES
template<typename... IndexTypes> EIGEN_DEVICE_FUNC
EIGEN_STRONG_INLINE explicit DSizes(DenseIndex firstDimension, DenseIndex secondDimension, IndexTypes... otherDimensions) : Base({{firstDimension, secondDimension, otherDimensions...}}) {
EIGEN_STATIC_ASSERT(sizeof...(otherDimensions) + 2 == NumDims, YOU_MADE_A_PROGRAMMING_MISTAKE)