alpaqa 1.0.0a19
Nonconvex constrained optimization
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
set_intersection_iterable< R1, R2, Comp, Proj1, Proj2 >::iter_t< I1, S1, I2, S2 > 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>
template<std::input_iterator I1, std::sentinel_for< I1 > S1, std::input_iterator I2, std::sentinel_for< I2 > S2>
struct alpaqa::util::set_intersection_iterable< R1, R2, Comp, Proj1, Proj2 >::iter_t< I1, S1, I2, S2 >

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

+ Collaboration diagram for set_intersection_iterable< R1, R2, Comp, Proj1, Proj2 >::iter_t< I1, S1, I2, S2 >:

Public Types

using difference_type = std::ptrdiff_t
 
using value_type = std::tuple< decltype(*first1), decltype(*first2)>
 

Public Member Functions

 iter_t ()=default
 
 iter_t (I1 first1, S1 last1, I2 first2, S2 last2, Comp comp, Proj1 proj1, Proj2 proj2)
 
bool operator!= (sentinel_t) const
 
bool operator== (sentinel_t s) const
 
iter_toperator++ ()
 
iter_t operator++ (int)
 
value_type operator* () const
 
void advance ()
 

Public Attributes

I1 first1
 
S1 last1
 
I2 first2
 
S2 last2
 
Comp comp
 
Proj1 proj1
 
Proj2 proj2
 

Member Typedef Documentation

◆ difference_type

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<std::input_iterator I1, std::sentinel_for< I1 > S1, std::input_iterator I2, std::sentinel_for< I2 > S2>
using difference_type = std::ptrdiff_t

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

◆ value_type

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<std::input_iterator I1, std::sentinel_for< I1 > S1, std::input_iterator I2, std::sentinel_for< I2 > S2>
using value_type = std::tuple<decltype(*first1), decltype(*first2)>

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

Constructor & Destructor Documentation

◆ iter_t() [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>
template<std::input_iterator I1, std::sentinel_for< I1 > S1, std::input_iterator I2, std::sentinel_for< I2 > S2>
iter_t ( )
default

◆ iter_t() [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>
template<std::input_iterator I1, std::sentinel_for< I1 > S1, std::input_iterator I2, std::sentinel_for< I2 > S2>
iter_t ( I1  first1,
S1  last1,
I2  first2,
S2  last2,
Comp  comp,
Proj1  proj1,
Proj2  proj2 
)
inline

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

Member Function Documentation

◆ operator!=()

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<std::input_iterator I1, std::sentinel_for< I1 > S1, std::input_iterator I2, std::sentinel_for< I2 > S2>
bool operator!= ( sentinel_t  ) const
inline

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

◆ operator==()

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<std::input_iterator I1, std::sentinel_for< I1 > S1, std::input_iterator I2, std::sentinel_for< I2 > S2>
bool operator== ( sentinel_t  s) const
inline

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

◆ operator++() [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>
template<std::input_iterator I1, std::sentinel_for< I1 > S1, std::input_iterator I2, std::sentinel_for< I2 > S2>
iter_t & operator++ ( )
inline

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

◆ operator++() [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>
template<std::input_iterator I1, std::sentinel_for< I1 > S1, std::input_iterator I2, std::sentinel_for< I2 > S2>
iter_t operator++ ( int  )
inline

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

◆ operator*()

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<std::input_iterator I1, std::sentinel_for< I1 > S1, std::input_iterator I2, std::sentinel_for< I2 > S2>
value_type operator* ( ) const
inline

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

◆ advance()

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<std::input_iterator I1, std::sentinel_for< I1 > S1, std::input_iterator I2, std::sentinel_for< I2 > S2>
void advance ( )
inline

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

Member Data Documentation

◆ first1

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<std::input_iterator I1, std::sentinel_for< I1 > S1, std::input_iterator I2, std::sentinel_for< I2 > S2>
I1 first1

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

◆ last1

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<std::input_iterator I1, std::sentinel_for< I1 > S1, std::input_iterator I2, std::sentinel_for< I2 > S2>
S1 last1

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

◆ first2

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<std::input_iterator I1, std::sentinel_for< I1 > S1, std::input_iterator I2, std::sentinel_for< I2 > S2>
I2 first2

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

◆ last2

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<std::input_iterator I1, std::sentinel_for< I1 > S1, std::input_iterator I2, std::sentinel_for< I2 > S2>
S2 last2

Definition at line 47 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>
template<std::input_iterator I1, std::sentinel_for< I1 > S1, std::input_iterator I2, std::sentinel_for< I2 > S2>
Comp comp

Definition at line 48 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>
template<std::input_iterator I1, std::sentinel_for< I1 > S1, std::input_iterator I2, std::sentinel_for< I2 > S2>
Proj1 proj1

Definition at line 49 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>
template<std::input_iterator I1, std::sentinel_for< I1 > S1, std::input_iterator I2, std::sentinel_for< I2 > S2>
Proj2 proj2

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


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