diff --git a/src/include/base/isq.h b/src/include/base/isq.h index b4d77c3..5cc6353 100644 --- a/src/include/base/isq.h +++ b/src/include/base/isq.h @@ -9,7 +9,7 @@ namespace CNORXZ { template - std::index_sequence<(Is+O)...> mkIsqAdd(std::index_sequence is) { return {}; } + std::index_sequence<(Is+O)...> mkIsqAdd(std::index_sequence is) { return {}; } template struct MkIsq @@ -17,14 +17,14 @@ namespace CNORXZ static auto make() { static_assert(B <= E, "begin of sequence must be smaller than end of sequence"); - return mkIsqAdd( std::make_index_sequence ); + return mkIsqAdd( std::make_index_sequence{} ); } typedef decltype(make()) type; }; template - using Isqr = MkIsq::type; + using Isqr = typename MkIsq::type; } #endif diff --git a/src/include/base/iter.cc.h b/src/include/base/iter.cc.h index 8289dad..73c97b7 100644 --- a/src/include/base/iter.cc.h +++ b/src/include/base/iter.cc.h @@ -3,7 +3,7 @@ #define __cxz_iter_cc_h__ #include "iter.h" -#include "functional/fundamental.h" +#include "xpr/func.h" namespace CNORXZ { @@ -11,10 +11,10 @@ namespace CNORXZ constexpr decltype(auto) iteri(const G& g, const F& f, Isq is) { if constexpr(std::is_same::value){ - ( g(std::integral_constant{}, args...), ... ); + ( g(std::integral_constant{}), ... ); } else { - return f( g(std::integral_constant{}, args...) ... ); + return f( g(std::integral_constant{}) ... ); } } diff --git a/src/include/base/types.h b/src/include/base/types.h index 07c288f..62053cb 100644 --- a/src/include/base/types.h +++ b/src/include/base/types.h @@ -45,7 +45,7 @@ namespace CNORXZ using TupleElem = std::tuple_element>; template - using RemoveRef = std::remove_reference::type; + using RemoveRef = typename std::remove_reference::type; template using Map = std::map; diff --git a/src/include/functional/fundamental.h b/src/include/functional/fundamental.h deleted file mode 100644 index 9a7d707..0000000 --- a/src/include/functional/fundamental.h +++ /dev/null @@ -1,15 +0,0 @@ - -#ifndef __cxz_fundamental_h__ -#define __cxz_fundamental_h__ - -#include - -namespace CNORXZ -{ - struct NoF - { - constexpr void operator()() const {}; - }; -} - -#endif diff --git a/src/include/xpr/pos_type.cc.h b/src/include/xpr/pos_type.cc.h index db8c28d..d675474 100644 --- a/src/include/xpr/pos_type.cc.h +++ b/src/include/xpr/pos_type.cc.h @@ -176,7 +176,7 @@ namespace CNORXZ template constexpr decltype(auto) FPos::extend(const PosT& a) const { - return MPos(*this,a); + return MPos(*this,a); } template