ranges Namespace Reference#
Typedefs | |
template<typename R > | |
using | iterator_t = decltype(std::begin(std::declval< R & >())) |
template<typename R > | |
using | sentinel_t = decltype(std::end(std::declval< R & >())) |
template<typename R > | |
using | range_size_t = decltype(std::size(std::declval< R & >())) |
template<typename R > | |
using | range_difference_t = ck::iter_difference_t< ranges::iterator_t< R > > |
template<typename R > | |
using | range_value_t = iter_value_t< ranges::iterator_t< R > > |
template<typename R > | |
using | range_reference_t = iter_reference_t< ranges::iterator_t< R > > |
Functions | |
template<typename InputRange , typename OutputIterator > | |
auto | copy (InputRange &&range, OutputIterator iter) -> decltype(std::copy(std::begin(std::forward< InputRange >(range)), std::end(std::forward< InputRange >(range)), iter)) |
template<typename T , typename OutputRange > | |
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))> |
template<typename InputRange , typename OutputIterator , typename UnaryOperation > | |
auto | transform (InputRange &&range, OutputIterator iter, UnaryOperation unary_op) -> decltype(std::transform(std::begin(range), std::end(range), iter, unary_op)) |
Variables | |
template<typename T > | |
constexpr bool | is_range_v = is_range<T>::value |
Typedef Documentation
◆ iterator_t
template<typename R >
using ck::ranges::iterator_t = typedef decltype(std::begin(std::declval<R&>())) |
◆ range_difference_t
template<typename R >
using ck::ranges::range_difference_t = typedef ck::iter_difference_t<ranges::iterator_t<R> > |
◆ range_reference_t
template<typename R >
using ck::ranges::range_reference_t = typedef iter_reference_t<ranges::iterator_t<R> > |
◆ range_size_t
template<typename R >
using ck::ranges::range_size_t = typedef decltype(std::size(std::declval<R&>())) |
◆ range_value_t
template<typename R >
using ck::ranges::range_value_t = typedef iter_value_t<ranges::iterator_t<R> > |
◆ sentinel_t
template<typename R >
using ck::ranges::sentinel_t = typedef decltype(std::end(std::declval<R&>())) |
Function Documentation
◆ copy()
template<typename InputRange , typename OutputIterator >
auto ck::ranges::copy | ( | InputRange && | range, |
OutputIterator | iter | ||
) | -> decltype(std::copy(std::begin(std::forward<InputRange>(range)), std::end(std::forward<InputRange>(range)), iter)) |
◆ fill()
template<typename T , typename OutputRange >
auto ck::ranges::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))> |
◆ transform()
template<typename InputRange , typename OutputIterator , typename UnaryOperation >
auto ck::ranges::transform | ( | InputRange && | range, |
OutputIterator | iter, | ||
UnaryOperation | unary_op | ||
) | -> decltype(std::transform(std::begin(range), std::end(range), iter, unary_op)) |
Variable Documentation
◆ is_range_v
template<typename T >
|
inlineconstexpr |