13template <
typename InputRange,
typename OutputIterator>
14auto copy(InputRange&& range,
15 OutputIterator iter) ->
decltype(std::copy(std::begin(std::forward<InputRange>(range)),
16 std::end(std::forward<InputRange>(range)),
19 return std::copy(std::begin(std::forward<InputRange>(range)),
20 std::end(std::forward<InputRange>(range)),
24template <
typename T,
typename OutputRange>
25auto fill(OutputRange&& range,
const T& init)
26 -> std::void_t<decltype(std::fill(std::begin(std::forward<OutputRange>(range)),
27 std::end(std::forward<OutputRange>(range)),
30 std::fill(std::begin(std::forward<OutputRange>(range)),
31 std::end(std::forward<OutputRange>(range)),
35template <
typename InputRange,
typename OutputIterator,
typename UnaryOperation>
36auto transform(InputRange&& range, OutputIterator iter, UnaryOperation unary_op)
37 ->
decltype(std::transform(std::begin(range), std::end(range), iter, unary_op))
39 return std::transform(std::begin(range), std::end(range), iter, unary_op);
Definition algorithm.hpp:12
auto fill(OutputRange &&range, const T &init) -> std::void_t< decltype(std::fill(std::begin(std::forward< OutputRange >(range)), std::end(std::forward< OutputRange >(range)), init))>
Definition algorithm.hpp:25
auto transform(InputRange &&range, OutputIterator iter, UnaryOperation unary_op) -> decltype(std::transform(std::begin(range), std::end(range), iter, unary_op))
Definition algorithm.hpp:36
auto copy(InputRange &&range, OutputIterator iter) -> decltype(std::copy(std::begin(std::forward< InputRange >(range)), std::end(std::forward< InputRange >(range)), iter))
Definition algorithm.hpp:14