mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-07-18 10:24:45 +00:00
ArrayRef: Remove the equals helper with many arguments.
With initializer lists there is a really neat idiomatic way to write this, 'ArrayRef.equals({1, 2, 3, 4, 5})'. Remove the equal method which always had a hard limit on the number of arguments. I considered rewriting it with variadic templates but that's not really a good fit for a function with homogeneous arguments. 'ArrayRef == {1, 2, 3, 4, 5}' would've been even more awesome, but C++11 doesn't allow init lists with binary operators. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@230907 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -57,24 +57,24 @@ TEST(ArrayRefTest, DropBack) {
|
||||
TEST(ArrayRefTest, Equals) {
|
||||
static const int A1[] = {1, 2, 3, 4, 5, 6, 7, 8};
|
||||
ArrayRef<int> AR1(A1);
|
||||
EXPECT_TRUE(AR1.equals(1, 2, 3, 4, 5, 6, 7, 8));
|
||||
EXPECT_FALSE(AR1.equals(8, 1, 2, 4, 5, 6, 6, 7));
|
||||
EXPECT_FALSE(AR1.equals(2, 4, 5, 6, 6, 7, 8, 1));
|
||||
EXPECT_FALSE(AR1.equals(0, 1, 2, 4, 5, 6, 6, 7));
|
||||
EXPECT_FALSE(AR1.equals(1, 2, 42, 4, 5, 6, 7, 8));
|
||||
EXPECT_FALSE(AR1.equals(42, 2, 3, 4, 5, 6, 7, 8));
|
||||
EXPECT_FALSE(AR1.equals(1, 2, 3, 4, 5, 6, 7, 42));
|
||||
EXPECT_FALSE(AR1.equals(1, 2, 3, 4, 5, 6, 7));
|
||||
EXPECT_FALSE(AR1.equals(1, 2, 3, 4, 5, 6, 7, 8, 9));
|
||||
EXPECT_TRUE(AR1.equals({1, 2, 3, 4, 5, 6, 7, 8}));
|
||||
EXPECT_FALSE(AR1.equals({8, 1, 2, 4, 5, 6, 6, 7}));
|
||||
EXPECT_FALSE(AR1.equals({2, 4, 5, 6, 6, 7, 8, 1}));
|
||||
EXPECT_FALSE(AR1.equals({0, 1, 2, 4, 5, 6, 6, 7}));
|
||||
EXPECT_FALSE(AR1.equals({1, 2, 42, 4, 5, 6, 7, 8}));
|
||||
EXPECT_FALSE(AR1.equals({42, 2, 3, 4, 5, 6, 7, 8}));
|
||||
EXPECT_FALSE(AR1.equals({1, 2, 3, 4, 5, 6, 7, 42}));
|
||||
EXPECT_FALSE(AR1.equals({1, 2, 3, 4, 5, 6, 7}));
|
||||
EXPECT_FALSE(AR1.equals({1, 2, 3, 4, 5, 6, 7, 8, 9}));
|
||||
|
||||
ArrayRef<int> AR1a = AR1.drop_back();
|
||||
EXPECT_TRUE(AR1a.equals(1, 2, 3, 4, 5, 6, 7));
|
||||
EXPECT_FALSE(AR1a.equals(1, 2, 3, 4, 5, 6, 7, 8));
|
||||
EXPECT_TRUE(AR1a.equals({1, 2, 3, 4, 5, 6, 7}));
|
||||
EXPECT_FALSE(AR1a.equals({1, 2, 3, 4, 5, 6, 7, 8}));
|
||||
|
||||
ArrayRef<int> AR1b = AR1a.slice(2, 4);
|
||||
EXPECT_TRUE(AR1b.equals(3, 4, 5, 6));
|
||||
EXPECT_FALSE(AR1b.equals(2, 3, 4, 5, 6));
|
||||
EXPECT_FALSE(AR1b.equals(3, 4, 5, 6, 7));
|
||||
EXPECT_TRUE(AR1b.equals({3, 4, 5, 6}));
|
||||
EXPECT_FALSE(AR1b.equals({2, 3, 4, 5, 6}));
|
||||
EXPECT_FALSE(AR1b.equals({3, 4, 5, 6, 7}));
|
||||
}
|
||||
|
||||
TEST(ArrayRefTest, EmptyEquals) {
|
||||
|
Reference in New Issue
Block a user