CkPttn 1.2.4
Loading...
Searching...
No Matches
Namespaces | Classes | Functions
transrangers Namespace Reference

Namespaces

namespace  detail
 

Classes

class  __lambda_244_25
 Internal lambda for the zip ranger combinator. More...
 
class  __lambda_246_16
 
class  __lambda_249_18
 Internal lambda for zip cursor expansion via index sequence. More...
 
class  __lambda_255_33
 Internal lambda for zip cursor element assignment. More...
 
struct  all_adaption
 
struct  all_copy
 
struct  deref_fun
 
struct  deref_fun< Cursor, F, typename std::enable_if< std::is_trivially_default_constructible< F >::value &&std::is_empty< F >::value >::type >
 
struct  identity_adaption
 
struct  ranger_class
 
struct  skip_both_copy
 Owning copy adaptor for skip_both on rvalue ranges. More...
 
struct  skip_first_copy
 Owning copy adaptor for skip_first on rvalue ranges. More...
 
struct  skip_last_copy
 Owning copy adaptor for skip_last on rvalue ranges. More...
 
struct  zip_cursor
 

Functions

template<typename Ranger >
auto input_view (Ranger rgr)
 Create an input view from a ranger.
 
template<typename Ranger >
auto forward_view (Ranger rgr)
 Create a forward view from a ranger.
 
template<typename Cursor , typename F >
auto ranger (F f)
 
template<typename Range >
auto all (Range &&rng)
 
template<typename Range >
std::enable_if< std::is_rvalue_reference< Range && >::value, all_copy< Range > >::type all (Range &&rng)
 
template<typename Pred >
auto pred_box (Pred pred)
 
template<typename Pred , typename Ranger >
auto filter (Pred pred_, Ranger rgr)
 
template<typename F , typename Ranger >
auto transform (F f, Ranger rgr)
 
template<typename Ranger >
auto take (int n, Ranger rgr)
 
template<typename Ranger >
auto concat (Ranger rgr)
 
template<typename Ranger , typename... Rangers>
auto concat (Ranger rgr, Rangers... rgrs)
 
template<typename Ranger >
auto unique (Ranger rgr)
 
template<typename Ranger1 , typename Ranger2 >
auto zip2 (Ranger1 rgr1, Ranger2 rgr2)
 
template<typename Ranger , typename T >
accumulate (Ranger rgr, T init)
 
template<typename Range >
auto skip_first (Range &&rng)
 skip_first, skip_first_copy (assume the next item is available)
 
template<typename Range >
std::enable_if< std::is_rvalue_reference< Range && >::value, skip_first_copy< Range > >::type skip_first (Range &&rng)
 Overload for rvalue references that returns an owning copy adaptor.
 
template<typename Range >
auto skip_last (Range &&rng)
 skip_last, skip_last_copy (assume the previous item is available)
 
template<typename Range >
std::enable_if< std::is_rvalue_reference< Range && >::value, skip_last_copy< Range > >::type skip_last (Range &&rng)
 
template<typename Range >
auto skip_both (Range &&rng)
 skip_both, skip_both_copy (assume the next and prev items are available)
 
template<typename Range >
std::enable_if< std::is_rvalue_reference< Range && >::value, skip_both_copy< Range > >::type skip_both (Range &&rng)
 
template<typename Ranger >
auto enumerate (Ranger rgr)
 enumerate
 
template<typename Ranger , typename T >
partial_sum (Ranger rgr, T init)
 partial sum (cummutative sum)
 
template<typename Ranger , typename... Rangers>
auto zip (Ranger rgr, Rangers... rgrs)
 Zip multiple rangers together, advancing them in lockstep.
 

Function Documentation

◆ accumulate()

template<typename Ranger , typename T >
T transrangers::accumulate ( Ranger  rgr,
init 
)

◆ all() [1/2]

template<typename Range >
auto transrangers::all ( Range &&  rng)

◆ all() [2/2]

template<typename Range >
std::enable_if< std::is_rvalue_reference< Range && >::value, all_copy< Range > >::type transrangers::all ( Range &&  rng)

◆ concat() [1/2]

template<typename Ranger >
auto transrangers::concat ( Ranger  rgr)

◆ concat() [2/2]

template<typename Ranger , typename... Rangers>
auto transrangers::concat ( Ranger  rgr,
Rangers...  rgrs 
)

