[algs] Try f[v] in hb_get() as last resort
This commit is contained in:
parent
0601a19d38
commit
26adefd9ea
|
@ -100,14 +100,20 @@ struct
|
||||||
private:
|
private:
|
||||||
|
|
||||||
template <typename Proj, typename Val> auto
|
template <typename Proj, typename Val> auto
|
||||||
impl (Proj&& f, Val &&v, hb_priority<1>) const HB_AUTO_RETURN
|
impl (Proj&& f, Val &&v, hb_priority<2>) const HB_AUTO_RETURN
|
||||||
(hb_deref (hb_forward<Proj> (f)).get (hb_forward<Val> (v)))
|
(hb_deref (hb_forward<Proj> (f)).get (hb_forward<Val> (v)))
|
||||||
|
|
||||||
|
template <typename Proj, typename Val> auto
|
||||||
|
impl (Proj&& f, Val &&v, hb_priority<1>) const HB_AUTO_RETURN
|
||||||
|
(
|
||||||
|
hb_invoke (hb_forward<Proj> (f),
|
||||||
|
hb_forward<Val> (v))
|
||||||
|
)
|
||||||
|
|
||||||
template <typename Proj, typename Val> auto
|
template <typename Proj, typename Val> auto
|
||||||
impl (Proj&& f, Val &&v, hb_priority<0>) const HB_AUTO_RETURN
|
impl (Proj&& f, Val &&v, hb_priority<0>) const HB_AUTO_RETURN
|
||||||
(
|
(
|
||||||
hb_invoke (hb_forward<Proj> (f),
|
hb_forward<Proj> (f)[hb_forward<Val> (v)]
|
||||||
hb_forward<Val> (v))
|
|
||||||
)
|
)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
Loading…
Reference in New Issue