mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-24 06:25:18 +00:00
SmallVector: Allow initialization and assignment from initializer_list.
Modeled after std::vector. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@231015 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
#include "llvm/ADT/ArrayRef.h"
|
||||
#include "llvm/ADT/SmallVector.h"
|
||||
#include "llvm/Support/Compiler.h"
|
||||
#include "gtest/gtest.h"
|
||||
@@ -906,4 +907,22 @@ TEST(SmallVectorTest, EmplaceBack) {
|
||||
}
|
||||
}
|
||||
|
||||
TEST(SmallVectorTest, InitializerList) {
|
||||
SmallVector<int, 2> V1 = {};
|
||||
EXPECT_TRUE(V1.empty());
|
||||
V1 = {0, 0};
|
||||
EXPECT_TRUE(makeArrayRef(V1).equals({0, 0}));
|
||||
V1 = {-1, -1};
|
||||
EXPECT_TRUE(makeArrayRef(V1).equals({-1, -1}));
|
||||
|
||||
SmallVector<int, 2> V2 = {1, 2, 3, 4};
|
||||
EXPECT_TRUE(makeArrayRef(V2).equals({1, 2, 3, 4}));
|
||||
V2.assign({4});
|
||||
EXPECT_TRUE(makeArrayRef(V2).equals({4}));
|
||||
V2.append({3, 2});
|
||||
EXPECT_TRUE(makeArrayRef(V2).equals({4, 3, 2}));
|
||||
V2.insert(V2.begin() + 1, 5);
|
||||
EXPECT_TRUE(makeArrayRef(V2).equals({4, 5, 3, 2}));
|
||||
}
|
||||
|
||||
} // end namespace
|
||||
|
Reference in New Issue
Block a user