◆ enumerate()

template<typename Ranger >
auto transrangers::enumerate ( Ranger  rgr)

enumerate

Template Parameters
Ranger
Parameters
[in]rgr
Returns
auto

◆ filter()

template<typename Pred , typename Ranger >
auto transrangers::filter ( Pred  pred_,
Ranger  rgr 
)

◆ forward_view()

template<typename Ranger >
auto transrangers::forward_view ( Ranger  rgr)

Create a forward view from a ranger.

Wraps a ranger into a range-v3 compatible forward view with iterator equality comparison based on visit count.

Template Parameters
RangerThe ranger type
Parameters
[in]rgrThe ranger to wrap
Returns
A forward view over the ranger

◆ input_view()

template<typename Ranger >
auto transrangers::input_view ( Ranger  rgr)

Create an input view from a ranger.

Wraps a ranger into a range-v3 compatible input view.

Template Parameters
RangerThe ranger type
Parameters
[in]rgrThe ranger to wrap
Returns
An input view over the ranger

◆ partial_sum()

template<typename Ranger , typename T >
T transrangers::partial_sum ( Ranger  rgr,
init 
)

partial sum (cummutative sum)

Template Parameters
Ranger
T
Parameters
[in]rgr
[in]init
Returns
T

◆ pred_box()

template<typename Pred >
auto transrangers::pred_box ( Pred  pred)

◆ ranger()

template<typename Cursor , typename F >
auto transrangers::ranger ( f)

◆ skip_both() [1/2]

template<typename Range >
auto transrangers::skip_both ( Range &&  rng)

skip_both, skip_both_copy (assume the next and prev items are available)

Template Parameters
Range
Parameters
[in]rng
Returns
auto

◆ skip_both() [2/2]

template<typename Range >
std::enable_if< std::is_rvalue_reference< Range && >::value, skip_both_copy< Range > >::type transrangers::skip_both ( Range &&  rng)
Template Parameters
Range
Parameters
[in]rng
Returns
std::enable_if<std::is_rvalue_reference<Range &&>::value, skip_both_copy<Range>>::type

◆ skip_first() [1/2]

template<typename Range >
auto transrangers::skip_first ( Range &&  rng)

skip_first, skip_first_copy (assume the next item is available)

Template Parameters
Range
Parameters
[in]rng
Returns
auto

◆ skip_first() [2/2]

template<typename Range >
std::enable_if< std::is_rvalue_reference< Range && >::value, skip_first_copy< Range > >::type transrangers::skip_first ( Range &&  rng)

Overload for rvalue references that returns an owning copy adaptor.

Template Parameters
RangeThe range type
Parameters
[in]rngThe rvalue range to skip
Returns
owning copy adaptor

◆ skip_last() [1/2]

template<typename Range >
auto transrangers::skip_last ( Range &&  rng)

skip_last, skip_last_copy (assume the previous item is available)

Template Parameters
Range
Parameters
[in]rng
Returns
auto

◆ skip_last() [2/2]

template<typename Range >
std::enable_if< std::is_rvalue_reference< Range && >::value, skip_last_copy< Range > >::type transrangers::skip_last ( Range &&  rng)
Template Parameters
Range
Parameters
[in]rng
Returns
std::enable_if<std::is_rvalue_reference<Range &&>::value, skip_last_copy<Range>>::type

◆ take()

template<typename Ranger >
auto transrangers::take ( int  n,
Ranger  rgr 
)

◆ transform()

template<typename F , typename Ranger >
auto transrangers::transform ( f,
Ranger  rgr 
)

◆ unique()

template<typename Ranger >
auto transrangers::unique ( Ranger  rgr)

◆ zip()

template<typename Ranger , typename... Rangers>
auto transrangers::zip ( Ranger  rgr,
Rangers...  rgrs 
)

Zip multiple rangers together, advancing them in lockstep.

Produces a ranger whose cursor dereferences to a tuple of the individual cursor values. Stops when any ranger is exhausted.

Template Parameters
RangerThe first ranger type
RangersThe remaining ranger types
Parameters
[in]rgrThe first ranger
[in]rgrsThe remaining rangers
Returns
A zipped ranger

◆ zip2()

template<typename Ranger1 , typename Ranger2 >
auto transrangers::zip2 ( Ranger1  rgr1,
Ranger2  rgr2 
)