diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-08-19 17:48:28 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-08-19 17:48:28 +0000 |
commit | ce6ced48cea695b57c2ea292a97764fc8fd4aa2f (patch) | |
tree | 07fc575b0ec55a5af765e6a46b4819e28eecfc39 /unittests/ADT/SmallVectorTest.cpp | |
parent | d46735efc3929f36a6737b2a4b410b62f9a2291f (diff) | |
download | external_llvm-ce6ced48cea695b57c2ea292a97764fc8fd4aa2f.zip external_llvm-ce6ced48cea695b57c2ea292a97764fc8fd4aa2f.tar.gz external_llvm-ce6ced48cea695b57c2ea292a97764fc8fd4aa2f.tar.bz2 |
Add SmallVector::{capacity,set_size}.
- These allow clients to make use of the extra elements in the vector which
have already been allocated, without requiring them to be value initialized.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79433 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'unittests/ADT/SmallVectorTest.cpp')
-rw-r--r-- | unittests/ADT/SmallVectorTest.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/unittests/ADT/SmallVectorTest.cpp b/unittests/ADT/SmallVectorTest.cpp index addd904..8a81796 100644 --- a/unittests/ADT/SmallVectorTest.cpp +++ b/unittests/ADT/SmallVectorTest.cpp @@ -381,4 +381,22 @@ TEST_F(SmallVectorTest, ConstVectorTest) { EXPECT_TRUE(constVector.begin() == constVector.end()); } +// Direct array access. +TEST_F(SmallVectorTest, DirectVectorTest) { + EXPECT_EQ(0u, theVector.size()); + EXPECT_EQ(4u, theVector.capacity()); + EXPECT_EQ(0, Constructable::getNumConstructorCalls()); + theVector.end()[0] = 1; + theVector.end()[1] = 2; + theVector.end()[2] = 3; + theVector.end()[3] = 4; + theVector.set_size(4); + EXPECT_EQ(4u, theVector.size()); + EXPECT_EQ(4, Constructable::getNumConstructorCalls()); + EXPECT_EQ(1, theVector[0].getValue()); + EXPECT_EQ(2, theVector[1].getValue()); + EXPECT_EQ(3, theVector[2].getValue()); + EXPECT_EQ(4, theVector[3].getValue()); +} + } |