Rename HB_AUTO_RETURN_EXPR to HB_AUTO_RETURN
This commit is contained in:
parent
da293b0e59
commit
5b33427f2c
|
@ -50,11 +50,11 @@ struct
|
|||
{
|
||||
private:
|
||||
template <typename T> auto
|
||||
impl (const T& v, hb_priority<1>) const HB_AUTO_RETURN_EXPR (hb_deref_pointer (v).hash ())
|
||||
impl (const T& v, hb_priority<1>) const HB_AUTO_RETURN (hb_deref_pointer (v).hash ())
|
||||
|
||||
template <typename T,
|
||||
hb_enable_if (hb_is_integer (T))> auto
|
||||
impl (const T& v, hb_priority<0>) const HB_AUTO_RETURN_EXPR
|
||||
impl (const T& v, hb_priority<0>) const HB_AUTO_RETURN
|
||||
(
|
||||
/* Knuth's multiplicative method: */
|
||||
(uint32_t) v * 2654435761u
|
||||
|
@ -63,7 +63,7 @@ struct
|
|||
public:
|
||||
|
||||
template <typename T> auto
|
||||
operator () (const T& v) const HB_AUTO_RETURN_EXPR ((uint32_t) impl (v, hb_prioritize))
|
||||
operator () (const T& v) const HB_AUTO_RETURN ((uint32_t) impl (v, hb_prioritize))
|
||||
} HB_FUNCOBJ (hb_hash);
|
||||
|
||||
struct
|
||||
|
@ -72,23 +72,23 @@ struct
|
|||
|
||||
/* Pointer-to-member-function. */
|
||||
template <typename Appl, typename Val> auto
|
||||
impl (Appl&& a, Val &&v, hb_priority<2>) const HB_AUTO_RETURN_EXPR
|
||||
impl (Appl&& a, Val &&v, hb_priority<2>) const HB_AUTO_RETURN
|
||||
(hb_forward<Val> (hb_deref_pointer (v)).*a ())
|
||||
|
||||
/* Pointer-to-member. */
|
||||
template <typename Appl, typename Val> auto
|
||||
impl (Appl&& a, Val &&v, hb_priority<1>) const HB_AUTO_RETURN_EXPR
|
||||
impl (Appl&& a, Val &&v, hb_priority<1>) const HB_AUTO_RETURN
|
||||
(hb_forward<Val> (hb_deref_pointer (v)).*a)
|
||||
|
||||
/* Operator(). */
|
||||
template <typename Appl, typename Val> auto
|
||||
impl (Appl&& a, Val &&v, hb_priority<0>) const HB_AUTO_RETURN_EXPR
|
||||
impl (Appl&& a, Val &&v, hb_priority<0>) const HB_AUTO_RETURN
|
||||
(hb_deref_pointer (a) (hb_forward<Val> (v)))
|
||||
|
||||
public:
|
||||
|
||||
template <typename Appl, typename Val> auto
|
||||
operator () (Appl&& a, Val &&v) const HB_AUTO_RETURN_EXPR
|
||||
operator () (Appl&& a, Val &&v) const HB_AUTO_RETURN
|
||||
(
|
||||
impl (hb_forward<Appl> (a),
|
||||
hb_forward<Val> (v),
|
||||
|
@ -101,11 +101,11 @@ struct
|
|||
private:
|
||||
|
||||
template <typename Pred, typename Val> auto
|
||||
impl (Pred&& p, Val &&v, hb_priority<1>) const HB_AUTO_RETURN_EXPR
|
||||
impl (Pred&& p, Val &&v, hb_priority<1>) const HB_AUTO_RETURN
|
||||
(hb_deref_pointer (p).has (v))
|
||||
|
||||
template <typename Pred, typename Val> auto
|
||||
impl (Pred&& p, Val &&v, hb_priority<0>) const HB_AUTO_RETURN_EXPR
|
||||
impl (Pred&& p, Val &&v, hb_priority<0>) const HB_AUTO_RETURN
|
||||
(
|
||||
hb_invoke (hb_forward<Pred> (p),
|
||||
hb_forward<Val> (v))
|
||||
|
@ -114,7 +114,7 @@ struct
|
|||
public:
|
||||
|
||||
template <typename Pred, typename Val> auto
|
||||
operator () (Pred&& p, Val &&v) const HB_AUTO_RETURN_EXPR
|
||||
operator () (Pred&& p, Val &&v) const HB_AUTO_RETURN
|
||||
(
|
||||
(bool) impl (hb_forward<Pred> (p),
|
||||
hb_forward<Val> (v),
|
||||
|
@ -127,11 +127,11 @@ struct
|
|||
private:
|
||||
|
||||
template <typename Proj, typename Val> auto
|
||||
impl (Proj&& f, Val &&v, hb_priority<1>) const HB_AUTO_RETURN_EXPR
|
||||
impl (Proj&& f, Val &&v, hb_priority<1>) const HB_AUTO_RETURN
|
||||
(hb_deref_pointer (f).get (hb_forward<Val> (v)))
|
||||
|
||||
template <typename Proj, typename Val> auto
|
||||
impl (Proj&& f, Val &&v, hb_priority<0>) const HB_AUTO_RETURN_EXPR
|
||||
impl (Proj&& f, Val &&v, hb_priority<0>) const HB_AUTO_RETURN
|
||||
(
|
||||
hb_invoke (hb_forward<Proj> (f),
|
||||
hb_forward<Val> (v))
|
||||
|
@ -140,7 +140,7 @@ struct
|
|||
public:
|
||||
|
||||
template <typename Proj, typename Val> auto
|
||||
operator () (Proj&& f, Val &&v) const HB_AUTO_RETURN_EXPR
|
||||
operator () (Proj&& f, Val &&v) const HB_AUTO_RETURN
|
||||
(
|
||||
impl (hb_forward<Proj> (f),
|
||||
hb_forward<Val> (v),
|
||||
|
@ -170,24 +170,24 @@ hb_pair (T1&& a, T2&& b) { return hb_pair_t<T1, T2> (a, b); }
|
|||
struct
|
||||
{
|
||||
template <typename Pair> auto
|
||||
operator () (const Pair& pair) const HB_AUTO_RETURN_EXPR (pair.first)
|
||||
operator () (const Pair& pair) const HB_AUTO_RETURN (pair.first)
|
||||
} HB_FUNCOBJ (hb_first);
|
||||
|
||||
struct
|
||||
{
|
||||
template <typename Pair> auto
|
||||
operator () (const Pair& pair) const HB_AUTO_RETURN_EXPR (pair.second)
|
||||
operator () (const Pair& pair) const HB_AUTO_RETURN (pair.second)
|
||||
} HB_FUNCOBJ (hb_second);
|
||||
|
||||
struct
|
||||
{
|
||||
template <typename T, typename T2> auto
|
||||
operator () (const T& a, const T2& b) const HB_AUTO_RETURN_EXPR (a <= b ? a : b)
|
||||
operator () (const T& a, const T2& b) const HB_AUTO_RETURN (a <= b ? a : b)
|
||||
} HB_FUNCOBJ (hb_min);
|
||||
struct
|
||||
{
|
||||
template <typename T, typename T2> auto
|
||||
operator () (const T& a, const T2& b) const HB_AUTO_RETURN_EXPR (a >= b ? a : b)
|
||||
operator () (const T& a, const T2& b) const HB_AUTO_RETURN (a >= b ? a : b)
|
||||
} HB_FUNCOBJ (hb_max);
|
||||
|
||||
|
||||
|
|
|
@ -36,8 +36,8 @@
|
|||
|
||||
/* Function overloading SFINAE and priority. */
|
||||
|
||||
#define HB_AUTO_RETURN_EXPR(E) -> decltype ((E)) { return (E); }
|
||||
#define HB_VOID_RETURN_EXPR(E) -> hb_void_tt<decltype ((E))> { (E); }
|
||||
#define HB_AUTO_RETURN(E) -> decltype ((E)) { return (E); }
|
||||
#define HB_VOID_RETURN(E) -> hb_void_tt<decltype ((E))> { (E); }
|
||||
|
||||
template <unsigned Pri> struct hb_priority : hb_priority<Pri - 1> {};
|
||||
template <> struct hb_priority<0> {};
|
||||
|
@ -90,10 +90,10 @@ static T&& hb_forward (hb_remove_reference<T>&& t) { return (T&&) t; }
|
|||
struct
|
||||
{
|
||||
template <typename T> auto
|
||||
operator () (T&& v) const HB_AUTO_RETURN_EXPR (hb_forward<T> (v))
|
||||
operator () (T&& v) const HB_AUTO_RETURN (hb_forward<T> (v))
|
||||
|
||||
template <typename T> auto
|
||||
operator () (T *v) const HB_AUTO_RETURN_EXPR (*v)
|
||||
operator () (T *v) const HB_AUTO_RETURN (*v)
|
||||
|
||||
} HB_FUNCOBJ (hb_deref_pointer);
|
||||
|
||||
|
|
Loading…
Reference in New Issue