Lines Matching full:queue
35 InlineQueue<int, 3> queue; in TEST() local
36 EXPECT_TRUE(queue.empty()); in TEST()
37 EXPECT_EQ(queue.size(), 0u); in TEST()
38 EXPECT_EQ(queue.max_size(), 3u); in TEST()
43 InlineQueue<int>& queue(sized_queue); in TEST() local
44 EXPECT_TRUE(queue.empty()); in TEST()
45 EXPECT_EQ(queue.size(), 0u); in TEST()
46 EXPECT_EQ(queue.max_size(), 3u); in TEST()
50 InlineQueue<CopyOnly, 4> queue(4, CopyOnly(123)); in TEST() local
51 InlineQueue<CopyOnly, 4> copied(queue); in TEST()
53 EXPECT_EQ(4u, queue.size()); in TEST()
54 EXPECT_EQ(123, queue[3].value); in TEST()
61 InlineQueue<CopyOnly, 4> queue(4, CopyOnly(123)); in TEST() local
62 InlineQueue<CopyOnly, 5> copied(queue); in TEST()
64 EXPECT_EQ(4u, queue.size()); in TEST()
65 EXPECT_EQ(123, queue[3].value); in TEST()
72 InlineQueue<CopyOnly, 4> queue(3, CopyOnly(123)); in TEST() local
73 InlineQueue<CopyOnly, 3> copied(queue); in TEST()
75 EXPECT_EQ(3u, queue.size()); in TEST()
76 EXPECT_EQ(123, queue[2].value); in TEST()
83 InlineQueue<MoveOnly, 4> queue; in TEST() local
84 queue.emplace(MoveOnly(1)); in TEST()
85 queue.emplace(MoveOnly(2)); in TEST()
86 queue.emplace(MoveOnly(3)); in TEST()
87 queue.emplace(MoveOnly(4)); in TEST()
88 InlineQueue<MoveOnly, 4> moved(std::move(queue)); in TEST()
91 EXPECT_EQ(0u, queue.size()); in TEST()
98 InlineQueue<MoveOnly, 4> queue; in TEST() local
99 queue.emplace(MoveOnly(1)); in TEST()
100 queue.emplace(MoveOnly(2)); in TEST()
101 queue.emplace(MoveOnly(3)); in TEST()
102 queue.emplace(MoveOnly(4)); in TEST()
103 InlineQueue<MoveOnly, 5> moved(std::move(queue)); in TEST()
106 EXPECT_EQ(0u, queue.size()); in TEST()
113 InlineQueue<MoveOnly, 4> queue; in TEST() local
114 queue.emplace(MoveOnly(1)); in TEST()
115 queue.emplace(MoveOnly(2)); in TEST()
116 queue.emplace(MoveOnly(3)); in TEST()
117 InlineQueue<MoveOnly, 3> moved(std::move(queue)); in TEST()
120 EXPECT_EQ(0u, queue.size()); in TEST()
129 InlineQueue<Counter, 0> queue; in TEST() local
130 EXPECT_EQ(queue.size(), 0u); in TEST()
140 InlineQueue<Counter, 3> queue; in TEST() local
141 EXPECT_EQ(queue.size(), 0u); in TEST()
152 InlineQueue<Counter, 128> queue(100, value); in TEST() local
160 InlineQueue<int, 4> queue = {1, 3, 5, 7}; in TEST() local
162 EXPECT_EQ(4u, queue.size()); in TEST()
164 EXPECT_EQ(1, queue[0]); in TEST()
165 EXPECT_EQ(3, queue[1]); in TEST()
166 EXPECT_EQ(5, queue[2]); in TEST()
167 EXPECT_EQ(7, queue[3]); in TEST()
171 InlineQueue<CopyOnly, 4> queue(4, CopyOnly(123)); in TEST() local
172 InlineQueue<CopyOnly, 4> copied = queue; in TEST()
174 EXPECT_EQ(4u, queue.size()); in TEST()
175 EXPECT_EQ(123, queue[3].value); in TEST()
182 InlineQueue<CopyOnly, 4> queue(4, CopyOnly(123)); in TEST() local
183 InlineQueue<CopyOnly, 5> copied = queue; in TEST()
185 EXPECT_EQ(4u, queue.size()); in TEST()
186 EXPECT_EQ(123, queue[3].value); in TEST()
193 InlineQueue<CopyOnly, 4> queue(3, CopyOnly(123)); in TEST() local
194 InlineQueue<CopyOnly, 3> copied = queue; in TEST()
196 EXPECT_EQ(3u, queue.size()); in TEST()
197 EXPECT_EQ(123, queue[2].value); in TEST()
204 InlineQueue<Counter, 2> queue(2); in TEST() local
205 for (Counter& item : queue) { in TEST()
208 for (const Counter& item : queue) { in TEST()
214 const InlineQueue<Counter, 2> queue(2); in TEST() local
215 for (const Counter& item : queue) { in TEST()
221 InlineQueue<Counter, 0> queue; in TEST() local
223 EXPECT_EQ(0u, queue.size()); in TEST()
224 EXPECT_EQ(0u, queue.max_size()); in TEST()
225 EXPECT_TRUE(queue.empty()); in TEST()
226 EXPECT_TRUE(queue.full()); in TEST()
228 for (Counter& item : queue) { in TEST()
236 InlineQueue<int, 2> queue; in TEST() local
239 auto [first, second] = queue.contiguous_data(); in TEST()
245 queue.push(1); in TEST()
247 auto [first, second] = queue.contiguous_data(); in TEST()
253 queue.push(2); in TEST()
254 EXPECT_TRUE(queue.full()); in TEST()
256 auto [first, second] = queue.contiguous_data(); in TEST()
262 queue.pop(); in TEST()
264 auto [first, second] = queue.contiguous_data(); in TEST()
270 queue.push(1); in TEST()
272 auto [first, second] = queue.contiguous_data(); in TEST()
278 queue.pop(); in TEST()
280 auto [first, second] = queue.contiguous_data(); in TEST()
286 queue.push(2); in TEST()
288 auto [first, second] = queue.contiguous_data(); in TEST()
296 const InlineQueue<int, 2> queue = {1, 2}; in TEST() local
299 auto [first, second] = queue.contiguous_data(); in TEST()
308 InlineQueue<Counter, 100> queue; in TEST() local
309 queue.emplace(); in TEST()
310 queue.emplace(); in TEST()
311 queue.emplace(); in TEST()
313 queue.clear(); in TEST()
324 InlineQueue<Counter, 10> queue; in TEST() local
325 queue.push(value); in TEST()
327 EXPECT_EQ(queue.size(), 1u); in TEST()
328 EXPECT_EQ(queue.front().value, 99); in TEST()
340 InlineQueue<Counter, 10> queue; in TEST() local
341 queue.push(std::move(value)); in TEST()
343 EXPECT_EQ(queue.size(), 1u); in TEST()
344 EXPECT_EQ(queue.front().value, 99); in TEST()
358 InlineQueue<Counter, 10> queue; in TEST() local
359 queue.emplace(314); in TEST()
361 EXPECT_EQ(queue.size(), 1u); in TEST()
362 EXPECT_EQ(queue.front().value, 314); in TEST()
372 InlineQueue<Counter, 2> queue(2); in TEST() local
373 queue.push_overwrite(1); in TEST()
374 queue.emplace_overwrite(2); in TEST()
376 EXPECT_EQ(queue.size(), 2u); in TEST()
377 EXPECT_EQ(queue.front().value, 1); in TEST()
378 EXPECT_EQ(queue.back().value, 2); in TEST()
386 InlineQueue<Counter, 3> queue; in TEST() local
387 queue.emplace(1); in TEST()
388 queue.emplace(2); in TEST()
389 queue.emplace(3); in TEST()
391 ASSERT_EQ(queue.size(), 3u); in TEST()
392 EXPECT_EQ(queue[0].value, 1); in TEST()
393 EXPECT_EQ(queue[1].value, 2); in TEST()
394 EXPECT_EQ(queue[2].value, 3); in TEST()
396 queue.pop(); in TEST()
397 queue.emplace(4); in TEST()
399 ASSERT_EQ(queue.size(), 3u); in TEST()
400 EXPECT_EQ(queue[0].value, 2); in TEST()
401 EXPECT_EQ(queue[1].value, 3); in TEST()
402 EXPECT_EQ(queue[2].value, 4); in TEST()
412 InlineQueue<Counter, 3> queue; in TEST() local
413 queue.emplace(0); in TEST()
414 queue.pop(); in TEST()
415 queue.emplace(0); in TEST()
416 queue.pop(); in TEST()
417 queue.emplace(1); // This wraps to the other end. in TEST()
418 queue.emplace(2); // This is the first entry in storage. in TEST()
419 queue.emplace(3); in TEST()
422 ASSERT_EQ(queue.size(), 3u); in TEST()
423 EXPECT_EQ(queue[0].value, 1); in TEST()
424 EXPECT_EQ(queue[1].value, 2); in TEST()
425 EXPECT_EQ(queue[2].value, 3); in TEST()
428 queue.pop(); in TEST()
431 EXPECT_EQ(queue.size(), 2u); in TEST()
432 EXPECT_EQ(queue[0].value, 2); in TEST()
433 EXPECT_EQ(queue[1].value, 3); in TEST()
435 queue.pop(); in TEST()
437 ASSERT_EQ(queue.size(), 1u); in TEST()
438 EXPECT_EQ(queue[0].value, 3); in TEST()
445 InlineQueue<int, 10> queue({1, 2, 3, 4, 5}); in TEST() local
446 InlineQueue<int>& generic_queue(queue); in TEST()
448 EXPECT_EQ(generic_queue.size(), queue.size()); in TEST()
449 EXPECT_EQ(generic_queue.max_size(), queue.max_size()); in TEST()
452 for (int value : queue) { in TEST()
459 EXPECT_EQ(queue[i], value); in TEST()
465 InlineQueue<int, 10> queue; in TEST() local
466 constexpr size_t kMaxSize = queue.max_size(); in TEST()
467 EXPECT_EQ(queue.max_size(), kMaxSize); in TEST()
470 [[maybe_unused]] InlineQueue<int>& generic_queue(queue); in TEST()
481 InlineQueue<int, 4> queue = {1, 2, 3, 4}; in TEST() local
483 auto max_element_it = std::max_element(queue.begin(), queue.end()); in TEST()
484 ASSERT_NE(max_element_it, queue.end()); in TEST()
488 queue.push_overwrite(5); in TEST()
490 max_element_it = std::max_element(queue.begin(), queue.end()); in TEST()
491 ASSERT_NE(max_element_it, queue.end()); in TEST()
495 queue.pop(); in TEST()
497 max_element_it = std::max_element(queue.begin(), queue.end()); in TEST()
498 ASSERT_NE(max_element_it, queue.end()); in TEST()
502 queue.clear(); in TEST()
504 max_element_it = std::max_element(queue.begin(), queue.end()); in TEST()
505 ASSERT_EQ(max_element_it, queue.end()); in TEST()
510 InlineQueue<int, 4> queue = {1, 2, 3, 4}; in TEST() local
512 auto max_element_it = std::max_element(queue.cbegin(), queue.cend()); in TEST()
513 ASSERT_NE(max_element_it, queue.cend()); in TEST()
517 queue.push_overwrite(5); in TEST()
519 max_element_it = std::max_element(queue.cbegin(), queue.cend()); in TEST()
520 ASSERT_NE(max_element_it, queue.cend()); in TEST()
524 queue.pop(); in TEST()
526 max_element_it = std::max_element(queue.cbegin(), queue.cend()); in TEST()
527 ASSERT_NE(max_element_it, queue.cend()); in TEST()
531 queue.clear(); in TEST()
533 max_element_it = std::max_element(queue.cbegin(), queue.cend()); in TEST()
534 ASSERT_EQ(max_element_it, queue.cend()); in TEST()
539 InlineQueue<int, 4> queue = {0, 0, 1, 2}; in TEST() local
541 queue.push_overwrite(3); in TEST()
543 queue.push_overwrite(4); in TEST()
546 ASSERT_EQ(*(queue.begin() + i), static_cast<int>(i + 1)); in TEST()
547 ASSERT_EQ(*(i + queue.begin()), static_cast<int>(i + 1)); in TEST()
550 ASSERT_EQ(queue.begin() + queue.size(), queue.end()); in TEST()
555 InlineQueue<int, 4> queue = {0, 0, 1, 2}; in TEST() local
557 queue.push_overwrite(3); in TEST()
559 queue.push_overwrite(4); in TEST()
561 auto it = queue.begin(); in TEST()
572 ASSERT_EQ(it, queue.end()); in TEST()
577 InlineQueue<int, 4> queue = {0, 0, 1, 2}; in TEST() local
579 queue.push_overwrite(3); in TEST()
581 queue.push_overwrite(4); in TEST()
583 auto it = queue.begin(); in TEST()
593 ASSERT_EQ(it, queue.end()); in TEST()
595 it = queue.begin(); in TEST()
600 ASSERT_EQ(it, queue.end()); in TEST()
602 it = queue.begin(); in TEST()
603 it += queue.size(); in TEST()
605 ASSERT_EQ(it, queue.end()); in TEST()
610 InlineQueue<int, 4> queue = {0, 0, 1, 2}; in TEST() local
612 queue.push_overwrite(3); in TEST()
614 queue.push_overwrite(4); in TEST()
617 ASSERT_EQ(*(queue.end() - i), static_cast<int>(5 - i)); in TEST()
620 ASSERT_EQ(queue.end() - queue.size(), queue.begin()); in TEST()
624 InlineQueue<int, 4> queue = {0, 0, 1, 2}; in TEST() local
626 queue.push_overwrite(3); in TEST()
628 queue.push_overwrite(4); in TEST()
630 auto it = queue.end(); in TEST()
641 ASSERT_EQ(it, queue.begin()); in TEST()
646 InlineQueue<int, 4> queue = {0, 0, 1, 2}; in TEST() local
648 queue.push_overwrite(3); in TEST()
650 queue.push_overwrite(4); in TEST()
652 auto it = queue.end(); in TEST()
663 ASSERT_EQ(it, queue.begin()); in TEST()
665 it = queue.end(); in TEST()
672 ASSERT_EQ(it, queue.begin()); in TEST()
674 it = queue.end(); in TEST()
675 it -= queue.size(); in TEST()
677 ASSERT_EQ(it, queue.begin()); in TEST()
682 InlineQueue<int, 4> queue = {0, 0, 1, 2}; in TEST() local
684 queue.push_overwrite(3); in TEST()
686 queue.push_overwrite(4); in TEST()
688 for (unsigned short i = 0; i < queue.size(); i++) { in TEST()
689 ASSERT_EQ(queue.begin()[i], static_cast<int>(i + 1)); in TEST()
695 InlineQueue<int, 4> queue = {0, 0, 1, 2}; in TEST() local
697 queue.push_overwrite(3); in TEST()
699 queue.push_overwrite(4); in TEST()
701 for (int i = 0; i < queue.size(); i++) { in TEST()
703 ASSERT_TRUE((queue.begin() + j) < (queue.begin() + i)); in TEST()
706 ASSERT_TRUE((queue.begin() + i) < queue.end()); in TEST()
712 InlineQueue<int, 4> queue = {0, 0, 1, 2}; in TEST() local
714 queue.push_overwrite(3); in TEST()
716 queue.push_overwrite(4); in TEST()
718 for (int i = 0; i < queue.size(); i++) { in TEST()
720 ASSERT_TRUE((queue.begin() + j) <= (queue.begin() + i)); in TEST()
723 ASSERT_TRUE((queue.begin() + i) <= queue.end()); in TEST()
729 InlineQueue<int, 4> queue = {0, 0, 1, 2}; in TEST() local
731 queue.push_overwrite(3); in TEST()
733 queue.push_overwrite(4); in TEST()
735 for (int i = 0; i < queue.size(); i++) { in TEST()
736 for (int j = i + 1; j < queue.size(); j++) { in TEST()
737 ASSERT_TRUE((queue.begin() + j) > (queue.begin() + i)); in TEST()
740 ASSERT_TRUE(queue.end() > (queue.begin() + i)); in TEST()
746 InlineQueue<int, 4> queue = {0, 0, 1, 2}; in TEST() local
748 queue.push_overwrite(3); in TEST()
750 queue.push_overwrite(4); in TEST()
752 for (int i = 0; i < queue.size(); i++) { in TEST()
753 for (int j = i; j < queue.size(); j++) { in TEST()
754 ASSERT_TRUE((queue.begin() + j) >= (queue.begin() + i)); in TEST()
757 ASSERT_TRUE(queue.end() >= (queue.begin() + i)); in TEST()
763 InlineQueue<int, 4> queue = {0, 0, 1, 2}; in TEST() local
765 queue.push_overwrite(3); in TEST()
767 queue.push_overwrite(4); in TEST()
769 for (int i = 0; i < queue.size(); i++) { in TEST()
770 const auto it = queue.begin() + i; in TEST()