From 1eee8628ee22c2382f7617e13eb5039bff7c9258 Mon Sep 17 00:00:00 2001 From: Phil Willoughby Date: Thu, 6 Jul 2017 00:09:18 -0700 Subject: [PATCH] launder Summary: Backport C++17's `std::launder`. Reviewed By: yfeldblum, ot Differential Revision: D5370531 fbshipit-source-id: b7cc6701d082b6c4855fa77bb644e151ce882deb --- folly/Utility.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/folly/Utility.h b/folly/Utility.h index d84abb7b..dbe552f0 100644 --- a/folly/Utility.h +++ b/folly/Utility.h @@ -260,4 +260,11 @@ class MoveOnly { using MoveOnly = moveonly_::MoveOnly; +/** + * Backport from C++17 of std::launder + */ +template +constexpr T* launder(T* in) { + return (in + 1) - 1; +} } // namespace folly -- 2.34.1