guanaqo 1.0.0-alpha.27
Utilities for scientific software
Loading...
Searching...
No Matches
guanaqo::set_intersection_iterable< R1, R2, Comp, Proj1, Proj2 > Struct Template Reference

#include <guanaqo/set-intersection.hpp>

Detailed Description

template<std::ranges::input_range R1, std::ranges::input_range R2, class Comp = std::ranges::less, class Proj1 = std::identity, class Proj2 = std::identity>
requires (std::ranges::view<R1> && std::ranges::view<R2>)
struct guanaqo::set_intersection_iterable< R1, R2, Comp, Proj1, Proj2 >

Definition at line 19 of file set-intersection.hpp.

Inheritance diagram for guanaqo::set_intersection_iterable< R1, R2, Comp, Proj1, Proj2 >:
Collaboration diagram for guanaqo::set_intersection_iterable< R1, R2, Comp, Proj1, Proj2 >:

Classes

struct  sentinel_t
struct  iter_t

Public Member Functions

 set_intersection_iterable ()=default
 set_intersection_iterable (R1 &&range1, R2 &&range2, Comp &&comp, Proj1 &&proj1, Proj2 &&proj2)
auto begin () const -> std::input_or_output_iterator auto
auto end () const

Public Attributes

R1 range1
R2 range2
Comp comp
Proj1 proj1
Proj2 proj2

Private Member Functions

template<class I1, class S1, class I2, class S2>
iter_t< I1, S1, I2, S2 > iter (I1 first1, S1 last1, I2 first2, S2 last2) const

Class Documentation

◆ guanaqo::set_intersection_iterable::sentinel_t

struct guanaqo::set_intersection_iterable::sentinel_t
Collaboration diagram for guanaqo::set_intersection_iterable< R1, R2, Comp, Proj1, Proj2 >::sentinel_t:

Constructor & Destructor Documentation

◆ set_intersection_iterable() [1/2]

template<std::ranges::input_range R1, std::ranges::input_range R2, class Comp = std::ranges::less, class Proj1 = std::identity, class Proj2 = std::identity>
guanaqo::set_intersection_iterable< R1, R2, Comp, Proj1, Proj2 >::set_intersection_iterable ( )
default

◆ set_intersection_iterable() [2/2]

template<std::ranges::input_range R1, std::ranges::input_range R2, class Comp = std::ranges::less, class Proj1 = std::identity, class Proj2 = std::identity>
guanaqo::set_intersection_iterable< R1, R2, Comp, Proj1, Proj2 >::set_intersection_iterable ( R1 && range1,
R2 && range2,
Comp && comp,
Proj1 && proj1,
Proj2 && proj2 )
inline

Definition at line 31 of file set-intersection.hpp.

Member Function Documentation

◆ iter()

template<std::ranges::input_range R1, std::ranges::input_range R2, class Comp = std::ranges::less, class Proj1 = std::identity, class Proj2 = std::identity>
template<class I1, class S1, class I2, class S2>
iter_t< I1, S1, I2, S2 > guanaqo::set_intersection_iterable< R1, R2, Comp, Proj1, Proj2 >::iter ( I1 first1,
S1 last1,
I2 first2,
S2 last2 ) const
inlineprivate

Definition at line 95 of file set-intersection.hpp.

Here is the caller graph for this function:

◆ begin()

template<std::ranges::input_range R1, std::ranges::input_range R2, class Comp = std::ranges::less, class Proj1 = std::identity, class Proj2 = std::identity>
auto guanaqo::set_intersection_iterable< R1, R2, Comp, Proj1, Proj2 >::begin ( ) const -> std::input_or_output_iterator auto
inlinenodiscard

Definition at line 101 of file set-intersection.hpp.

Here is the call graph for this function:

◆ end()

template<std::ranges::input_range R1, std::ranges::input_range R2, class Comp = std::ranges::less, class Proj1 = std::identity, class Proj2 = std::identity>
auto guanaqo::set_intersection_iterable< R1, R2, Comp, Proj1, Proj2 >::end ( ) const
inlinenodiscard

Definition at line 107 of file set-intersection.hpp.

Member Data Documentation

◆ range1

template<std::ranges::input_range R1, std::ranges::input_range R2, class Comp = std::ranges::less, class Proj1 = std::identity, class Proj2 = std::identity>
R1 guanaqo::set_intersection_iterable< R1, R2, Comp, Proj1, Proj2 >::range1

Definition at line 23 of file set-intersection.hpp.

◆ range2

template<std::ranges::input_range R1, std::ranges::input_range R2, class Comp = std::ranges::less, class Proj1 = std::identity, class Proj2 = std::identity>
R2 guanaqo::set_intersection_iterable< R1, R2, Comp, Proj1, Proj2 >::range2

Definition at line 24 of file set-intersection.hpp.

◆ comp

template<std::ranges::input_range R1, std::ranges::input_range R2, class Comp = std::ranges::less, class Proj1 = std::identity, class Proj2 = std::identity>
Comp guanaqo::set_intersection_iterable< R1, R2, Comp, Proj1, Proj2 >::comp

Definition at line 25 of file set-intersection.hpp.

◆ proj1

template<std::ranges::input_range R1, std::ranges::input_range R2, class Comp = std::ranges::less, class Proj1 = std::identity, class Proj2 = std::identity>
Proj1 guanaqo::set_intersection_iterable< R1, R2, Comp, Proj1, Proj2 >::proj1

Definition at line 26 of file set-intersection.hpp.

◆ proj2

template<std::ranges::input_range R1, std::ranges::input_range R2, class Comp = std::ranges::less, class Proj1 = std::identity, class Proj2 = std::identity>
Proj2 guanaqo::set_intersection_iterable< R1, R2, Comp, Proj1, Proj2 >::proj2

Definition at line 27 of file set-intersection.hpp.


The documentation for this struct was generated from the following file: