diff options
author | 2015-10-08 15:47:08 +0000 | |
---|---|---|
committer | 2015-10-08 15:47:08 +0000 | |
commit | 359f77c44dafef7ebed027180422ee75eef1467c (patch) | |
tree | b4b7fd4f8bf646dcd106351aaf2f5c1e6d719911 /compiler/utils/array_ref.h | |
parent | 64d8d93aa9359b1126513dba92e27dbe184bfe3a (diff) | |
parent | ec7802a102d49ab5c17495118d4fe0bcc7287beb (diff) |
Merge "Add DCHECKs to ArenaVector and ScopedArenaVector."
Diffstat (limited to 'compiler/utils/array_ref.h')
-rw-r--r-- | compiler/utils/array_ref.h | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/compiler/utils/array_ref.h b/compiler/utils/array_ref.h index 48f0328dce..5c33639a6a 100644 --- a/compiler/utils/array_ref.h +++ b/compiler/utils/array_ref.h @@ -77,15 +77,19 @@ class ArrayRef { : array_(array_in), size_(size_in) { } - template <typename Alloc> - explicit ArrayRef(std::vector<T, Alloc>& v) + template <typename Vector, + typename = typename std::enable_if< + std::is_same<typename Vector::value_type, value_type>::value>::type> + explicit ArrayRef(Vector& v) : array_(v.data()), size_(v.size()) { } - template <typename U, typename Alloc> - explicit ArrayRef(const std::vector<U, Alloc>& v, - typename std::enable_if<std::is_same<T, const U>::value, tag>::type - t ATTRIBUTE_UNUSED = tag()) + template <typename Vector, + typename = typename std::enable_if< + std::is_same< + typename std::add_const<typename Vector::value_type>::type, + value_type>::value>::type> + explicit ArrayRef(const Vector& v) : array_(v.data()), size_(v.size()) { } |