31 template<
class First,
class Second>
38 constexpr operator std::pair<First, Second>()
const {
return {
first,
second }; }
41 template<
class First,
class Second>
49 template<
class First,
class Second>
55 using value_type = std::pair<std::remove_cv_t<First>, std::remove_cv_t<Second>>;
83 template<
class F2,
class S2>
84 requires (std::is_same_v<std::remove_cv_t<F2>, std::remove_cv_t<First>>
85 && std::is_same_v<std::remove_cv_t<S2>, std::remove_cv_t<Second>>)
92 template<
class F2,
class S2>
93 requires (std::is_same_v<std::remove_cv_t<F2>, std::remove_cv_t<First>>
94 && std::is_same_v<std::remove_cv_t<S2>, std::remove_cv_t<Second>>)
97 return a.p1_ == b.p1_;
100 template<
class F2,
class S2>
101 requires (std::is_same_v<std::remove_cv_t<F2>, std::remove_cv_t<First>>
102 && std::is_same_v<std::remove_cv_t<S2>, std::remove_cv_t<Second>>)
105 return a.p1_ < b.p1_;
108 template<
class F2,
class S2>
109 requires (std::is_same_v<std::remove_cv_t<F2>, std::remove_cv_t<First>>
110 && std::is_same_v<std::remove_cv_t<S2>, std::remove_cv_t<Second>>)
113 template<
class F2,
class S2>
114 requires (std::is_same_v<std::remove_cv_t<F2>, std::remove_cv_t<First>>
115 && std::is_same_v<std::remove_cv_t<S2>, std::remove_cv_t<Second>>)
118 template<
class F2,
class S2>
119 requires (std::is_same_v<std::remove_cv_t<F2>, std::remove_cv_t<First>>
120 && std::is_same_v<std::remove_cv_t<S2>, std::remove_cv_t<Second>>)
123 template<
class F2,
class S2>
124 requires (std::is_same_v<std::remove_cv_t<F2>, std::remove_cv_t<First>>
125 && std::is_same_v<std::remove_cv_t<S2>, std::remove_cv_t<Second>>)
129 template<
class F2,
class S2>
requires (
130 std::is_same_v<std::remove_cv_t<F2>, std::remove_cv_t<First>> &&
131 std::is_same_v<std::remove_cv_t<S2>, std::remove_cv_t<Second>> &&
132 std::is_convertible_v<F2*, First*>&&
133 std::is_convertible_v<S2*, Second*>)
146 template<
class First,
class Second>
Definition ZipIterator.h:51
constexpr zip_iter & operator+=(difference_type n) noexcept
Definition ZipIterator.h:75
std::ptrdiff_t difference_type
Definition ZipIterator.h:54
zip_iter(const zip_iter< F2, S2 > &other) noexcept
Definition ZipIterator.h:134
constexpr zip_iter & operator++() noexcept
Definition ZipIterator.h:69
constexpr reference operator*() const noexcept
Definition ZipIterator.h:64
constexpr zip_iter operator++(int) noexcept
Definition ZipIterator.h:70
constexpr pointer operator->() const noexcept
Definition ZipIterator.h:65
constexpr zip_iter() noexcept
Definition ZipIterator.h:60
constexpr reference operator[](difference_type n) const noexcept
Definition ZipIterator.h:66
friend zip_iter operator-(zip_iter it, difference_type n) noexcept
Definition ZipIterator.h:80
constexpr zip_iter operator--(int) noexcept
Definition ZipIterator.h:72
std::pair< std::remove_cv_t< First >, std::remove_cv_t< Second > > value_type
Definition ZipIterator.h:55
friend zip_iter operator+(zip_iter it, difference_type n) noexcept
Definition ZipIterator.h:78
constexpr zip_iter & operator--() noexcept
Definition ZipIterator.h:71
constexpr zip_iter(First *p1, Second *p2) noexcept
Definition ZipIterator.h:61
std::random_access_iterator_tag iterator_category
Definition ZipIterator.h:58
constexpr zip_iter & operator-=(difference_type n) noexcept
Definition ZipIterator.h:76
friend zip_iter operator+(difference_type n, zip_iter it) noexcept
Definition ZipIterator.h:79
Definition AcousticMaterial.h:36
JPL_INLINE simd min(const simd &a, const simd &b) noexcept
Element-wise min.
Definition SIMD.h:1813
Definition ZipIterator.h:43
pair_ref< First, Second > ref
Definition ZipIterator.h:44
constexpr pair_ref< First, Second > * operator->() noexcept
Definition ZipIterator.h:45
Zip iterator for the FlatMap.
Definition ZipIterator.h:33
Second & second
Definition ZipIterator.h:35
First & first
Definition ZipIterator.h:34
Definition ZipIterator.h:148
Second * b
Definition ZipIterator.h:153
First * a
Definition ZipIterator.h:152
constexpr const_iterator begin() const noexcept
Definition ZipIterator.h:159
constexpr const_iterator end() const noexcept
Definition ZipIterator.h:160
constexpr iterator begin() noexcept
Definition ZipIterator.h:156
constexpr iterator end() noexcept
Definition ZipIterator.h:157
std::size_t n
Definition ZipIterator.h:154