BLI: rename SetVector to VectorSet
authorJacques Lucke <mail@jlucke.com>
Sat, 14 Sep 2019 10:37:58 +0000 (12:37 +0200)
committerJacques Lucke <mail@jlucke.com>
Sat, 14 Sep 2019 10:37:58 +0000 (12:37 +0200)
The structure is a set built on top of a vector and not the other
way around.

source/blender/blenlib/BLI_vector_set.h [moved from source/blender/blenlib/BLI_set_vector.h with 93% similarity]
source/blender/blenlib/CMakeLists.txt
tests/gtests/blenlib/BLI_vector_set_test.cc [moved from tests/gtests/blenlib/BLI_set_vector_test.cc with 62% similarity]
tests/gtests/blenlib/CMakeLists.txt

similarity index 93%
rename from source/blender/blenlib/BLI_set_vector.h
rename to source/blender/blenlib/BLI_vector_set.h
index 3d5a31e1cce5f70e76025b3f77b510da877ff3a9..820c7c63c6a414241aa098b0d7116ee51a624b87 100644 (file)
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
  */
 
-#ifndef __BLI_SET_VECTOR_H__
-#define __BLI_SET_VECTOR_H__
+#ifndef __BLI_VECTOR_SET_H__
+#define __BLI_VECTOR_SET_H__
 
 /** \file
  * \ingroup bli
  *
- * A SetVector is a combination of a set and a vector. The elements are stored in a continuous
- * array, but every element exists at most once. The insertion order is maintained, as long as
- * there are no deletes. The expected time to check if a value is in the SetVector is O(1).
+ * A VectorSet is a set built on top of a vector. The elements are stored in a continuous array,
+ * but every element exists at most once. The insertion order is maintained, as long as there are
+ * no deletes. The expected time to check if a value is in the VectorSet is O(1).
  */
 
 #include "BLI_hash_cxx.h"
