Commit: ab136cb18889392d111dee788eb1707a80b942d9 Author: Jacques Lucke Date: Thu Jun 27 13:59:18 2019 +0200 Branches: functions https://developer.blender.org/rBab136cb18889392d111dee788eb1707a80b942d9
size-value constructor for SmallVector =================================================================== M source/blender/blenlib/BLI_small_vector.hpp M tests/gtests/blenlib/BLI_small_vector_test.cc =================================================================== diff --git a/source/blender/blenlib/BLI_small_vector.hpp b/source/blender/blenlib/BLI_small_vector.hpp index 19d15e7670d..4823b1dfb1a 100644 --- a/source/blender/blenlib/BLI_small_vector.hpp +++ b/source/blender/blenlib/BLI_small_vector.hpp @@ -77,6 +77,16 @@ template<typename T, uint N = 4> class SmallVector { m_size = size; } + /** + * Create a vector filled with a specific value. + */ + SmallVector(uint size, const T &value) : SmallVector() + { + this->reserve(size); + std::fill_n(m_elements, size, value); + m_size = size; + } + /** * Create a vector from an initializer list. */ diff --git a/tests/gtests/blenlib/BLI_small_vector_test.cc b/tests/gtests/blenlib/BLI_small_vector_test.cc index 5cb0d23461e..c38597128ec 100644 --- a/tests/gtests/blenlib/BLI_small_vector_test.cc +++ b/tests/gtests/blenlib/BLI_small_vector_test.cc @@ -18,6 +18,16 @@ TEST(small_vector, SizeConstructor) EXPECT_EQ(vec[2], 0); } +TEST(small_vector, SizeValueConstructor) +{ + IntVector vec(4, 10); + EXPECT_EQ(vec.size(), 4); + EXPECT_EQ(vec[0], 10); + EXPECT_EQ(vec[1], 10); + EXPECT_EQ(vec[2], 10); + EXPECT_EQ(vec[3], 10); +} + TEST(small_vector, InitializerListConstructor) { IntVector vec = {1, 3, 4, 6}; _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs