Define rtc::BufferT::const_iterator

So that we can use rtc::Buffer with gmock container matchers.

Bug: none
Change-Id: I2f6e98850e82902636824168edaa37a90681ad98
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/168188
Commit-Queue: Karl Wiberg <kwiberg@webrtc.org>
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#30454}
diff --git a/rtc_base/buffer.h b/rtc_base/buffer.h
index 34ef885..3048b91 100644
--- a/rtc_base/buffer.h
+++ b/rtc_base/buffer.h
@@ -64,6 +64,7 @@
 
  public:
   using value_type = T;
+  using const_iterator = const T*;
 
   // An empty BufferT.
   BufferT() : size_(0), capacity_(0), data_(nullptr) {
diff --git a/rtc_base/buffer_unittest.cc b/rtc_base/buffer_unittest.cc
index 40d9edc..3e7396d 100644
--- a/rtc_base/buffer_unittest.cc
+++ b/rtc_base/buffer_unittest.cc
@@ -14,12 +14,16 @@
 #include <utility>
 
 #include "api/array_view.h"
+#include "test/gmock.h"
 #include "test/gtest.h"
 
 namespace rtc {
 
 namespace {
 
+using ::testing::ElementsAre;
+using ::testing::ElementsAreArray;
+
 // clang-format off
 const uint8_t kTestData[] = {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7,
                              0x8, 0x9, 0xa, 0xb, 0xc, 0xd, 0xe, 0xf};
@@ -104,10 +108,12 @@
   buf.SetData(TestDataContainer());
   EXPECT_EQ(3u, buf.size());
   EXPECT_EQ(Buffer(kTestData, 3), buf);
+  EXPECT_THAT(buf, ElementsAre(0, 1, 2));
   buf.AppendData(TestDataContainer());
   EXPECT_EQ(6u, buf.size());
   EXPECT_EQ(0, memcmp(buf.data(), kTestData, 3));
   EXPECT_EQ(0, memcmp(buf.data() + 3, kTestData, 3));
+  EXPECT_THAT(buf, ElementsAre(0, 1, 2, 0, 1, 2));
 }
 
 TEST(BufferTest, TestSetSizeSmaller) {
@@ -362,9 +368,7 @@
     buf[i] = kTestData[i];
   }
 
-  for (size_t i = 0; i != 7u; ++i) {
-    EXPECT_EQ(buf[i], kTestData[i]);
-  }
+  EXPECT_THAT(buf, ElementsAreArray(kTestData, 7));
 }
 
 TEST(BufferTest, TestBeginEnd) {
@@ -392,9 +396,7 @@
   EXPECT_EQ(buf.capacity(), 5u);
   EXPECT_NE(buf.data(), nullptr);
   EXPECT_FALSE(buf.empty());
-  for (size_t i = 0; i != buf.size(); ++i) {
-    EXPECT_EQ(test_data[i], buf[i]);
-  }
+  EXPECT_THAT(buf, ElementsAreArray(test_data));
   BufferT<int16_t> buf2(test_data);
   EXPECT_EQ(buf, buf2);
   buf2[0] = 9;