summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Evgeny Astigeevich <evgeny.astigeevich@linaro.org> 2020-07-29 18:30:49 +0100
committer Vladimir Marko <vmarko@google.com> 2020-07-30 08:31:58 +0000
commitf81d06cd7471585bb9c87c70f7ae849f452a2931 (patch)
treeb2337298e147f938edc27b017f2e9a1010a83c36
parentb2f2a49fca2004f8047e2539fc3dfb3998407905 (diff)
Fix missing return in non-void TransformArrayRef::end
TransformArrayRef::end() is not void but it does not return any value. This CL fixes this. Test: transform_array_ref_test Test: run-gtests.sh Change-Id: I0bed31cae9fc3eb83f9a254393f6700471793d2a
-rw-r--r--libartbase/base/transform_array_ref.h2
-rw-r--r--libartbase/base/transform_array_ref_test.cc16
2 files changed, 17 insertions, 1 deletions
diff --git a/libartbase/base/transform_array_ref.h b/libartbase/base/transform_array_ref.h
index ef2957332b..2f56e9bf43 100644
--- a/libartbase/base/transform_array_ref.h
+++ b/libartbase/base/transform_array_ref.h
@@ -93,7 +93,7 @@ class TransformArrayRef {
const_iterator begin() const { return MakeIterator(base().cbegin()); }
const_iterator cbegin() const { return MakeIterator(base().cbegin()); }
iterator end() { return MakeIterator(base().end()); }
- const_iterator end() const { MakeIterator(base().cend()); }
+ const_iterator end() const { return MakeIterator(base().cend()); }
const_iterator cend() const { return MakeIterator(base().cend()); }
reverse_iterator rbegin() { return reverse_iterator(end()); }
const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); }
diff --git a/libartbase/base/transform_array_ref_test.cc b/libartbase/base/transform_array_ref_test.cc
index fc73d56779..896209b5a0 100644
--- a/libartbase/base/transform_array_ref_test.cc
+++ b/libartbase/base/transform_array_ref_test.cc
@@ -174,18 +174,34 @@ TEST(TransformArrayRef, ConstAndNonConstRef) {
ASSERT_EQ(std::vector<int>({ 1, 0, 1, 0, 3, 1 }), output);
output.clear();
+ std::copy(std::begin(ctaref), std::end(ctaref), std::back_inserter(output));
+ ASSERT_EQ(std::vector<int>({ 1, 0, 1, 0, 3, 1 }), output);
+ output.clear();
+
std::copy(ctaref.cbegin(), ctaref.cend(), std::back_inserter(output));
ASSERT_EQ(std::vector<int>({ 1, 0, 1, 0, 3, 1 }), output);
output.clear();
+ std::copy(std::cbegin(ctaref), std::cend(ctaref), std::back_inserter(output));
+ ASSERT_EQ(std::vector<int>({ 1, 0, 1, 0, 3, 1 }), output);
+ output.clear();
+
std::copy(ctaref.rbegin(), ctaref.rend(), std::back_inserter(output));
ASSERT_EQ(std::vector<int>({ 1, 3, 0, 1, 0, 1 }), output);
output.clear();
+ std::copy(std::rbegin(ctaref), std::rend(ctaref), std::back_inserter(output));
+ ASSERT_EQ(std::vector<int>({ 1, 3, 0, 1, 0, 1 }), output);
+ output.clear();
+
std::copy(ctaref.crbegin(), ctaref.crend(), std::back_inserter(output));
ASSERT_EQ(std::vector<int>({ 1, 3, 0, 1, 0, 1 }), output);
output.clear();
+ std::copy(std::crbegin(ctaref), std::crend(ctaref), std::back_inserter(output));
+ ASSERT_EQ(std::vector<int>({ 1, 3, 0, 1, 0, 1 }), output);
+ output.clear();
+
ASSERT_EQ(cinput.size(), ctaref.size());
ASSERT_EQ(cinput.empty(), ctaref.empty());
ASSERT_EQ(cinput.front().value, ctaref.front());