VCCC  2024.05
VisualCamp Common C++ library
ranges::to

constructs a new non-view object from an input range More...

Detailed Description

The overloads of the range conversion function construct a new non-view object from a source range as its first argument by calling a constructor taking a range, a vccc::from_range_t tagged ranged constructor,a constructor taking an iterator-sentinel pair, or by back inserting each element of the source range into the arguments-constructed object.

Example

auto vec = vccc::views::iota(1, 5)
| vccc::views::transform([](auto const v) { return v * 2; })
| vccc::ranges::to<std::vector>();
auto lst = vec | vccc::views::take(3) | vccc::ranges::to<std::list<double>>();
constexpr VCCC_INLINE_OR_STATIC detail::iota_niebloid iota
Definition: iota_view.hpp:539
constexpr VCCC_INLINE_OR_STATIC detail::take_niebloid take
Definition: take.hpp:177
constexpr VCCC_INLINE_OR_STATIC detail::transform_niebloid transform
Definition: transform.hpp:61
See also
std::ranges::to

Functions

template<typename C , typename R , typename... Args, std::enable_if_t< conjunction< input_range< R >, negation< view< C > >>::value, int > = 0>
constexpr std::enable_if_t<(detail::ranges_to_1_tag< C, R, Args... >::value > 0), C > to (R &&r, Args &&... args)
 Constructs an object of type C from the elements of r More...
 
template<typename C , typename... Args, std::enable_if_t< conjunction< detail::to_check_arg< Args... >, view< C >>::value==false, int > = 0>
constexpr detail::to_adaptor_closure< C, std::decay_t< Args >... > to (Args &&... args)
 Returns a perfect forwarding call wrapper that is also a RangeAdaptorClosureObject More...
 

Function Documentation

◆ to() [1/2]

constexpr detail::to_adaptor_closure<C, std::decay_t<Args>...> vccc::ranges::to ( Args &&...  args)
constexpr

◆ to() [2/2]

constexpr std::enable_if_t<(detail::ranges_to_1_tag<C, R, Args...>::value > 0), C> vccc::ranges::to ( R &&  r,
Args &&...  args 
)
constexpr