3#ifndef TETL_ITERATOR_RANGES_ITER_MOVE_HPP
4#define TETL_ITERATOR_RANGES_ITER_MOVE_HPP
15namespace iter_move_cpo {
17auto iter_move() ->
void =
delete;
24concept can_move = not adl_iter_move<T> and
requires(T&& t) {
30concept can_deref = not adl_iter_move<T> and !can_move<T> and
requires(T&& t) {
36 template <adl_iter_move Iter>
43 template <can_move Iter>
50 template <can_deref Iter>
51 [[nodiscard]]
constexpr auto operator()(Iter&& i)
const noexcept(
noexcept(*
etl::forward<Iter>(i)))
62inline constexpr auto iter_move = iter_move_cpo::fn{};
constexpr auto move(InputIt first, InputIt last, OutputIt destination) -> OutputIt
Moves the elements in the range [first, last), to another range beginning at destination,...
Definition move.hpp:26
constexpr auto iter_move
Definition ranges_iter_move.hpp:62
Definition ranges_iter_move.hpp:60
Definition ranges_in_fun_result.hpp:11
constexpr bool is_lvalue_reference_v
Definition is_lvalue_reference.hpp:20
constexpr bool is_enum_v
Definition is_enum.hpp:16
constexpr bool is_class_v
Definition is_class.hpp:16
constexpr auto forward(remove_reference_t< T > ¶m) noexcept -> T &&
Forwards lvalues as either lvalues or as rvalues, depending on T. When t is a forwarding reference (a...
Definition forward.hpp:18