История изменений
Исправление Siborgium, (текущая версия) :
Вот в _check_eq свертку и надо было использовать.
constexpr auto operator != (const iterator& other) const {
return [=,this]<auto ... I>(std::index_sequence<I...>) {
return ((std::get<I>(this->args) != std::get<I>(other.args)) || ...);
}(std::make_index_sequence<sizeof...(ts)>{});
}
Исправление Siborgium, :
Вот в _check_eq свертку и надо было использовать.
constexpr auto operator != (const iterator& other) const {
return [=,this]<auto ... I>(std::index_sequence<I...>) {
return ((std::get<I>(this->args) == std::get<I>(other.args)) && ...);
}(std::make_index_sequence<sizeof...(ts)>{});
}
Исправление Siborgium, :
Вот в _check_eq свертку и надо было использовать.
constexpr auto operator != (const iterator& other) const {
return [=,this]<auto ... I>(std::index_sequence<I...>) {
return ((std::get<I>(*this) == std::get<I>(other)) && ...);
}(std::make_index_sequence<sizeof...(ts)>{});
}
Исправление Siborgium, :
Вот в _check_eq свертку и надо было использовать.
constexpr auto operator != (const iterator& other) const {
return [=,this]<auto ... I>(std::index_sequence<I...>) {
return ((std::get<I>(*this) == std::get<I>(other)) && ...);
}(std::make_index_sequence<sizeof...(ts)>{});
}
Исходная версия Siborgium, :
Вот в _check_eq свертку и надо было использовать.
constexpr auto operator != (const iterator& other) const {
constexpr auto seq = std::make_index_sequence<sizeof...(ts)>{};
return [=,this](auto ... i) { return ((std::get<i>(*this) != std::get<i>(other)) || ...); }(seq);
}