Searched refs:PointerAndCounter (Results 1 – 3 of 3) sorted by relevance
39 return PointerAndCounter<T>::UnpackPointer(head_.load(std::memory_order_relaxed)) == nullptr; in Empty()46 uint64_t cnt = PointerAndCounter<T>::UnpackCounter(cmp) + 1; in PushRange()47 uint64_t xch = PointerAndCounter<T>::PackUnsafe(p, cnt); in PushRange()48 l->next = PointerAndCounter<T>::UnpackPointer(cmp); in PushRange()61 T* curr = PointerAndCounter<T>::UnpackPointer(cmp); in Pop()66 uint64_t cnt = PointerAndCounter<T>::UnpackCounter(cmp); in Pop()67 uint64_t xch = PointerAndCounter<T>::PackUnsafe(next, cnt); in Pop()75 T* TopForTesting() { return PointerAndCounter<T>::UnpackPointer(head_); } in TopForTesting()
29 struct PointerAndCounter { struct
25 TEST(PointerAndCounter, Smoke) { in TEST() argument28 auto v = PointerAndCounter<int>::Pack(&x, uint64_t(0xffff)); in TEST()29 EXPECT_EQ(&x, PointerAndCounter<int>::UnpackPointer(v)); in TEST()30 EXPECT_EQ(uint64_t(0xffff), PointerAndCounter<int>::UnpackCounter(v)); in TEST()