@@ -49,7 +49,7 @@ namespace BLI {
 
 // clang-format on
 
-template<typename T, typename Allocator = GuardedAllocator> class SetVector {
+template<typename T, typename Allocator = GuardedAllocator> class VectorSet {
  private:
   static constexpr int32_t IS_EMPTY = -1;
   static constexpr int32_t IS_DUMMY = -2;
@@ -115,19 +115,19 @@ template<typename T, typename Allocator = GuardedAllocator> class SetVector {
   Vector<T, 4, Allocator> m_elements;
 
  public:
-  SetVector() = default;
+  VectorSet() = default;
 
-  SetVector(ArrayRef<T> values)
+  VectorSet(ArrayRef<T> values)
   {
     this->add_multiple(values);
   }
 
-  SetVector(const std::initializer_list<T> &values)
+  VectorSet(const std::initializer_list<T> &values)
   {
     this->add_multiple(values);
   }
 
-  SetVector(const Vector<T> &values)
+  VectorSet(const Vector<T> &values)
   {
     this->add_multiple(values);
   }
@@ -394,4 +394,4 @@ template<typename T, typename Allocator = GuardedAllocator> class SetVector {
 
 }  // namespace BLI
 
-#endif /* __BLI_SET_VECTOR_H__ */
+#endif /* __BLI_VECTOR_SET_H__ */
index a5950051f9051cd88cb8663ee028aaa77bb00487..f3740b5d39f0d1c314915bdb31ca46fa5ea16cbd 100644 (file)
@@ -221,7 +221,6 @@ set(SRC
   BLI_rect.h
   BLI_scanfill.h
   BLI_set.h
-  BLI_set_vector.h
   BLI_smallhash.h
   BLI_sort.h
   BLI_sort_utils.h
@@ -248,6 +247,7 @@ set(SRC
   BLI_utildefines_variadic.h
   BLI_uvproject.h
   BLI_vector.h
+  BLI_vector_set.h
   BLI_vfontdata.h
   BLI_voronoi_2d.h
   BLI_voxel.h
similarity index 62%
rename from tests/gtests/blenlib/BLI_set_vector_test.cc
rename to tests/gtests/blenlib/BLI_vector_set_test.cc
index b135e31914c517716898aa61f0397e0aaebb5bc4..675e5a154d576d472345088bb2993be3f4d6a14c 100644 (file)
@@ -1,27 +1,27 @@
 #include "testing/testing.h"
-#include "BLI_set_vector.h"
+#include "BLI_vector_set.h"
 
-using BLI::SetVector;
-using IntSetVector = SetVector<int>;
+using BLI::VectorSet;
+using IntVectorSet = VectorSet<int>;
 
-TEST(set_vector, DefaultConstructor)
+TEST(vector_set, DefaultConstructor)
 {
-  IntSetVector set;
+  IntVectorSet set;
   EXPECT_EQ(set.size(), 0);
 }
 
-TEST(set_vector, InitializerListConstructor_WithoutDuplicates)
+TEST(vector_set, InitializerListConstructor_WithoutDuplicates)
 {
-  IntSetVector set = {1, 4, 5};
+  IntVectorSet set = {1, 4, 5};
   EXPECT_EQ(set.size(), 3);
   EXPECT_EQ(set[0], 1);
   EXPECT_EQ(set[1], 4);
   EXPECT_EQ(set[2], 5);
 }
 
-TEST(set_vector, InitializerListConstructor_WithDuplicates)
+TEST(vector_set, InitializerListConstructor_WithDuplicates)
 {
-  IntSetVector set = {1, 3, 3, 2, 1, 5};
+  IntVectorSet set = {1, 3, 3, 2, 1, 5};
   EXPECT_EQ(set.size(), 4);
   EXPECT_EQ(set[0], 1);
   EXPECT_EQ(set[1], 3);
@@ -29,35 +29,35 @@ TEST(set_vector, InitializerListConstructor_WithDuplicates)
   EXPECT_EQ(set[3], 5);
 }
 
-TEST(set_vector, Copy)
+TEST(vector_set, Copy)
 {
-  IntSetVector set1 = {1, 2, 3};
-  IntSetVector set2 = set1;
+  IntVectorSet set1 = {1, 2, 3};
+  IntVectorSet set2 = set1;
   EXPECT_EQ(set1.size(), 3);
   EXPECT_EQ(set2.size(), 3);
   EXPECT_EQ(set1.index(2), 1);
   EXPECT_EQ(set2.index(2), 1);
 }
 
-TEST(set_vector, Move)
+TEST(vector_set, Move)
 {
-  IntSetVector set1 = {1, 2, 3};
-  IntSetVector set2 = std::move(set1);
+  IntVectorSet set1 = {1, 2, 3};
+  IntVectorSet set2 = std::move(set1);
   EXPECT_EQ(set1.size(), 0);
   EXPECT_EQ(set2.size(), 3);
 }
 
-TEST(set_vector, AddNewIncreasesSize)
+TEST(vector_set, AddNewIncreasesSize)
 {
-  IntSetVector set;
+  IntVectorSet set;
   EXPECT_EQ(set.size(), 0);
   set.add(5);
   EXPECT_EQ(set.size(), 1);
 }
 
-TEST(set_vector, AddExistingDoesNotIncreaseSize)
+TEST(vector_set, AddExistingDoesNotIncreaseSize)
 {
-  IntSetVector set;
+  IntVectorSet set;
   EXPECT_EQ(set.size(), 0);
   set.add(5);
   EXPECT_EQ(set.size(), 1);
@@ -65,26 +65,26 @@ TEST(set_vector, AddExistingDoesNotIncreaseSize)
   EXPECT_EQ(set.size(), 1);
 }
 
-TEST(set_vector, Index)
+TEST(vector_set, Index)
 {
-  IntSetVector set = {3, 6, 4};
+  IntVectorSet set = {3, 6, 4};
   EXPECT_EQ(set.index(6), 1);
   EXPECT_EQ(set.index(3), 0);
   EXPECT_EQ(set.index(4), 2);
 }
 
-TEST(set_vector, IndexTry)
+TEST(vector_set, IndexTry)
 {
-  IntSetVector set = {3, 6, 4};
+  IntVectorSet set = {3, 6, 4};
   EXPECT_EQ(set.index_try(5), -1);
   EXPECT_EQ(set.index_try(3), 0);
   EXPECT_EQ(set.index_try(6), 1);
   EXPECT_EQ(set.index_try(2), -1);
 }
 
-TEST(set_vector, Remove)
+TEST(vector_set, Remove)
 {
-  IntSetVector set = {4, 5, 6, 7};
+  IntVectorSet set = {4, 5, 6, 7};
   EXPECT_EQ(set.size(), 4);
   set.remove(5);
   EXPECT_EQ(set.size(), 3);
@@ -102,9 +102,9 @@ TEST(set_vector, Remove)
   EXPECT_EQ(set.size(), 0);
 }
 
-TEST(set_vector, UniquePtrValue)
+TEST(vector_set, UniquePtrValue)
 {
-  SetVector<std::unique_ptr<int>> set;
+  VectorSet<std::unique_ptr<int>> set;
   set.add_new(std::unique_ptr<int>(new int()));
   set.add(std::unique_ptr<int>(new int()));
   set.index_try(std::unique_ptr<int>(new int()));
index 1d4b0b18973d90227f3d949436e23b8bb084e6aa..1f52886132f6a51ef4f5e09edd6dd49a86dba32a 100644 (file)
@@ -61,7 +61,6 @@ BLENDER_TEST(BLI_memiter "bf_blenlib")
 BLENDER_TEST(BLI_path_util "${BLI_path_util_extra_libs}")
 BLENDER_TEST(BLI_polyfill_2d "bf_blenlib")
 BLENDER_TEST(BLI_set "bf_blenlib")
-BLENDER_TEST(BLI_set_vector "bf_blenlib")
 BLENDER_TEST(BLI_stack "bf_blenlib")
 BLENDER_TEST(BLI_stack_cxx "bf_blenlib")
 BLENDER_TEST(BLI_string "bf_blenlib")
@@ -70,6 +69,7 @@ BLENDER_TEST(BLI_string_ref "bf_blenlib")
 BLENDER_TEST(BLI_string_utf8 "bf_blenlib")
 BLENDER_TEST(BLI_task "bf_blenlib;bf_intern_numaapi")
 BLENDER_TEST(BLI_vector "bf_blenlib")
+BLENDER_TEST(BLI_vector_set "bf_blenlib")
 
 BLENDER_TEST_PERFORMANCE(BLI_ghash_performance "bf_blenlib")
 BLENDER_TEST_PERFORMANCE(BLI_task_performance "bf_blenlib")