15 #ifndef BELUGA_VIEWS_ZIP_HPP
16 #define BELUGA_VIEWS_ZIP_HPP
20 #include <range/v3/view/zip.hpp>
34 template <
class... Its>
36 noexcept((noexcept(ranges::iter_reference_t<Its>(*its)) && ...)) {
37 return ranges::common_tuple<ranges::iter_reference_t<Its>...>{*its...};
41 template <
class... Its>
42 constexpr
auto operator()(ranges::move_tag,
const Its&... its)
const
43 noexcept((noexcept(ranges::iter_rvalue_reference_t<Its>(ranges::iter_move(its))) && ...)) {
44 return ranges::common_tuple<ranges::iter_rvalue_reference_t<Its>...>{ranges::iter_move(its)...};
51 template <
class... Its>
52 constexpr
auto operator()(ranges::copy_tag, Its...) const ->
std::tuple<ranges::iter_value_t<Its>...> {
61 template <
class... Ranges>