Rename GrowableArray to Vector

I'm not sure why we called it something so long. This is just a worse
version of std::vector. (Once we decide we stop believing in malloc
failures, we should just switch to the real std::vector.)

Change-Id: Iec9b1010a15316e6760758ba264897c13e3fdbac
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/71787
Reviewed-by: Bob Beck <bbe@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
diff --git a/ssl/internal.h b/ssl/internal.h
index 718908b..43ea1c2 100644
--- a/ssl/internal.h
+++ b/ssl/internal.h
@@ -336,22 +336,21 @@
   size_t size_ = 0;
 };
 
-// GrowableArray<T> is an array that owns elements of |T|, backed by an
-// Array<T>. When necessary, pushing will automatically trigger a resize.
+// Vector<T> is a resizable array of elements of |T|.
 //
 // Note, for simplicity, this class currently differs from |std::vector| in that
 // |T| must be efficiently default-constructible. Allocated elements beyond the
 // end of the array are constructed and destructed.
 template <typename T>
-class GrowableArray {
+class Vector {
  public:
-  GrowableArray() = default;
-  GrowableArray(const GrowableArray &) = delete;
-  GrowableArray(GrowableArray &&other) { *this = std::move(other); }
-  ~GrowableArray() {}
+  Vector() = default;
+  Vector(const Vector &) = delete;
+  Vector(Vector &&other) { *this = std::move(other); }
+  ~Vector() {}
 
-  GrowableArray &operator=(const GrowableArray &) = delete;
-  GrowableArray &operator=(GrowableArray &&other) {
+  Vector &operator=(const Vector &) = delete;
+  Vector &operator=(Vector &&other) {
     size_ = other.size_;
     other.size_ = 0;
     array_ = std::move(other.array_);
@@ -425,10 +424,10 @@
     return true;
   }
 
-  // |size_| is the number of elements stored in this GrowableArray.
+  // |size_| is the number of elements stored in this Vector.
   size_t size_ = 0;
   // |array_| is the backing array. Note that |array_.size()| is this
-  // GrowableArray's current capacity and that |size_ <= array_.size()|.
+  // Vector's current capacity and that |size_ <= array_.size()|.
   Array<T> array_;
   // |kDefaultSize| is the default initial size of the backing array.
   static constexpr size_t kDefaultSize = 16;
@@ -2533,7 +2532,7 @@
 
   // credentials is the list of credentials to select between. Elements of this
   // array immutable.
-  GrowableArray<UniquePtr<SSL_CREDENTIAL>> credentials;
+  Vector<UniquePtr<SSL_CREDENTIAL>> credentials;
 
   // legacy_credential is the credential configured by the legacy
   // non-credential-based APIs. If IsComplete() returns true, it is appended to
@@ -3213,7 +3212,7 @@
 
   // alps_configs contains the list of supported protocols to use with ALPS,
   // along with their corresponding ALPS values.
-  GrowableArray<ALPSConfig> alps_configs;
+  Vector<ALPSConfig> alps_configs;
 
   // Contains the QUIC transport params that this endpoint will send.
   Array<uint8_t> quic_transport_params;
@@ -3816,7 +3815,7 @@
   bssl::UniquePtr<STACK_OF(SRTP_PROTECTION_PROFILE)> srtp_profiles;
 
   // Defined compression algorithms for certificates.
-  bssl::GrowableArray<bssl::CertCompressionAlg> cert_compression_algs;
+  bssl::Vector<bssl::CertCompressionAlg> cert_compression_algs;
 
   // Supported group values inherited by SSL structure
   bssl::Array<uint16_t> supported_group_list;
@@ -4157,7 +4156,7 @@
 struct ssl_ech_keys_st : public bssl::RefCounted<ssl_ech_keys_st> {
   ssl_ech_keys_st() : RefCounted(CheckSubClass()) {}
 
-  bssl::GrowableArray<bssl::UniquePtr<bssl::ECHServerConfig>> configs;
+  bssl::Vector<bssl::UniquePtr<bssl::ECHServerConfig>> configs;
 
  private:
   friend RefCounted;
diff --git a/ssl/ssl_test.cc b/ssl/ssl_test.cc
index 17fe5c6..b552885 100644
--- a/ssl/ssl_test.cc
+++ b/ssl/ssl_test.cc
@@ -567,69 +567,69 @@
   return true;
 }
 
-TEST(GrowableArrayTest, Resize) {
-  GrowableArray<size_t> array;
-  ASSERT_TRUE(array.empty());
-  EXPECT_EQ(array.size(), 0u);
+TEST(VectorTest, Resize) {
+  Vector<size_t> vec;
+  ASSERT_TRUE(vec.empty());
+  EXPECT_EQ(vec.size(), 0u);
 
-  ASSERT_TRUE(array.Push(42));
-  ASSERT_TRUE(!array.empty());
-  EXPECT_EQ(array.size(), 1u);
+  ASSERT_TRUE(vec.Push(42));
+  ASSERT_TRUE(!vec.empty());
+  EXPECT_EQ(vec.size(), 1u);
 
   // Force a resize operation to occur
   for (size_t i = 0; i < 16; i++) {
-    ASSERT_TRUE(array.Push(i + 1));
+    ASSERT_TRUE(vec.Push(i + 1));
   }
 
-  EXPECT_EQ(array.size(), 17u);
+  EXPECT_EQ(vec.size(), 17u);
 
-  // Verify that expected values are still contained in array
-  for (size_t i = 0; i < array.size(); i++) {
-    EXPECT_EQ(array[i], i == 0 ? 42 : i);
+  // Verify that expected values are still contained in vec
+  for (size_t i = 0; i < vec.size(); i++) {
+    EXPECT_EQ(vec[i], i == 0 ? 42 : i);
   }
 }
 
-TEST(GrowableArrayTest, MoveConstructor) {
-  GrowableArray<size_t> array;
+TEST(VectorTest, MoveConstructor) {
+  Vector<size_t> vec;
   for (size_t i = 0; i < 100; i++) {
-    ASSERT_TRUE(array.Push(i));
+    ASSERT_TRUE(vec.Push(i));
   }
 
-  GrowableArray<size_t> array_moved(std::move(array));
+  Vector<size_t> vec_moved(std::move(vec));
   for (size_t i = 0; i < 100; i++) {
-    EXPECT_EQ(array_moved[i], i);
+    EXPECT_EQ(vec_moved[i], i);
   }
 }
 
-TEST(GrowableArrayTest, GrowableArrayContainingGrowableArrays) {
-  // Representative example of a struct that contains a GrowableArray.
+TEST(VectorTest, VectorContainingVectors) {
+  // Representative example of a struct that contains a Vector.
   struct TagAndArray {
     size_t tag;
-    GrowableArray<size_t> array;
+    Vector<size_t> vec;
   };
 
-  GrowableArray<TagAndArray> array;
+  Vector<TagAndArray> vec;
   for (size_t i = 0; i < 100; i++) {
     TagAndArray elem;
     elem.tag = i;
     for (size_t j = 0; j < i; j++) {
-      ASSERT_TRUE(elem.array.Push(j));
+      ASSERT_TRUE(elem.vec.Push(j));
     }
-    ASSERT_TRUE(array.Push(std::move(elem)));
+    ASSERT_TRUE(vec.Push(std::move(elem)));
   }
-  EXPECT_EQ(array.size(), static_cast<size_t>(100));
+  EXPECT_EQ(vec.size(), static_cast<size_t>(100));
 
-  GrowableArray<TagAndArray> array_moved(std::move(array));
-  EXPECT_EQ(array_moved.size(), static_cast<size_t>(100));
+  Vector<TagAndArray> vec_moved(std::move(vec));
+  EXPECT_EQ(vec_moved.size(), static_cast<size_t>(100));
   size_t count = 0;
-  for (const TagAndArray &elem : array_moved) {
+  for (const TagAndArray &elem : vec_moved) {
     // Test the square bracket operator returns the same value as iteration.
-    EXPECT_EQ(&elem, &array_moved[count]);
+    EXPECT_EQ(&elem, &vec_moved[count]);
 
     EXPECT_EQ(elem.tag, count);
-    EXPECT_EQ(elem.array.size(), count);
+    EXPECT_EQ(elem.vec.size(), count);
     for (size_t j = 0; j < count; j++) {
-      EXPECT_EQ(elem.array[j], j);
+      EXPECT_EQ(elem.vec[j], j);
     }
     count++;
   }