From 262e25ddf8d6472fcb92a7d8724c27df03f183d0 Mon Sep 17 00:00:00 2001 From: Clement Courbet Date: Tue, 16 Jan 2018 09:11:20 +0000 Subject: [PATCH] Add a value_type to ArrayRef. Summary: Not sure this needs a review or not. Erring on the safe side. Reviewers: dblaikie Differential Revision: https://reviews.llvm.org/D41666 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@322538 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/ADT/ArrayRef.h | 1 + unittests/ADT/ArrayRefTest.cpp | 8 ++++++++ 2 files changed, 9 insertions(+) diff --git a/include/llvm/ADT/ArrayRef.h b/include/llvm/ADT/ArrayRef.h index 5f7a769ddac..b5795c67dd3 100644 --- a/include/llvm/ADT/ArrayRef.h +++ b/include/llvm/ADT/ArrayRef.h @@ -45,6 +45,7 @@ namespace llvm { using const_iterator = const T *; using size_type = size_t; using reverse_iterator = std::reverse_iterator; + using value_type = typename std::remove_cv::type; private: /// The start of the array, in an external buffer. diff --git a/unittests/ADT/ArrayRefTest.cpp b/unittests/ADT/ArrayRefTest.cpp index 4694ff112cb..84985183e57 100644 --- a/unittests/ADT/ArrayRefTest.cpp +++ b/unittests/ADT/ArrayRefTest.cpp @@ -52,6 +52,14 @@ static_assert( "Assigning from an initializer list"); #endif +// Check Typedefs. +static_assert( + std::is_same::value_type, int>::value, + "erroneous value_type"); +static_assert( + std::is_same::value_type, int>::value, + "erroneous value_type"); + namespace { TEST(ArrayRefTest, AllocatorCopy) { -- 2.11.0