[iter] Default projection to identity
This commit is contained in:
parent
a699c6b17c
commit
83cecd80d9
|
@ -31,7 +31,7 @@
|
||||||
#include "hb-null.hh"
|
#include "hb-null.hh"
|
||||||
|
|
||||||
|
|
||||||
static HB_UNUSED struct
|
static HB_UNUSED struct hb_identity_t
|
||||||
{
|
{
|
||||||
template <typename T> T
|
template <typename T> T
|
||||||
operator () (const T& v) const { return v; }
|
operator () (const T& v) const { return v; }
|
||||||
|
@ -55,13 +55,13 @@ struct hb_pair_t
|
||||||
template <typename T1, typename T2> static inline hb_pair_t<T1, T2>
|
template <typename T1, typename T2> static inline hb_pair_t<T1, T2>
|
||||||
hb_pair (T1 a, T2 b) { return hb_pair_t<T1, T2> (a, b); }
|
hb_pair (T1 a, T2 b) { return hb_pair_t<T1, T2> (a, b); }
|
||||||
|
|
||||||
static HB_UNUSED struct
|
static HB_UNUSED struct hb_first_t
|
||||||
{
|
{
|
||||||
template <typename Pair> typename Pair::first_t
|
template <typename Pair> typename Pair::first_t
|
||||||
operator () (const Pair& pair) const { return pair.first; }
|
operator () (const Pair& pair) const { return pair.first; }
|
||||||
} hb_first;
|
} hb_first;
|
||||||
|
|
||||||
static HB_UNUSED struct
|
static HB_UNUSED struct hb_second_t
|
||||||
{
|
{
|
||||||
template <typename Pair> typename Pair::second_t
|
template <typename Pair> typename Pair::second_t
|
||||||
operator () (const Pair& pair) const { return pair.second; }
|
operator () (const Pair& pair) const { return pair.second; }
|
||||||
|
|
|
@ -280,9 +280,9 @@ struct hb_filter_iter_factory_t
|
||||||
Pred p;
|
Pred p;
|
||||||
Proj f;
|
Proj f;
|
||||||
};
|
};
|
||||||
template <typename Pred, typename Proj>
|
template <typename Pred, typename Proj = hb_identity_t&>
|
||||||
inline hb_filter_iter_factory_t<Pred, Proj>
|
inline hb_filter_iter_factory_t<Pred, Proj>
|
||||||
hb_filter (Pred&& p, Proj&& f)
|
hb_filter (Pred&& p, Proj&& f = hb_identity)
|
||||||
{ return hb_filter_iter_factory_t<Pred, Proj> (p, f); }
|
{ return hb_filter_iter_factory_t<Pred, Proj> (p, f); }
|
||||||
|
|
||||||
/* hb_zip() */
|
/* hb_zip() */
|
||||||
|
|
Loading…
Reference in New Issue