[llvm] r322538 - Add a value_type to ArrayRef.
Clement Courbet via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 16 01:11:20 PST 2018
Author: courbet
Date: Tue Jan 16 01:11:20 2018
New Revision: 322538
URL: http://llvm.org/viewvc/llvm-project?rev=322538&view=rev
Log:
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
Modified:
llvm/trunk/include/llvm/ADT/ArrayRef.h
llvm/trunk/unittests/ADT/ArrayRefTest.cpp
Modified: llvm/trunk/include/llvm/ADT/ArrayRef.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/ArrayRef.h?rev=322538&r1=322537&r2=322538&view=diff
==============================================================================
--- llvm/trunk/include/llvm/ADT/ArrayRef.h (original)
+++ llvm/trunk/include/llvm/ADT/ArrayRef.h Tue Jan 16 01:11:20 2018
@@ -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.
Modified: llvm/trunk/unittests/ADT/ArrayRefTest.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/unittests/ADT/ArrayRefTest.cpp?rev=322538&r1=322537&r2=322538&view=diff
==============================================================================
--- llvm/trunk/unittests/ADT/ArrayRefTest.cpp (original)
+++ llvm/trunk/unittests/ADT/ArrayRefTest.cpp Tue Jan 16 01:11:20 2018
@@ -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) {
More information about the llvm-commits
mailing list