diff options
author | Clement Courbet <courbet@google.com> | 2018-01-16 09:11:20 +0000 |
---|---|---|
committer | Clement Courbet <courbet@google.com> | 2018-01-16 09:11:20 +0000 |
commit | 639a3980986d65c620c3ebbc3fddba7d3103b58a (patch) | |
tree | 0ce5efcfcfca5eea58d4c5610c244de0b5f2f77d | |
parent | a6bc5f954c0dd189ca2c10b10db3e4df2ea83c0e (diff) | |
download | llvm-639a3980986d65c620c3ebbc3fddba7d3103b58a.zip llvm-639a3980986d65c620c3ebbc3fddba7d3103b58a.tar.gz llvm-639a3980986d65c620c3ebbc3fddba7d3103b58a.tar.bz2 |
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
llvm-svn: 322538
-rw-r--r-- | llvm/include/llvm/ADT/ArrayRef.h | 1 | ||||
-rw-r--r-- | llvm/unittests/ADT/ArrayRefTest.cpp | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/llvm/include/llvm/ADT/ArrayRef.h b/llvm/include/llvm/ADT/ArrayRef.h index 5f7a769..b5795c6 100644 --- a/llvm/include/llvm/ADT/ArrayRef.h +++ b/llvm/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<iterator>; + using value_type = typename std::remove_cv<T>::type; private: /// The start of the array, in an external buffer. diff --git a/llvm/unittests/ADT/ArrayRefTest.cpp b/llvm/unittests/ADT/ArrayRefTest.cpp index 4694ff1..8498518 100644 --- a/llvm/unittests/ADT/ArrayRefTest.cpp +++ b/llvm/unittests/ADT/ArrayRefTest.cpp @@ -52,6 +52,14 @@ static_assert( "Assigning from an initializer list"); #endif +// Check Typedefs. +static_assert( + std::is_same<ArrayRef<int>::value_type, int>::value, + "erroneous value_type"); +static_assert( + std::is_same<ArrayRef<const int>::value_type, int>::value, + "erroneous value_type"); + namespace { TEST(ArrayRefTest, AllocatorCopy) { |