From: Serge Guelton Date: Thu, 19 Jul 2018 09:24:34 +0000 (+0000) Subject: Use std::reference_wrapper instead of llvm::ReferenceStorage X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=cfc3a3cba210f9971270707f81c03b8dab2163c3;p=llvm Use std::reference_wrapper instead of llvm::ReferenceStorage Reviewed By: Bigcheese Differential Revision: https://reviews.llvm.org/D49298 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@337444 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Support/Error.h b/include/llvm/Support/Error.h index b026dae8cc3..3ea567b4bcf 100644 --- a/include/llvm/Support/Error.h +++ b/include/llvm/Support/Error.h @@ -429,7 +429,7 @@ template class LLVM_NODISCARD Expected { static const bool isRef = std::is_reference::value; - using wrap = ReferenceStorage::type>; + using wrap = std::reference_wrapper::type>; using error_type = std::unique_ptr; diff --git a/include/llvm/Support/ErrorOr.h b/include/llvm/Support/ErrorOr.h index fdf2d6cb053..e6ce764ad82 100644 --- a/include/llvm/Support/ErrorOr.h +++ b/include/llvm/Support/ErrorOr.h @@ -24,18 +24,6 @@ namespace llvm { -/// Stores a reference that can be changed. -template -class ReferenceStorage { - T *Storage; - -public: - ReferenceStorage(T &Ref) : Storage(&Ref) {} - - operator T &() const { return *Storage; } - T &get() const { return *Storage; } -}; - /// Represents either an error or a value T. /// /// ErrorOr is a pointer-like class that represents the result of an @@ -71,7 +59,7 @@ class ErrorOr { static const bool isRef = std::is_reference::value; - using wrap = ReferenceStorage::type>; + using wrap = std::reference_wrapper::type>; public: using storage_type = typename std::conditional::type;