Compile [2024-11-18 21:29:47 UTC]: fail
"g++-13" -fvisibility-inlines-hidden -std=gnu++11 -fPIC -m64 -pthread -O0 -fno-inline -Wall -fvisibility=hidden -Wall -Wno-unknown-pragmas -Wall -Wno-unknown-pragmas -Wno-sign-compare -Wno-unused-but-set-variable -DBOOST_ALL_NO_LIB=1 -DBOOST_COBALT_USE_STD_PMR=1 -DBOOST_TEST_DYN_LINK=1 -DBOOST_TEST_NO_AUTO_LINK=1 -DBOOST_UBLAS_NO_EXCEPTIONS -I".." -c -o "/var/boost/run/results/boost/bin.v2/libs/numeric/ublas/test/tensor/test_tensor.test/gcc-13~gnu11/debug/x86_64/debug-symbols-off/threading-multi/visibility-hidden/test_tensor_matrix_vector.o" "../libs/numeric/ublas/test/tensor/test_tensor_matrix_vector.cpp"
In file included from ../boost/numeric/ublas/tensor/functions.hpp:23,
from ../boost/numeric/ublas/tensor.hpp:18,
from ../libs/numeric/ublas/test/tensor/test_tensor_matrix_vector.cpp:15:
../boost/numeric/ublas/tensor/multiplication.hpp: In function 'void boost::numeric::ublas::ttv(SizeType, SizeType, PointerOut, const SizeType*, const SizeType*, PointerIn1, const SizeType*, const SizeType*, PointerIn2, const SizeType*, const SizeType*)':
../boost/numeric/ublas/tensor/multiplication.hpp:652:31: error: 'remove_pointer_t' is not a member of 'std'; did you mean 'remove_pointer'?
652 | auto v = std::remove_pointer_t<std::remove_cv_t<PointerOut>>{};
| ^~~~~~~~~~~~~~~~
| remove_pointer
../boost/numeric/ublas/tensor/multiplication.hpp:652:53: error: 'remove_cv_t' is not a member of 'std'; did you mean 'remove_cv'?
652 | auto v = std::remove_pointer_t<std::remove_cv_t<PointerOut>>{};
| ^~~~~~~~~~~
| remove_cv
../boost/numeric/ublas/tensor/multiplication.hpp:652:75: error: expected primary-expression before '>>' token
652 | auto v = std::remove_pointer_t<std::remove_cv_t<PointerOut>>{};
| ^~
../boost/numeric/ublas/tensor/multiplication.hpp:652:77: error: expected primary-expression before '{' token
652 | auto v = std::remove_pointer_t<std::remove_cv_t<PointerOut>>{};
| ^
../boost/numeric/ublas/tensor/multiplication.hpp: In function 'void boost::numeric::ublas::ttt(SizeType, SizeType, SizeType, PointerOut, const SizeType*, const SizeType*, PointerIn1, const SizeType*, const SizeType*, PointerIn2, const SizeType*, const SizeType*)':
../boost/numeric/ublas/tensor/multiplication.hpp:854:33: error: 'decay_t' in namespace 'std' does not name a template type; did you mean 'decay'?
854 | using value_type = std::decay_t<decltype(*c)>;
| ^~~~~~~
| decay
../boost/numeric/ublas/tensor/multiplication.hpp:861:69: error: there are no arguments to 'value_type' that depend on a template parameter, so a declaration of 'value_type' must be available [-fpermissive]
861 | *c = detail::recursive::inner(q-1, na, a,wa, b,wb, value_type(0) );
| ^~~~~~~~~~
../boost/numeric/ublas/tensor/multiplication.hpp:861:69: note: (if you use '-fpermissive', G++ will accept your code, but allowing the use of an undeclared name is deprecated)
../boost/numeric/ublas/tensor/multiplication.hpp: At global scope:
../boost/numeric/ublas/tensor/multiplication.hpp:884:1: error: 'inner' function uses 'auto' type specifier without trailing return type
884 | auto inner(const SizeType p, SizeType const*const n,
| ^~~~
../boost/numeric/ublas/tensor/multiplication.hpp:884:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
In file included from ../boost/numeric/ublas/tensor/functions.hpp:25:
../boost/numeric/ublas/tensor/expression.hpp:61:9: error: 'operator()' function uses 'auto' type specifier without trailing return type
61 | auto const& operator()() const { return *static_cast<const expression_type*> (this); }
| ^~~~
../boost/numeric/ublas/tensor/expression.hpp:61:9: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/expression.hpp:91:9: error: 'decltype(auto)' type specifier only available with '-std=c++14' or '-std=gnu++14'
91 | decltype(auto) operator()(size_type i) const { return op(el(i), er(i)); }
| ^~~~~~~~
../boost/numeric/ublas/tensor/expression.hpp:100:1: error: 'make_binary_tensor_expression' function uses 'auto' type specifier without trailing return type
100 | auto make_binary_tensor_expression( tensor_expression<T,EL> const& el, tensor_expression<T,ER> const& er, OP op)
| ^~~~
../boost/numeric/ublas/tensor/expression.hpp:100:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/expression.hpp:106:1: error: 'make_binary_tensor_expression' function uses 'auto' type specifier without trailing return type
106 | auto make_binary_tensor_expression( matrix_expression<EL> const& el, tensor_expression<T,ER> const& er, OP op)
| ^~~~
../boost/numeric/ublas/tensor/expression.hpp:106:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/expression.hpp:112:1: error: 'make_binary_tensor_expression' function uses 'auto' type specifier without trailing return type
112 | auto make_binary_tensor_expression( tensor_expression<T,EL> const& el, matrix_expression<ER> const& er, OP op)
| ^~~~
../boost/numeric/ublas/tensor/expression.hpp:112:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/expression.hpp:118:1: error: 'make_binary_tensor_expression' function uses 'auto' type specifier without trailing return type
118 | auto make_binary_tensor_expression( vector_expression<EL> const& el, tensor_expression<T,ER> const& er, OP op)
| ^~~~
../boost/numeric/ublas/tensor/expression.hpp:118:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/expression.hpp:124:1: error: 'make_binary_tensor_expression' function uses 'auto' type specifier without trailing return type
124 | auto make_binary_tensor_expression( tensor_expression<T,EL> const& el, vector_expression<ER> const& er, OP op)
| ^~~~
../boost/numeric/ublas/tensor/expression.hpp:124:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/expression.hpp:151:9: error: 'decltype(auto)' type specifier only available with '-std=c++14' or '-std=gnu++14'
151 | decltype(auto) operator()(size_type i) const { return op(e(i)); }
| ^~~~~~~~
../boost/numeric/ublas/tensor/expression.hpp:159:1: error: 'make_unary_tensor_expression' function uses 'auto' type specifier without trailing return type
159 | auto make_unary_tensor_expression( tensor_expression<T,E> const& e, OP op)
| ^~~~
../boost/numeric/ublas/tensor/expression.hpp:159:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/expression.hpp:165:1: error: 'make_unary_tensor_expression' function uses 'auto' type specifier without trailing return type
165 | auto make_unary_tensor_expression( matrix_expression<E> const& e, OP op)
| ^~~~
../boost/numeric/ublas/tensor/expression.hpp:165:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/expression.hpp:171:1: error: 'make_unary_tensor_expression' function uses 'auto' type specifier without trailing return type
171 | auto make_unary_tensor_expression( vector_expression<E> const& e, OP op)
| ^~~~
../boost/numeric/ublas/tensor/expression.hpp:171:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
In file included from ../boost/numeric/ublas/tensor/functions.hpp:26:
../boost/numeric/ublas/tensor/expression_evaluation.hpp:78:1: error: 'retrieve_extents' function uses 'auto' type specifier without trailing return type
78 | auto retrieve_extents(tensor<T,F,A> const& t)
| ^~~~
../boost/numeric/ublas/tensor/expression_evaluation.hpp:78:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/expression_evaluation.hpp:90:1: error: 'retrieve_extents' function uses 'auto' type specifier without trailing return type
90 | auto retrieve_extents(tensor_expression<T,D> const& expr)
| ^~~~
../boost/numeric/ublas/tensor/expression_evaluation.hpp:90:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/expression_evaluation.hpp: In function 'auto boost::numeric::ublas::detail::retrieve_extents(const tensor_expression<T, EL>&)':
../boost/numeric/ublas/tensor/expression_evaluation.hpp:97:12: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
97 | if constexpr ( std::is_same<T,D>::value )
| ^~~~~~~~~
../boost/numeric/ublas/tensor/expression_evaluation.hpp: At global scope:
../boost/numeric/ublas/tensor/expression_evaluation.hpp:110:1: error: 'retrieve_extents' function uses 'auto' type specifier without trailing return type
110 | auto retrieve_extents(binary_tensor_expression<T,EL,ER,OP> const& expr)
| ^~~~
../boost/numeric/ublas/tensor/expression_evaluation.hpp:110:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/expression_evaluation.hpp: In function 'auto boost::numeric::ublas::detail::retrieve_extents(const binary_tensor_expression<T, EL, ER, OP>&)':
../boost/numeric/ublas/tensor/expression_evaluation.hpp:115:12: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
115 | if constexpr ( std::is_same<T,EL>::value )
| ^~~~~~~~~
../boost/numeric/ublas/tensor/expression_evaluation.hpp:118:12: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
118 | if constexpr ( std::is_same<T,ER>::value )
| ^~~~~~~~~
../boost/numeric/ublas/tensor/expression_evaluation.hpp:121:17: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
121 | else if constexpr ( detail::has_tensor_types<T,EL>::value )
| ^~~~~~~~~
../boost/numeric/ublas/tensor/expression_evaluation.hpp:124:17: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
124 | else if constexpr ( detail::has_tensor_types<T,ER>::value )
| ^~~~~~~~~
../boost/numeric/ublas/tensor/expression_evaluation.hpp: At global scope:
../boost/numeric/ublas/tensor/expression_evaluation.hpp:135:1: error: 'retrieve_extents' function uses 'auto' type specifier without trailing return type
135 | auto retrieve_extents(unary_tensor_expression<T,E,OP> const& expr)
| ^~~~
../boost/numeric/ublas/tensor/expression_evaluation.hpp:135:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/expression_evaluation.hpp: In function 'auto boost::numeric::ublas::detail::retrieve_extents(const unary_tensor_expression<T, E, OP>&)':
../boost/numeric/ublas/tensor/expression_evaluation.hpp:141:12: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
141 | if constexpr ( std::is_same<T,E>::value )
| ^~~~~~~~~
../boost/numeric/ublas/tensor/expression_evaluation.hpp:144:17: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
144 | else if constexpr ( detail::has_tensor_types<T,E>::value )
| ^~~~~~~~~
../boost/numeric/ublas/tensor/expression_evaluation.hpp: At global scope:
../boost/numeric/ublas/tensor/expression_evaluation.hpp:156:1: error: 'all_extents_equal' function uses 'auto' type specifier without trailing return type
156 | auto all_extents_equal(tensor<T,F,A> const& t, basic_extents<S> const& extents)
| ^~~~
../boost/numeric/ublas/tensor/expression_evaluation.hpp:156:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/expression_evaluation.hpp:162:1: error: 'all_extents_equal' function uses 'auto' type specifier without trailing return type
162 | auto all_extents_equal(tensor_expression<T,D> const& expr, basic_extents<S> const& extents)
| ^~~~
../boost/numeric/ublas/tensor/expression_evaluation.hpp:162:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/expression_evaluation.hpp: In function 'auto boost::numeric::ublas::detail::all_extents_equal(const tensor_expression<T, EL>&, const boost::numeric::ublas::basic_extents<S>&)':
../boost/numeric/ublas/tensor/expression_evaluation.hpp:169:12: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
169 | if constexpr ( std::is_same<T,D>::value )
| ^~~~~~~~~
../boost/numeric/ublas/tensor/expression_evaluation.hpp:173:12: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
173 | if constexpr ( detail::has_tensor_types<T,D>::value )
| ^~~~~~~~~
../boost/numeric/ublas/tensor/expression_evaluation.hpp: At global scope:
../boost/numeric/ublas/tensor/expression_evaluation.hpp:182:1: error: 'all_extents_equal' function uses 'auto' type specifier without trailing return type
182 | auto all_extents_equal(binary_tensor_expression<T,EL,ER,OP> const& expr, basic_extents<S> const& extents)
| ^~~~
../boost/numeric/ublas/tensor/expression_evaluation.hpp:182:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/expression_evaluation.hpp: In function 'auto boost::numeric::ublas::detail::all_extents_equal(const binary_tensor_expression<T, EL, ER, OP>&, const boost::numeric::ublas::basic_extents<S>&)':
../boost/numeric/ublas/tensor/expression_evaluation.hpp:187:12: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
187 | if constexpr ( std::is_same<T,EL>::value )
| ^~~~~~~~~
../boost/numeric/ublas/tensor/expression_evaluation.hpp:191:12: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
191 | if constexpr ( std::is_same<T,ER>::value )
| ^~~~~~~~~
../boost/numeric/ublas/tensor/expression_evaluation.hpp:195:12: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
195 | if constexpr ( detail::has_tensor_types<T,EL>::value )
| ^~~~~~~~~
../boost/numeric/ublas/tensor/expression_evaluation.hpp:199:12: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
199 | if constexpr ( detail::has_tensor_types<T,ER>::value )
| ^~~~~~~~~
../boost/numeric/ublas/tensor/expression_evaluation.hpp: At global scope:
../boost/numeric/ublas/tensor/expression_evaluation.hpp:208:1: error: 'all_extents_equal' function uses 'auto' type specifier without trailing return type
208 | auto all_extents_equal(unary_tensor_expression<T,E,OP> const& expr, basic_extents<S> const& extents)
| ^~~~
../boost/numeric/ublas/tensor/expression_evaluation.hpp:208:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/expression_evaluation.hpp: In function 'auto boost::numeric::ublas::detail::all_extents_equal(const unary_tensor_expression<T, E, OP>&, const boost::numeric::ublas::basic_extents<S>&)':
../boost/numeric/ublas/tensor/expression_evaluation.hpp:214:12: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
214 | if constexpr ( std::is_same<T,E>::value )
| ^~~~~~~~~
../boost/numeric/ublas/tensor/expression_evaluation.hpp:218:12: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
218 | if constexpr ( detail::has_tensor_types<T,E>::value )
| ^~~~~~~~~
../boost/numeric/ublas/tensor/expression_evaluation.hpp: In function 'void boost::numeric::ublas::detail::eval(tensor_type&, const tensor_expression<T, EL>&)':
../boost/numeric/ublas/tensor/expression_evaluation.hpp:240:12: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
240 | if constexpr (detail::has_tensor_types<tensor_type, tensor_expression<tensor_type,derived_type> >::value )
| ^~~~~~~~~
../boost/numeric/ublas/tensor/expression_evaluation.hpp: In function 'void boost::numeric::ublas::detail::eval(tensor_type&, const tensor_expression<T, EL>&, unary_fn)':
../boost/numeric/ublas/tensor/expression_evaluation.hpp:260:12: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
260 | if constexpr (detail::has_tensor_types< tensor_type, tensor_expression<tensor_type,derived_type> >::value )
| ^~~~~~~~~
../boost/numeric/ublas/tensor/functions.hpp: At global scope:
../boost/numeric/ublas/tensor/functions.hpp:58:1: error: 'prod' function uses 'auto' type specifier without trailing return type
58 | auto prod(tensor<V,F,A1> const& a, vector<V,A2> const& b, const std::size_t m)
| ^~~~
../boost/numeric/ublas/tensor/functions.hpp:58:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/functions.hpp:121:1: error: 'prod' function uses 'auto' type specifier without trailing return type
121 | auto prod(tensor<V,F,A1> const& a, matrix<V,F,A2> const& b, const std::size_t m)
| ^~~~
../boost/numeric/ublas/tensor/functions.hpp:121:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/functions.hpp:185:1: error: 'prod' function uses 'auto' type specifier without trailing return type
185 | auto prod(tensor<V,F,A1> const& a, tensor<V,F,A2> const& b,
| ^~~~
../boost/numeric/ublas/tensor/functions.hpp:185:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/functions.hpp:289:1: error: 'prod' function uses 'auto' type specifier without trailing return type
289 | auto prod(tensor<V,F,A1> const& a, tensor<V,F,A2> const& b,
| ^~~~
../boost/numeric/ublas/tensor/functions.hpp:289:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/functions.hpp:308:1: error: 'inner_prod' function uses 'auto' type specifier without trailing return type
308 | auto inner_prod(tensor<V,F,A1> const& a, tensor<V,F,A2> const& b)
| ^~~~
../boost/numeric/ublas/tensor/functions.hpp:308:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/functions.hpp:338:1: error: 'outer_prod' function uses 'auto' type specifier without trailing return type
338 | auto outer_prod(tensor<V,F,A1> const& a, tensor<V,F,A2> const& b)
| ^~~~
../boost/numeric/ublas/tensor/functions.hpp:338:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/functions.hpp:375:1: error: 'trans' function uses 'auto' type specifier without trailing return type
375 | auto trans(tensor<V,F,A> const& a, std::vector<std::size_t> const& tau)
| ^~~~
../boost/numeric/ublas/tensor/functions.hpp:375:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/functions.hpp:427:1: error: 'norm' function uses 'auto' type specifier without trailing return type
427 | auto norm(detail::tensor_expression<T,D> const& expr)
| ^~~~
../boost/numeric/ublas/tensor/functions.hpp:427:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/functions.hpp: In function 'auto boost::numeric::ublas::norm(const detail::tensor_expression<T, EL>&)':
../boost/numeric/ublas/tensor/functions.hpp:439:42: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
439 | [](auto const& l, auto const& r){ return l + r*r; } ) ) ;
| ^~~~
../boost/numeric/ublas/tensor/functions.hpp:439:57: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
439 | [](auto const& l, auto const& r){ return l + r*r; } ) ) ;
| ^~~~
../boost/numeric/ublas/tensor/functions.hpp: At global scope:
../boost/numeric/ublas/tensor/functions.hpp:450:1: error: 'real' function uses 'auto' type specifier without trailing return type
450 | auto real(detail::tensor_expression<T,D> const& expr) {
| ^~~~
../boost/numeric/ublas/tensor/functions.hpp:450:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/functions.hpp: In function 'auto boost::numeric::ublas::real(const detail::tensor_expression<T, EL>&)':
../boost/numeric/ublas/tensor/functions.hpp:451:69: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
451 | return detail::make_unary_tensor_expression<T> (expr(), [] (auto const& l) { return std::real( l ); } );
| ^~~~
../boost/numeric/ublas/tensor/functions.hpp: At global scope:
../boost/numeric/ublas/tensor/functions.hpp:460:1: error: 'real' function uses 'auto' type specifier without trailing return type
460 | auto real(detail::tensor_expression<tensor<std::complex<V>,F,A>,D> const& expr)
| ^~~~
../boost/numeric/ublas/tensor/functions.hpp:460:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/functions.hpp: In function 'auto boost::numeric::ublas::real(const detail::tensor_expression<tensor<std::complex<_Tp>, F, A>, D>&)':
../boost/numeric/ublas/tensor/functions.hpp:471:60: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
471 | std::transform( a.begin(), a.end(), c.begin(), [](auto const& l){ return std::real(l) ; } );
| ^~~~
../boost/numeric/ublas/tensor/functions.hpp: At global scope:
../boost/numeric/ublas/tensor/functions.hpp:483:1: error: 'imag' function uses 'auto' type specifier without trailing return type
483 | auto imag(detail::tensor_expression<T,D> const& lhs) {
| ^~~~
../boost/numeric/ublas/tensor/functions.hpp:483:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/functions.hpp: In function 'auto boost::numeric::ublas::imag(const detail::tensor_expression<T, EL>&)':
../boost/numeric/ublas/tensor/functions.hpp:484:68: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
484 | return detail::make_unary_tensor_expression<T> (lhs(), [] (auto const& l) { return std::imag( l ); } );
| ^~~~
../boost/numeric/ublas/tensor/functions.hpp: At global scope:
../boost/numeric/ublas/tensor/functions.hpp:494:1: error: 'imag' function uses 'auto' type specifier without trailing return type
494 | auto imag(detail::tensor_expression<tensor<std::complex<V>,F,A>,D> const& expr)
| ^~~~
../boost/numeric/ublas/tensor/functions.hpp:494:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/functions.hpp: In function 'auto boost::numeric::ublas::imag(const detail::tensor_expression<tensor<std::complex<_Tp>, F, A>, D>&)':
../boost/numeric/ublas/tensor/functions.hpp:505:60: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
505 | std::transform( a.begin(), a.end(), c.begin(), [](auto const& l){ return std::imag(l) ; } );
| ^~~~
../boost/numeric/ublas/tensor/functions.hpp: At global scope:
../boost/numeric/ublas/tensor/functions.hpp:516:1: error: 'conj' function uses 'auto' type specifier without trailing return type
516 | auto conj(detail::tensor_expression<T,D> const& expr)
| ^~~~
../boost/numeric/ublas/tensor/functions.hpp:516:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/functions.hpp: In function 'auto boost::numeric::ublas::conj(const detail::tensor_expression<T, EL>&)':
../boost/numeric/ublas/tensor/functions.hpp:534:60: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
534 | std::transform( a.begin(), a.end(), c.begin(), [](auto const& l){ return std::conj(l) ; } );
| ^~~~
../boost/numeric/ublas/tensor/functions.hpp: At global scope:
../boost/numeric/ublas/tensor/functions.hpp:546:1: error: 'conj' function uses 'auto' type specifier without trailing return type
546 | auto conj(detail::tensor_expression<tensor<std::complex<V>,F,A>,D> const& expr)
| ^~~~
../boost/numeric/ublas/tensor/functions.hpp:546:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/functions.hpp: In function 'auto boost::numeric::ublas::conj(const detail::tensor_expression<tensor<std::complex<_Tp>, F, A>, D>&)':
../boost/numeric/ublas/tensor/functions.hpp:548:95: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
548 | return detail::make_unary_tensor_expression<tensor<std::complex<V>,F,A>> (expr(), [] (auto const& l) { return std::conj( l ); } );
| ^~~~
In file included from ../boost/numeric/ublas/tensor/operators_arithmetic.hpp:17,
from ../boost/numeric/ublas/tensor.hpp:19:
../boost/numeric/ublas/tensor/multi_index_utility.hpp: At global scope:
../boost/numeric/ublas/tensor/multi_index_utility.hpp:69:67: error: 'decay_t' is not a member of 'std'; did you mean 'decay'?
69 | static constexpr bool value = detail::has_index_impl<std::decay_t<index_type>,std::decay_t<tuple_type>>::value;
| ^~~~~~~
| decay
../boost/numeric/ublas/tensor/multi_index_utility.hpp:69:67: error: 'decay_t' is not a member of 'std'; did you mean 'decay'?
69 | static constexpr bool value = detail::has_index_impl<std::decay_t<index_type>,std::decay_t<tuple_type>>::value;
| ^~~~~~~
| decay
../boost/numeric/ublas/tensor/multi_index_utility.hpp:69:85: error: template argument 1 is invalid
69 | static constexpr bool value = detail::has_index_impl<std::decay_t<index_type>,std::decay_t<tuple_type>>::value;
| ^
../boost/numeric/ublas/tensor/multi_index_utility.hpp:69:87: error: invalid use of '::'
69 | static constexpr bool value = detail::has_index_impl<std::decay_t<index_type>,std::decay_t<tuple_type>>::value;
| ^~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:69:92: error: expected ';' at end of member declaration
69 | static constexpr bool value = detail::has_index_impl<std::decay_t<index_type>,std::decay_t<tuple_type>>::value;
| ^~~~~~~
| ;
../boost/numeric/ublas/tensor/multi_index_utility.hpp:69:99: error: expected unqualified-id before '<' token
69 | static constexpr bool value = detail::has_index_impl<std::decay_t<index_type>,std::decay_t<tuple_type>>::value;
| ^
../boost/numeric/ublas/tensor/multi_index_utility.hpp:125:75: error: 'decay_t' is not a member of 'std'; did you mean 'decay'?
125 | static constexpr bool value = detail::valid_multi_index_impl<std::decay_t<tupe_type>>::value;
| ^~~~~~~
| decay
../boost/numeric/ublas/tensor/multi_index_utility.hpp:125:75: error: 'decay_t' is not a member of 'std'; did you mean 'decay'?
125 | static constexpr bool value = detail::valid_multi_index_impl<std::decay_t<tupe_type>>::value;
| ^~~~~~~
| decay
../boost/numeric/ublas/tensor/multi_index_utility.hpp:125:83: error: template argument 1 is invalid
125 | static constexpr bool value = detail::valid_multi_index_impl<std::decay_t<tupe_type>>::value;
| ^~~~~~~~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:125:96: error: '::value' has not been declared
125 | static constexpr bool value = detail::valid_multi_index_impl<std::decay_t<tupe_type>>::value;
| ^~~~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:182:53: error: 'decay_t' is not a member of 'std'; did you mean 'decay'?
182 | detail::number_equal_indexes_impl< std::decay_t<tuple_left>, std::decay_t<tuple_right>>::value;
| ^~~~~~~
| decay
../boost/numeric/ublas/tensor/multi_index_utility.hpp:182:53: error: 'decay_t' is not a member of 'std'; did you mean 'decay'?
182 | detail::number_equal_indexes_impl< std::decay_t<tuple_left>, std::decay_t<tuple_right>>::value;
| ^~~~~~~
| decay
../boost/numeric/ublas/tensor/multi_index_utility.hpp:182:71: error: template argument 1 is invalid
182 | detail::number_equal_indexes_impl< std::decay_t<tuple_left>, std::decay_t<tuple_right>>::value;
| ^
../boost/numeric/ublas/tensor/multi_index_utility.hpp:182:74: error: invalid use of '::'
182 | detail::number_equal_indexes_impl< std::decay_t<tuple_left>, std::decay_t<tuple_right>>::value;
| ^~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:182:79: error: expected ';' at end of member declaration
182 | detail::number_equal_indexes_impl< std::decay_t<tuple_left>, std::decay_t<tuple_right>>::value;
| ^~~~~~~
| ;
../boost/numeric/ublas/tensor/multi_index_utility.hpp:182:86: error: expected unqualified-id before '<' token
182 | detail::number_equal_indexes_impl< std::decay_t<tuple_left>, std::decay_t<tuple_right>>::value;
| ^
../boost/numeric/ublas/tensor/multi_index_utility.hpp:202:60: error: 'decay_t' is not a member of 'std'; did you mean 'decay'?
202 | static constexpr auto is_same = std::is_same< std::decay_t<itype>, std::decay_t<std::tuple_element_t<r,ttype>> >::value;
| ^~~~~~~
| decay
../boost/numeric/ublas/tensor/multi_index_utility.hpp:202:60: error: 'decay_t' is not a member of 'std'; did you mean 'decay'?
202 | static constexpr auto is_same = std::is_same< std::decay_t<itype>, std::decay_t<std::tuple_element_t<r,ttype>> >::value;
| ^~~~~~~
| decay
../boost/numeric/ublas/tensor/multi_index_utility.hpp:202:73: error: wrong number of template arguments (1, should be 2)
202 | static constexpr auto is_same = std::is_same< std::decay_t<itype>, std::decay_t<std::tuple_element_t<r,ttype>> >::value;
| ^
In file included from /usr/local/gcc-13.1.0/include/c++/13.1.0/bits/move.h:57,
from /usr/local/gcc-13.1.0/include/c++/13.1.0/bits/exception_ptr.h:41,
from /usr/local/gcc-13.1.0/include/c++/13.1.0/exception:164,
from /usr/local/gcc-13.1.0/include/c++/13.1.0/ios:41,
from /usr/local/gcc-13.1.0/include/c++/13.1.0/ostream:40,
from /usr/local/gcc-13.1.0/include/c++/13.1.0/iostream:41,
from ../libs/numeric/ublas/test/tensor/test_tensor_matrix_vector.cpp:13:
/usr/local/gcc-13.1.0/include/c++/13.1.0/type_traits:709:12: note: provided for 'template<class, class> struct std::is_same'
709 | struct is_same;
| ^~~~~~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:202:76: error: invalid use of '::'
202 | static constexpr auto is_same = std::is_same< std::decay_t<itype>, std::decay_t<std::tuple_element_t<r,ttype>> >::value;
| ^~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:202:81: error: expected ';' at end of member declaration
202 | static constexpr auto is_same = std::is_same< std::decay_t<itype>, std::decay_t<std::tuple_element_t<r,ttype>> >::value;
| ^~~~~~~
| ;
../boost/numeric/ublas/tensor/multi_index_utility.hpp:202:88: error: expected unqualified-id before '<' token
202 | static constexpr auto is_same = std::is_same< std::decay_t<itype>, std::decay_t<std::tuple_element_t<r,ttype>> >::value;
| ^
../boost/numeric/ublas/tensor/multi_index_utility.hpp:235:112: error: 'decay_t' is not a member of 'std'; did you mean 'decay'?
235 | static constexpr auto value = detail::index_position_impl<0ul,std::tuple_size<tuple_type>::value,std::decay_t<index_type>,std::decay_t<tuple_type>>::value;
| ^~~~~~~
| decay
../boost/numeric/ublas/tensor/multi_index_utility.hpp:235:112: error: 'decay_t' is not a member of 'std'; did you mean 'decay'?
235 | static constexpr auto value = detail::index_position_impl<0ul,std::tuple_size<tuple_type>::value,std::decay_t<index_type>,std::decay_t<tuple_type>>::value;
| ^~~~~~~
| decay
../boost/numeric/ublas/tensor/multi_index_utility.hpp:235:130: error: wrong number of template arguments (3, should be 4)
235 | static constexpr auto value = detail::index_position_impl<0ul,std::tuple_size<tuple_type>::value,std::decay_t<index_type>,std::decay_t<tuple_type>>::value;
| ^
../boost/numeric/ublas/tensor/multi_index_utility.hpp:200:8: note: provided for 'template<long unsigned int r, long unsigned int m, class itype, class ttype> struct boost::numeric::ublas::detail::index_position_impl'
200 | struct index_position_impl
| ^~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:235:132: error: invalid use of '::'
235 | static constexpr auto value = detail::index_position_impl<0ul,std::tuple_size<tuple_type>::value,std::decay_t<index_type>,std::decay_t<tuple_type>>::value;
| ^~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:235:137: error: expected ';' at end of member declaration
235 | static constexpr auto value = detail::index_position_impl<0ul,std::tuple_size<tuple_type>::value,std::decay_t<index_type>,std::decay_t<tuple_type>>::value;
| ^~~~~~~
| ;
../boost/numeric/ublas/tensor/multi_index_utility.hpp:235:144: error: expected unqualified-id before '<' token
235 | static constexpr auto value = detail::index_position_impl<0ul,std::tuple_size<tuple_type>::value,std::decay_t<index_type>,std::decay_t<tuple_type>>::value;
| ^
../boost/numeric/ublas/tensor/multi_index_utility.hpp: In static member function 'static constexpr void boost::numeric::ublas::detail::index_position_pairs_impl<r, m>::run(array_type&, const tuple_left&, const tuple_right&, std::size_t)':
../boost/numeric/ublas/tensor/multi_index_utility.hpp:257:45: error: 'tuple_element_t' in namespace 'std' does not name a template type
257 | using index_type = std::tuple_element_t<r-1,tuple_left>;
| ^~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:257:40: note: 'std::tuple_element_t' is only available from C++14 onwards
257 | using index_type = std::tuple_element_t<r-1,tuple_left>;
| ^~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:258:50: error: 'index_type' was not declared in this scope
258 | using has_index_type = has_index<index_type, tuple_right>;
| ^~~~~~~~~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:258:73: error: template argument 1 is invalid
258 | using has_index_type = has_index<index_type, tuple_right>;
| ^
../boost/numeric/ublas/tensor/multi_index_utility.hpp:261:20: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
261 | if constexpr ( has_index_type::value && index_type::value != 0)
| ^~~~~~~~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:261:32: error: 'has_index_type' has not been declared
261 | if constexpr ( has_index_type::value && index_type::value != 0)
| ^~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:261:57: error: 'index_type' is not a class, namespace, or enumeration
261 | if constexpr ( has_index_type::value && index_type::value != 0)
| ^~~~~~~~~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:262:51: error: 'get_index_type' has not been declared
262 | out[p++] = std::make_pair(r-1,get_index_type::value);
| ^~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp: In static member function 'static constexpr void boost::numeric::ublas::detail::index_position_pairs_impl<m, m>::run(array_type&, const tuple_left&, const tuple_right&, std::size_t)':
../boost/numeric/ublas/tensor/multi_index_utility.hpp:273:45: error: 'tuple_element_t' in namespace 'std' does not name a template type
273 | using index_type = std::tuple_element_t<m-1,tuple_left>;
| ^~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:273:40: note: 'std::tuple_element_t' is only available from C++14 onwards
273 | using index_type = std::tuple_element_t<m-1,tuple_left>;
| ^~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:274:50: error: 'index_type' was not declared in this scope
274 | using has_index_type = has_index<index_type, tuple_right>;
| ^~~~~~~~~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:274:73: error: template argument 1 is invalid
274 | using has_index_type = has_index<index_type, tuple_right>;
| ^
../boost/numeric/ublas/tensor/multi_index_utility.hpp:276:20: warning: 'if constexpr' only available with '-std=c++17' or '-std=gnu++17' [-Wc++17-extensions]
276 | if constexpr ( has_index_type::value && index_type::value != 0 )
| ^~~~~~~~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:276:32: error: 'has_index_type' has not been declared
276 | if constexpr ( has_index_type::value && index_type::value != 0 )
| ^~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:276:57: error: 'index_type' is not a class, namespace, or enumeration
276 | if constexpr ( has_index_type::value && index_type::value != 0 )
| ^~~~~~~~~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:277:49: error: 'get_index_type' has not been declared
277 | out[p] = std::make_pair(m-1,get_index_type::value);
| ^~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp: At global scope:
../boost/numeric/ublas/tensor/multi_index_utility.hpp:306:1: error: 'index_position_pairs' function uses 'auto' type specifier without trailing return type
306 | auto index_position_pairs(tuple_left const& lhs, tuple_right const& rhs)
| ^~~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:306:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/multi_index_utility.hpp:332:68: error: 'std::index_sequence' has not been declared
332 | constexpr auto array_to_vector_impl( array_type const& array, std::index_sequence<R...> )
| ^~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:332:82: error: expected ',' or '...' before '<' token
332 | constexpr auto array_to_vector_impl( array_type const& array, std::index_sequence<R...> )
| ^
../boost/numeric/ublas/tensor/multi_index_utility.hpp:332:11: error: 'array_to_vector_impl' function uses 'auto' type specifier without trailing return type
332 | constexpr auto array_to_vector_impl( array_type const& array, std::index_sequence<R...> )
| ^~~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:332:11: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/multi_index_utility.hpp:352:11: error: 'array_to_vector' function uses 'auto' type specifier without trailing return type
352 | constexpr auto array_to_vector( std::array<pair_type,N> const& array)
| ^~~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:352:11: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
../boost/numeric/ublas/tensor/multi_index_utility.hpp: In function 'constexpr auto boost::numeric::ublas::array_to_vector(const std::array<_Tp, _Nm>&)':
../boost/numeric/ublas/tensor/multi_index_utility.hpp:354:40: error: 'make_index_sequence' is not a member of 'std'
354 | constexpr auto sequence = std::make_index_sequence<N>{};
| ^~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/multi_index_utility.hpp:354:40: note: 'std::make_index_sequence' is only available from C++14 onwards
../boost/numeric/ublas/tensor/multi_index_utility.hpp:354:62: error: expected primary-expression before '{' token
354 | constexpr auto sequence = std::make_index_sequence<N>{};
| ^
../boost/numeric/ublas/tensor/operators_arithmetic.hpp: At global scope:
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:45:1: error: 'operator*' function uses 'auto' type specifier without trailing return type
45 | auto operator OP ( boost::numeric::ublas:: EXPR_TYPE_L <T,L> const& lhs, boost::numeric::ublas:: EXPR_TYPE_R <R> const& rhs) { \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:50:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
50 | FIRST_ORDER_OPERATOR_RIGHT (*, detail:: tensor_expression , vector_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:45:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
45 | auto operator OP ( boost::numeric::ublas:: EXPR_TYPE_L <T,L> const& lhs, boost::numeric::ublas:: EXPR_TYPE_R <R> const& rhs) { \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:50:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
50 | FIRST_ORDER_OPERATOR_RIGHT (*, detail:: tensor_expression , vector_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp: In function 'auto operator*(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, const boost::numeric::ublas::vector_expression<ER>&)':
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:47:14: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
47 | [](auto const& l, auto const& r){ return l OP r; }); \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:50:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
50 | FIRST_ORDER_OPERATOR_RIGHT (*, detail:: tensor_expression , vector_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:47:29: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
47 | [](auto const& l, auto const& r){ return l OP r; }); \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:50:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
50 | FIRST_ORDER_OPERATOR_RIGHT (*, detail:: tensor_expression , vector_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp: At global scope:
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:45:1: error: 'operator+' function uses 'auto' type specifier without trailing return type
45 | auto operator OP ( boost::numeric::ublas:: EXPR_TYPE_L <T,L> const& lhs, boost::numeric::ublas:: EXPR_TYPE_R <R> const& rhs) { \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:51:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
51 | FIRST_ORDER_OPERATOR_RIGHT (+, detail:: tensor_expression , vector_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:45:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
45 | auto operator OP ( boost::numeric::ublas:: EXPR_TYPE_L <T,L> const& lhs, boost::numeric::ublas:: EXPR_TYPE_R <R> const& rhs) { \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:51:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
51 | FIRST_ORDER_OPERATOR_RIGHT (+, detail:: tensor_expression , vector_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp: In function 'auto operator+(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, const boost::numeric::ublas::vector_expression<ER>&)':
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:47:14: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
47 | [](auto const& l, auto const& r){ return l OP r; }); \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:51:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
51 | FIRST_ORDER_OPERATOR_RIGHT (+, detail:: tensor_expression , vector_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:47:29: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
47 | [](auto const& l, auto const& r){ return l OP r; }); \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:51:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
51 | FIRST_ORDER_OPERATOR_RIGHT (+, detail:: tensor_expression , vector_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp: At global scope:
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:45:1: error: 'operator-' function uses 'auto' type specifier without trailing return type
45 | auto operator OP ( boost::numeric::ublas:: EXPR_TYPE_L <T,L> const& lhs, boost::numeric::ublas:: EXPR_TYPE_R <R> const& rhs) { \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:52:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
52 | FIRST_ORDER_OPERATOR_RIGHT (-, detail:: tensor_expression , vector_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:45:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
45 | auto operator OP ( boost::numeric::ublas:: EXPR_TYPE_L <T,L> const& lhs, boost::numeric::ublas:: EXPR_TYPE_R <R> const& rhs) { \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:52:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
52 | FIRST_ORDER_OPERATOR_RIGHT (-, detail:: tensor_expression , vector_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp: In function 'auto operator-(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, const boost::numeric::ublas::vector_expression<ER>&)':
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:47:14: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
47 | [](auto const& l, auto const& r){ return l OP r; }); \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:52:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
52 | FIRST_ORDER_OPERATOR_RIGHT (-, detail:: tensor_expression , vector_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:47:29: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
47 | [](auto const& l, auto const& r){ return l OP r; }); \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:52:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
52 | FIRST_ORDER_OPERATOR_RIGHT (-, detail:: tensor_expression , vector_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp: At global scope:
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:45:1: error: 'operator/' function uses 'auto' type specifier without trailing return type
45 | auto operator OP ( boost::numeric::ublas:: EXPR_TYPE_L <T,L> const& lhs, boost::numeric::ublas:: EXPR_TYPE_R <R> const& rhs) { \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:53:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
53 | FIRST_ORDER_OPERATOR_RIGHT (/, detail:: tensor_expression , vector_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:45:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
45 | auto operator OP ( boost::numeric::ublas:: EXPR_TYPE_L <T,L> const& lhs, boost::numeric::ublas:: EXPR_TYPE_R <R> const& rhs) { \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:53:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
53 | FIRST_ORDER_OPERATOR_RIGHT (/, detail:: tensor_expression , vector_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp: In function 'auto operator/(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, const boost::numeric::ublas::vector_expression<ER>&)':
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:47:14: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
47 | [](auto const& l, auto const& r){ return l OP r; }); \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:53:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
53 | FIRST_ORDER_OPERATOR_RIGHT (/, detail:: tensor_expression , vector_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:47:29: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
47 | [](auto const& l, auto const& r){ return l OP r; }); \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:53:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
53 | FIRST_ORDER_OPERATOR_RIGHT (/, detail:: tensor_expression , vector_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp: At global scope:
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:45:1: error: 'operator*' function uses 'auto' type specifier without trailing return type
45 | auto operator OP ( boost::numeric::ublas:: EXPR_TYPE_L <T,L> const& lhs, boost::numeric::ublas:: EXPR_TYPE_R <R> const& rhs) { \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:55:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
55 | FIRST_ORDER_OPERATOR_RIGHT (*, detail:: tensor_expression , matrix_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:45:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
45 | auto operator OP ( boost::numeric::ublas:: EXPR_TYPE_L <T,L> const& lhs, boost::numeric::ublas:: EXPR_TYPE_R <R> const& rhs) { \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:55:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
55 | FIRST_ORDER_OPERATOR_RIGHT (*, detail:: tensor_expression , matrix_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp: In function 'auto operator*(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, const boost::numeric::ublas::matrix_expression<ER>&)':
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:47:14: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
47 | [](auto const& l, auto const& r){ return l OP r; }); \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:55:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
55 | FIRST_ORDER_OPERATOR_RIGHT (*, detail:: tensor_expression , matrix_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:47:29: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
47 | [](auto const& l, auto const& r){ return l OP r; }); \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:55:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
55 | FIRST_ORDER_OPERATOR_RIGHT (*, detail:: tensor_expression , matrix_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp: At global scope:
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:45:1: error: 'operator+' function uses 'auto' type specifier without trailing return type
45 | auto operator OP ( boost::numeric::ublas:: EXPR_TYPE_L <T,L> const& lhs, boost::numeric::ublas:: EXPR_TYPE_R <R> const& rhs) { \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:56:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
56 | FIRST_ORDER_OPERATOR_RIGHT (+, detail:: tensor_expression , matrix_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:45:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
45 | auto operator OP ( boost::numeric::ublas:: EXPR_TYPE_L <T,L> const& lhs, boost::numeric::ublas:: EXPR_TYPE_R <R> const& rhs) { \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:56:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
56 | FIRST_ORDER_OPERATOR_RIGHT (+, detail:: tensor_expression , matrix_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp: In function 'auto operator+(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, const boost::numeric::ublas::matrix_expression<ER>&)':
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:47:14: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
47 | [](auto const& l, auto const& r){ return l OP r; }); \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:56:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
56 | FIRST_ORDER_OPERATOR_RIGHT (+, detail:: tensor_expression , matrix_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:47:29: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
47 | [](auto const& l, auto const& r){ return l OP r; }); \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:56:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
56 | FIRST_ORDER_OPERATOR_RIGHT (+, detail:: tensor_expression , matrix_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp: At global scope:
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:45:1: error: 'operator-' function uses 'auto' type specifier without trailing return type
45 | auto operator OP ( boost::numeric::ublas:: EXPR_TYPE_L <T,L> const& lhs, boost::numeric::ublas:: EXPR_TYPE_R <R> const& rhs) { \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:57:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
57 | FIRST_ORDER_OPERATOR_RIGHT (-, detail:: tensor_expression , matrix_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:45:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
45 | auto operator OP ( boost::numeric::ublas:: EXPR_TYPE_L <T,L> const& lhs, boost::numeric::ublas:: EXPR_TYPE_R <R> const& rhs) { \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:57:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
57 | FIRST_ORDER_OPERATOR_RIGHT (-, detail:: tensor_expression , matrix_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp: In function 'auto operator-(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, const boost::numeric::ublas::matrix_expression<ER>&)':
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:47:14: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
47 | [](auto const& l, auto const& r){ return l OP r; }); \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:57:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
57 | FIRST_ORDER_OPERATOR_RIGHT (-, detail:: tensor_expression , matrix_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:47:29: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
47 | [](auto const& l, auto const& r){ return l OP r; }); \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:57:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
57 | FIRST_ORDER_OPERATOR_RIGHT (-, detail:: tensor_expression , matrix_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp: At global scope:
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:45:1: error: 'operator/' function uses 'auto' type specifier without trailing return type
45 | auto operator OP ( boost::numeric::ublas:: EXPR_TYPE_L <T,L> const& lhs, boost::numeric::ublas:: EXPR_TYPE_R <R> const& rhs) { \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:58:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
58 | FIRST_ORDER_OPERATOR_RIGHT (/, detail:: tensor_expression , matrix_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:45:1: note: deduced return type only available with '-std=c++14' or '-std=gnu++14'
45 | auto operator OP ( boost::numeric::ublas:: EXPR_TYPE_L <T,L> const& lhs, boost::numeric::ublas:: EXPR_TYPE_R <R> const& rhs) { \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:58:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
58 | FIRST_ORDER_OPERATOR_RIGHT (/, detail:: tensor_expression , matrix_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp: In function 'auto operator/(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, const boost::numeric::ublas::matrix_expression<ER>&)':
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:47:14: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
47 | [](auto const& l, auto const& r){ return l OP r; }); \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:58:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
58 | FIRST_ORDER_OPERATOR_RIGHT (/, detail:: tensor_expression , matrix_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:47:29: error: use of 'auto' in lambda parameter declaration only available with '-std=c++14' or '-std=gnu++14'
47 | [](auto const& l, auto const& r){ return l OP r; }); \
| ^~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:58:1: note: in expansion of macro 'FIRST_ORDER_OPERATOR_RIGHT'
58 | FIRST_ORDER_OPERATOR_RIGHT (/, detail:: tensor_expression , matrix_expression)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
../boost/numeric/ublas/tensor/operators_arithmetic.hpp: At global scope:
../boost/numeric/ublas/tensor/operators_arithmetic.hpp:63:1: error: 'operator*' function uses 'aut...
[The content has been trimmed by the report system because it exceeds 65536 bytes]