10 #include <CTraitsTest.h> 11 #include <gtest/gtest.h> 21 template class mrpt::CTraitsTest<vwsso_t>;
23 TEST(vector_with_small_size_optimization, Empty)
27 EXPECT_TRUE(
v.empty());
28 EXPECT_TRUE(
v.size() == 0);
31 TEST(vector_with_small_size_optimization, ResizeSize)
38 EXPECT_FALSE(
v.empty());
39 EXPECT_EQ(
v.size(),
n);
47 EXPECT_FALSE(
v.empty());
48 EXPECT_EQ(
v.size(),
n);
52 TEST(vector_with_small_size_optimization, ResizeWriteRead)
60 for (
size_t i = 0; i <
n; i++)
v[i] = i;
61 for (
size_t i = 0; i <
n; i++) EXPECT_EQ(
v[i], i);
69 for (
size_t i = 0; i <
n; i++)
v[i] = i;
70 for (
size_t i = 0; i <
n; i++) EXPECT_EQ(
v[i], i);
74 TEST(vector_with_small_size_optimization, ResizeWriteReadIterators)
82 for (
size_t i = 0; i <
n; i++)
v[i] = i;
85 for (
const auto&
val :
v)
97 for (
size_t i = 0; i <
n; i++)
v[i] = i;
99 for (
const auto&
val :
v)
107 TEST(vector_with_small_size_optimization, GrowCheckContents)
115 for (
size_t i = 0; i <
n; i++) EXPECT_EQ(
v[i], i) <<
"n=" <<
n;
119 TEST(vector_with_small_size_optimization, ShrinkCheckContents)
123 for (
size_t i = 0; i <
v.size(); i++)
v[i] = i;
127 v.resize(
v.size() - 1);
129 for (
size_t i = 0; i <
v.size(); i++)
130 EXPECT_EQ(
v[i], i) <<
"size()=" <<
v.size();
134 TEST(vector_with_small_size_optimization, GrowCheckFrontBack)
140 EXPECT_EQ(&
v[0], &
v.front()) <<
"n=" <<
n;
141 EXPECT_EQ(&
v[
n - 1], &
v.back()) <<
"n=" <<
n;
Container that transparently and dynamically switches between a std::array and std::vector.
constexpr size_t SMALL_LEN
TEST(vector_with_small_size_optimization, Empty)