Lines Matching defs:vector

56   DynamicVector<int> vector;
57 EXPECT_EQ(vector.data(), nullptr);
58 EXPECT_TRUE(vector.empty());
59 EXPECT_EQ(vector.size(), 0);
60 EXPECT_EQ(vector.capacity(), 0);
61 vector.clear();
65 DynamicVector<int> vector;
66 ASSERT_TRUE(vector.push_back(0x1337));
67 EXPECT_EQ(vector.size(), 1);
68 EXPECT_EQ(vector.capacity(), 1);
69 EXPECT_EQ(vector.data(), &vector[0]);
70 EXPECT_FALSE(vector.empty());
71 EXPECT_EQ(vector[0], 0x1337);
75 DynamicVector<int> vector;
76 ASSERT_TRUE(vector.emplace_back(0x1337));
77 ASSERT_TRUE(vector.push_back(0xface));
79 ASSERT_TRUE(vector.push_back(std::move(x)));
80 ASSERT_TRUE(vector.insert(vector.size(), 0xd00d));
81 EXPECT_EQ(vector.size(), 4);
82 EXPECT_EQ(vector.capacity(), 4);
83 EXPECT_EQ(vector[0], 0x1337);
84 EXPECT_EQ(vector[1], 0xface);
85 EXPECT_EQ(vector[2], 0xcafe);
86 EXPECT_EQ(vector[3], 0xd00d);
88 ASSERT_TRUE(vector.reserve(8));
89 EXPECT_EQ(vector.size(), 4);
90 EXPECT_EQ(vector.capacity(), 8);
91 EXPECT_EQ(vector[0], 0x1337);
92 EXPECT_EQ(vector[1], 0xface);
93 EXPECT_EQ(vector[2], 0xcafe);
94 EXPECT_EQ(vector[3], 0xd00d);
142 DynamicVector<MovableButNonCopyable> vector;
143 ASSERT_TRUE(vector.emplace_back(0x1337));
144 ASSERT_TRUE(vector.emplace_back(0xface));
146 ASSERT_TRUE(vector.push_back(std::move(mbnc)));
149 ASSERT_TRUE(vector.insert(vector.size(), std::move(mbnc2)));
152 ASSERT_TRUE(vector.reserve(8));
153 EXPECT_EQ(vector[0].getValue(), 0x1337);
154 EXPECT_EQ(vector[1].getValue(), 0xface);
155 EXPECT_EQ(vector[2].getValue(), 0xcafe);
156 EXPECT_EQ(vector[3].getValue(), 0xd00d);
157 EXPECT_EQ(vector.size(), 4);
158 EXPECT_EQ(vector.capacity(), 8);
188 DynamicVector<CopyableButNonMovable> vector;
189 ASSERT_TRUE(vector.emplace_back(0x1337));
190 ASSERT_TRUE(vector.emplace_back(0xface));
192 ASSERT_TRUE(vector.push_back(cbnm));
194 ASSERT_TRUE(vector.insert(vector.size(), cbnm2));
196 ASSERT_TRUE(vector.reserve(8));
197 EXPECT_EQ(vector[0].getValue(), 0x1337);
198 EXPECT_EQ(vector[1].getValue(), 0xface);
199 EXPECT_EQ(vector[2].getValue(), 0xcafe);
200 EXPECT_EQ(vector[3].getValue(), 0xd00d);
201 EXPECT_EQ(vector.size(), 4);
202 EXPECT_EQ(vector.capacity(), 8);
243 DynamicVector<MovableAndCopyable> vector;
246 ASSERT_TRUE(vector.reserve(2));
247 ASSERT_TRUE(vector.emplace_back(1000));
248 ASSERT_TRUE(vector.emplace_back(2000));
251 ASSERT_TRUE(vector.reserve(4));
255 EXPECT_EQ(vector[0].getValue(), 2000);
256 EXPECT_EQ(vector[1].getValue(), 4000);
301 DynamicVector<Foo> vector;
302 ASSERT_TRUE(vector.emplace_back(1000));
303 ASSERT_TRUE(vector.emplace_back(2000));
304 ASSERT_TRUE(vector.emplace_back(3000));
305 ASSERT_TRUE(vector.emplace_back(4000));
307 ASSERT_EQ(vector[0].value, 1000);
308 ASSERT_EQ(vector[1].value, 2000);
309 ASSERT_EQ(vector[2].value, 3000);
310 ASSERT_EQ(vector[3].value, 4000);
319 DynamicVector<int> vector;
320 EXPECT_CHRE_ASSERT(EXPECT_FALSE(vector.insert(1, 0x1337)));
322 // Insert to empty vector
323 ASSERT_TRUE(vector.insert(0, 0x1337));
324 EXPECT_EQ(vector[0], 0x1337);
327 ASSERT_EQ(vector.capacity(), 1);
328 EXPECT_TRUE(vector.insert(1, 0xface));
329 EXPECT_EQ(vector[0], 0x1337);
330 EXPECT_EQ(vector[1], 0xface);
333 ASSERT_EQ(vector.capacity(), 2);
334 EXPECT_TRUE(vector.insert(0, 0xcafe));
335 EXPECT_EQ(vector[0], 0xcafe);
336 EXPECT_EQ(vector[1], 0x1337);
337 EXPECT_EQ(vector[2], 0xface);
340 ASSERT_EQ(vector.capacity(), 4);
341 EXPECT_TRUE(vector.insert(1, 0xdead));
342 EXPECT_EQ(vector[0], 0xcafe);
343 EXPECT_EQ(vector[1], 0xdead);
344 EXPECT_EQ(vector[2], 0x1337);
345 EXPECT_EQ(vector[3], 0xface);
348 ASSERT_EQ(vector.capacity(), 4);
349 EXPECT_TRUE(vector.insert(2, 0xbeef));
350 EXPECT_EQ(vector[0], 0xcafe);
351 EXPECT_EQ(vector[1], 0xdead);
352 EXPECT_EQ(vector[2], 0xbeef);
353 EXPECT_EQ(vector[3], 0x1337);
354 EXPECT_EQ(vector[4], 0xface);
357 ASSERT_EQ(vector.capacity(), 8);
358 ASSERT_EQ(vector.size(), 5);
359 EXPECT_TRUE(vector.insert(0, 0xabad));
360 EXPECT_EQ(vector[0], 0xabad);
361 EXPECT_EQ(vector[1], 0xcafe);
362 EXPECT_EQ(vector[2], 0xdead);
363 EXPECT_EQ(vector[3], 0xbeef);
364 EXPECT_EQ(vector[4], 0x1337);
365 EXPECT_EQ(vector[5], 0xface);
368 ASSERT_EQ(vector.size(), 6);
369 EXPECT_TRUE(vector.insert(vector.size(), 0xc0de));
370 EXPECT_EQ(vector[0], 0xabad);
371 EXPECT_EQ(vector[1], 0xcafe);
372 EXPECT_EQ(vector[2], 0xdead);
373 EXPECT_EQ(vector[3], 0xbeef);
374 EXPECT_EQ(vector[4], 0x1337);
375 EXPECT_EQ(vector[5], 0xface);
376 EXPECT_EQ(vector[6], 0xc0de);
380 DynamicVector<int> vector;
381 ASSERT_TRUE(vector.push_back(0x1337));
382 ASSERT_TRUE(vector.push_back(0xface));
383 ASSERT_TRUE(vector.push_back(0xcafe));
384 ASSERT_TRUE(vector.insert(1, 0xbeef));
386 ASSERT_EQ(vector[0], 0x1337);
387 ASSERT_EQ(vector[1], 0xbeef);
388 ASSERT_EQ(vector[2], 0xface);
389 ASSERT_EQ(vector[3], 0xcafe);
393 DynamicVector<int> vector;
394 ASSERT_TRUE(vector.push_back(0x1337));
395 ASSERT_TRUE(vector.push_back(0xcafe));
396 ASSERT_TRUE(vector.push_back(0xbeef));
397 ASSERT_TRUE(vector.push_back(0xface));
399 vector.erase(1);
401 ASSERT_EQ(vector[0], 0x1337);
402 ASSERT_EQ(vector[1], 0xbeef);
403 ASSERT_EQ(vector[2], 0xface);
404 ASSERT_EQ(vector.size(), 3);
408 DynamicVector<int> vector;
409 ASSERT_EQ(vector.find(0), 0);
413 DynamicVector<int> vector;
414 ASSERT_TRUE(vector.push_back(0x1337));
415 ASSERT_TRUE(vector.push_back(0xcafe));
416 ASSERT_TRUE(vector.push_back(0xbeef));
418 ASSERT_EQ(vector.find(0x1337), 0);
419 ASSERT_EQ(vector.find(0xcafe), 1);
420 ASSERT_EQ(vector.find(0xbeef), 2);
421 ASSERT_EQ(vector.find(1000), 3);
427 DynamicVector<Dummy> vector;
428 vector.reserve(4);
430 vector.emplace_back();
431 vector[i].setValue(i);
435 vector.erase(1);
442 vector.erase(2);
449 vector.erase(0);
459 DynamicVector<Dummy> vector;
460 vector.reserve(4);
462 vector.emplace_back();
463 vector[i].setValue(i);
466 vector.clear();
467 EXPECT_EQ(vector.size(), 0);
468 EXPECT_EQ(vector.capacity(), 4);
475 // Make sure that a vector wrapping an array doesn't call the destructor when
476 // the vector is destructed
486 DynamicVector<Dummy> vector;
487 vector.wrap(array, ARRAY_SIZE(array));
495 // Make sure that a wrapped vector does call the destructor when it's expected
507 DynamicVector<Dummy> vector;
508 vector.wrap(array, ARRAY_SIZE(array));
510 vector.erase(kSize - 1);
516 vector.clear();
523 DynamicVector<int> vector;
524 vector.push_back(0x1337);
525 vector.push_back(0xcafe);
526 EXPECT_DEATH(vector.swap(0, 2), "");
530 DynamicVector<int> vector;
531 vector.push_back(0x1337);
532 vector.push_back(0xcafe);
533 EXPECT_DEATH(vector.swap(2, 3), "");
537 DynamicVector<int> vector;
538 vector.push_back(0x1337);
539 vector.push_back(0xcafe);
541 vector.swap(0, 1);
542 EXPECT_EQ(vector[0], 0xcafe);
543 EXPECT_EQ(vector[1], 0x1337);
547 DynamicVector<int> vector;
548 vector.push_back(0x1337);
549 EXPECT_EQ(vector.front(), 0x1337);
550 EXPECT_EQ(vector.back(), 0x1337);
551 vector.push_back(0xcafe);
552 EXPECT_EQ(vector.front(), 0x1337);
553 EXPECT_EQ(vector.back(), 0xcafe);
554 vector.erase(0);
555 EXPECT_EQ(vector.front(), 0xcafe);
556 EXPECT_EQ(vector.back(), 0xcafe);
560 DynamicVector<int> vector;
561 vector.push_back(0);
562 vector.push_back(1);
563 vector.push_back(2);
566 for (DynamicVector<int>::iterator it = vector.begin();
567 it != vector.end(); ++it) {
568 EXPECT_EQ(vector[index++], *it);
571 DynamicVector<int>::iterator it = vector.begin() + vector.size() - 1;
572 EXPECT_EQ(vector[vector.size() - 1], *it);
574 it = vector.begin() + vector.size();
575 EXPECT_TRUE(it == vector.end());
579 DynamicVector<int> vector;
580 vector.push_back(0);
581 vector.push_back(1);
582 vector.push_back(2);
585 for (DynamicVector<int>::const_iterator cit = vector.cbegin();
586 cit != vector.cend(); ++cit) {
587 EXPECT_EQ(vector[index++], *cit);
590 DynamicVector<int>::const_iterator cit = vector.cbegin() + vector.size() - 1;
591 EXPECT_EQ(vector[vector.size() - 1], *cit);
593 cit = vector.cbegin() + vector.size();
594 EXPECT_TRUE(cit == vector.cend());
598 DynamicVector<int> vector;
599 vector.push_back(0);
600 vector.push_back(1);
601 vector.push_back(2);
602 size_t oldCapacity = vector.capacity();
604 DynamicVector<int>::iterator it_b = vector.begin();
605 DynamicVector<int>::iterator it_e = vector.end();
607 vector.push_back(3);
608 ASSERT_TRUE(oldCapacity == vector.capacity());
612 EXPECT_EQ(vector[index++], *it_b);
617 DynamicVector<int> vector;
618 vector.push_back(0);
619 vector.push_back(1);
620 vector.push_back(2);
621 size_t oldCapacity = vector.capacity();
623 DynamicVector<int>::iterator it_b = vector.begin();
624 DynamicVector<int>::iterator it_e = vector.end();
626 vector.emplace_back(3);
627 ASSERT_TRUE(oldCapacity == vector.capacity());
631 EXPECT_EQ(vector[index++], *it_b);
636 DynamicVector<int> vector;
637 vector.push_back(0);
638 vector.push_back(1);
639 vector.push_back(2);
640 size_t oldCapacity = vector.capacity();
642 DynamicVector<int>::iterator it_b = vector.begin();
643 DynamicVector<int>::iterator it_e = vector.end();
645 vector.reserve(oldCapacity);
646 ASSERT_TRUE(oldCapacity == vector.capacity());
650 EXPECT_EQ(vector[index++], *it_b);
655 DynamicVector<int> vector;
656 vector.push_back(0);
657 vector.push_back(1);
658 vector.push_back(2);
659 size_t oldCapacity = vector.capacity();
661 DynamicVector<int>::iterator it_b = vector.begin();
663 vector.insert(2, 3);
664 ASSERT_TRUE(oldCapacity == vector.capacity());
668 EXPECT_EQ(vector[index++], *it_b++);
673 DynamicVector<int> vector;
674 vector.push_back(0);
675 vector.push_back(1);
676 vector.push_back(2);
678 DynamicVector<int>::iterator it_b = vector.begin();
680 vector.erase(2);
684 EXPECT_EQ(vector[index++], *it_b++);
689 DynamicVector<int> vector;
690 vector.push_back(0);
691 vector.push_back(1);
692 vector.push_back(2);
693 vector.push_back(3);
695 DynamicVector<int>::iterator it_b = vector.begin();
697 vector.swap(1, 3);
702 EXPECT_EQ(vector[index], *it_b);
710 DynamicVector<int> vector;
711 ASSERT_TRUE(vector.push_back(0));
712 ASSERT_TRUE(vector.push_back(1));
713 ASSERT_TRUE(vector.push_back(2));
715 DynamicVector<int> movedVector(std::move(vector));
716 EXPECT_EQ(vector.data(), nullptr);
718 EXPECT_EQ(vector.size(), 0);
720 EXPECT_EQ(vector.capacity(), 0);
725 DynamicVector<int> vector;
726 ASSERT_TRUE(vector.push_back(0));
727 ASSERT_TRUE(vector.push_back(1));
728 ASSERT_TRUE(vector.push_back(2));
731 movedVector = std::move(vector);
732 EXPECT_EQ(vector.data(), nullptr);
734 EXPECT_EQ(vector.size(), 0);
736 EXPECT_EQ(vector.capacity(), 0);
740 // Tests basic functionality of a vector wrapping an array
748 DynamicVector<int> vector;
749 EXPECT_TRUE(vector.owns_data());
750 vector.wrap(buf, kSize);
751 EXPECT_FALSE(vector.owns_data());
752 EXPECT_EQ(vector.size(), kSize);
753 EXPECT_EQ(vector.capacity(), kSize);
754 EXPECT_EQ(vector.data(), buf);
756 EXPECT_CHRE_ASSERT(EXPECT_FALSE(vector.reserve(8)));
757 EXPECT_CHRE_ASSERT(EXPECT_FALSE(vector.push_back(-1)));
758 EXPECT_CHRE_ASSERT(EXPECT_FALSE(vector.emplace_back(-1)));
759 EXPECT_CHRE_ASSERT(EXPECT_FALSE(vector.insert(1, -1)));
760 EXPECT_CHRE_ASSERT(EXPECT_FALSE(vector.copy_array(buf, kSize)));
763 EXPECT_EQ(vector[i], i);
766 vector.erase(0);
768 EXPECT_EQ(vector[i], i + 1);
771 EXPECT_TRUE(vector.push_back(kSize + 1));
772 EXPECT_EQ(vector.back(), kSize + 1);
882 DynamicVector<int> vector;
883 EXPECT_EQ(vector.size(), 0);
884 EXPECT_EQ(vector.capacity(), 0);
887 ASSERT_TRUE(vector.prepareForPush());
888 EXPECT_EQ(vector.size(), 0);
889 EXPECT_EQ(vector.capacity(), 1);
890 ASSERT_TRUE(vector.push_back(0xcafe));
891 EXPECT_EQ(vector.size(), 1);
892 EXPECT_EQ(vector.capacity(), 1);
895 ASSERT_TRUE(vector.prepareForPush());
896 EXPECT_EQ(vector[0], 0xcafe);
897 EXPECT_EQ(vector.size(), 1);
898 EXPECT_EQ(vector.capacity(), 2);
900 // The vector should not become any larger than necessary.
901 ASSERT_TRUE(vector.prepareForPush());
902 EXPECT_EQ(vector[0], 0xcafe);
903 EXPECT_EQ(vector.size(), 1);
904 EXPECT_EQ(vector.capacity(), 2);
908 DynamicVector<int> vector;
909 ASSERT_FALSE(vector.reserve(SIZE_MAX));
913 DynamicVector<int> vector;
916 vector.push_back(i);
920 EXPECT_EQ(vector.back(), i);
921 vector.pop_back();
923 EXPECT_TRUE(vector.empty());
939 DynamicVector<FancyInt> vector;
940 ASSERT_TRUE(vector.resize(4));
941 ASSERT_EQ(vector.size(), 4);
943 EXPECT_EQ(vector[0].value, 0);
944 EXPECT_EQ(vector[1].value, 1);
945 EXPECT_EQ(vector[2].value, 2);
946 EXPECT_EQ(vector[3].value, 3);
948 ASSERT_TRUE(vector.resize(2));
949 ASSERT_EQ(vector.size(), 2);
951 EXPECT_EQ(vector[0].value, 0);
952 EXPECT_EQ(vector[1].value, 1);
954 ASSERT_TRUE(vector.resize(4));
955 ASSERT_EQ(vector.size(), 4);
957 EXPECT_EQ(vector[0].value, 0);
958 EXPECT_EQ(vector[1].value, 1);
959 EXPECT_EQ(vector[2].value, 4);
960 EXPECT_EQ(vector[3].value, 5);