From 7c9ceabcef426ca6fc54b70db9dd8cb63937710b Mon Sep 17 00:00:00 2001 From: Behdad Esfahbod Date: Sat, 30 Mar 2019 18:19:36 -0700 Subject: [PATCH] [meta] Add hb_move and hb_forward ala std:: --- src/hb-meta.hh | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/hb-meta.hh b/src/hb-meta.hh index a303c67..63c8a8c 100644 --- a/src/hb-meta.hh +++ b/src/hb-meta.hh @@ -72,6 +72,17 @@ static const struct } hb_deref_pointer HB_UNUSED; +/* std::move and std::forward */ + +template +hb_remove_reference (T)&& hb_move (T&& t) { return (hb_remove_reference (T)&&) (t); } + +template +T&& hb_forward (hb_remove_reference (T)& t) { return (T&&) t; } +template +T&& hb_forward (hb_remove_reference (T)&& t) { return (T&&) t; } + + /* Void! For when we need a expression-type of void. */ struct hb_void_t { typedef void value; }; -- 2.7.4