src/bstone_cgm_vec_tests.cpp uses std::plus and std::minus which need #include <functional>, otherwise this doesn't compile for me on Linux:
/usr/local/src/bstone/src/bstone_cgm_vec_tests.cpp:182:71: error: no member named 'plus' in namespace 'std'
std::transform(a1.cbegin(), a1.cend(), a2.cbegin(), b.begin(), std::plus{});
/usr/local/src/bstone/src/bstone_cgm_vec_tests.cpp:182:76: error: 'T' does not refer to a value
std::transform(a1.cbegin(), a1.cend(), a2.cbegin(), b.begin(), std::plus<T>{});
^
/usr/local/src/bstone/src/bstone_cgm_vec_tests.cpp:176:28: note: declared here
template<IntP N, typename T>
^
/usr/local/src/bstone/src/bstone_cgm_vec_tests.cpp:182:77: error: initializer list cannot be used on the right hand side of operator '>'
std::transform(a1.cbegin(), a1.cend(), a2.cbegin(), b.begin(), std::plus<T>{});
^~~
/usr/local/src/bstone/src/bstone_cgm_vec_tests.cpp:192:71: error: no member named 'minus' in namespace 'std'
std::transform(a1.cbegin(), a1.cend(), a2.cbegin(), b.begin(), std::minus<T>{});
~~~~~^
/usr/local/src/bstone/src/bstone_cgm_vec_tests.cpp:192:77: error: 'T' does not refer to a value
std::transform(a1.cbegin(), a1.cend(), a2.cbegin(), b.begin(), std::minus<T>{});
^
/usr/local/src/bstone/src/bstone_cgm_vec_tests.cpp:186:28: note: declared here
template<IntP N, typename T>
^
/usr/local/src/bstone/src/bstone_cgm_vec_tests.cpp:192:78: error: initializer list cannot be used on the right hand side of operator '>'
std::transform(a1.cbegin(), a1.cend(), a2.cbegin(), b.begin(), std::minus<T>{});
^~~
src/bstone_cgm_vec_tests.cpp uses std::plus and std::minus which need
#include <functional>
, otherwise this doesn't compile for me on Linux:/usr/local/src/bstone/src/bstone_cgm_vec_tests.cpp:182:71: error: no member named 'plus' in namespace 'std' std::transform(a1.cbegin(), a1.cend(), a2.cbegin(), b.begin(), std::plus{});