alpaqa develop
Nonconvex constrained optimization
Loading...
Searching...
No Matches
Classes | Public Member Functions | Public Attributes | Private Member Functions | List of all members
set_intersection_iterable< R1, R2, Comp, Proj1, Proj2 > Struct Template Reference

#include <alpaqa/util/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 alpaqa::util::set_intersection_iterable< R1, R2, Comp, Proj1, Proj2 >

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

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

Classes

struct  iter_t
 
struct  sentinel_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

◆ alpaqa::util::set_intersection_iterable::sentinel_t

struct alpaqa::util::set_intersection_iterable::sentinel_t
+ Collaboration diagram for 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>
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>
set_intersection_iterable ( R1 &&  range1,
R2 &&  range2,
Comp &&  comp,
Proj1 &&  proj1,
Proj2 &&  proj2 
)
inline

Definition at line 26 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 > iter ( I1  first1,
S1  last1,
I2  first2,
S2  last2 
) const
inlineprivate

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

◆ 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 begin ( ) const -> std::input_or_output_iterator auto
inline

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

◆ 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 end ( ) const
inline

Definition at line 102 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 range1

Definition at line 18 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 range2

Definition at line 19 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 comp

Definition at line 20 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 proj1

Definition at line 21 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 proj2

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


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