diff --git a/include/utl/to_vec.h b/include/utl/to_vec.h index ac37938..7b0e2e8 100644 --- a/include/utl/to_vec.h +++ b/include/utl/to_vec.h @@ -8,18 +8,20 @@ namespace utl { template inline void transform_to(Container&& c, Output& out, UnaryOperation&& op) { - out.reserve( - static_cast(std::distance(std::begin(c), std::end(c)))); - std::transform(std::begin(c), std::end(c), std::back_inserter(out), + using std::begin; + using std::end; + out.reserve(static_cast(std::distance(begin(c), end(c)))); + std::transform(begin(c), end(c), std::back_inserter(out), std::forward(op)); } template inline auto transform_to(Container&& c, UnaryOperation&& op) -> Output { + using std::begin; + using std::end; Output v; - v.reserve( - static_cast(std::distance(std::begin(c), std::end(c)))); - std::transform(std::begin(c), std::end(c), std::back_inserter(v), + v.reserve(static_cast(std::distance(begin(c), end(c)))); + std::transform(begin(c), end(c), std::back_inserter(v), std::forward(op)); return v; } @@ -36,10 +38,11 @@ inline auto to_vec(It s, It e, UnaryOperation&& op) template inline auto to_vec(Container&& c, UnaryOperation&& op) -> std::vector> { + using std::begin; + using std::end; auto v = std::vector>{}; - v.reserve( - static_cast(std::distance(std::begin(c), std::end(c)))); - std::transform(std::begin(c), std::end(c), std::back_inserter(v), + v.reserve(static_cast(std::distance(begin(c), end(c)))); + std::transform(begin(c), end(c), std::back_inserter(v), std::forward(op)); return v; } @@ -47,10 +50,11 @@ inline auto to_vec(Container&& c, UnaryOperation&& op) template inline auto to_vec(Container&& c) -> std::vector> { - auto v = std::vector>{}; - v.reserve( - static_cast(std::distance(std::begin(c), std::end(c)))); - std::copy(std::begin(c), std::end(c), std::back_inserter(v)); + using std::begin; + using std::end; + auto v = std::vector>{}; + v.reserve(static_cast(std::distance(begin(c), end(c)))); + std::copy(begin(c), end(c), std::back_inserter(v)); return v; }