iter_swap(ranges::adjacent_view::iterator)
From cppreference.com
< cpp | ranges | adjacent view | iterator
C++
Ranges library
|
Range primitives | |||||||
|
Range concepts | |||||||||||||||||||
|
Range factories | |||||||||
|
Range adaptors | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
Helper items | |||||||||||||||||
|
std::ranges::adjacent_view
Member functions | ||||
Iterator | ||||
Member functions | ||||
Non-member functions | ||||
iter_swap(adjacent_view::iterator) | ||||
Sentinel | ||||
Member functions | ||||
Non-member functions | ||||
friend
constexpr
void iter_swap(
const
/*iterator*/
& x, const
/*iterator*/
& y )
noexcept( /*see below*/ ) |
(since C++23) | |
Swaps the objects pointed to by two underlying arrays of iterators (denoted as current_
).
Equivalent to:
for (std::size_t i{}; i != N; ++i) { std::ranges::iter_swap(x.current_[i], y.current_[i]); }
The behavior is undefined if before the operation none of the iterators in x.current_ is equal to an iterator in y.current_
This function is not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when adjacent_view::iterator<Const>
Parameters
x, y | - | iterators |
Return value
(none)
Exceptions
noexcept specification:
noexcept
(std::
ranges::iter_swap
(declval<
ranges::iterator_t
<Base>>
(
),
declval< ranges::iterator_t <Base>> ( ) ) )
declval< ranges::iterator_t <Base>> ( ) ) )
See also
(C++20)
|
swaps the values referenced by two dereferenceable objects (customization point object) |
swaps the elements pointed to by two iterators (function template) |