1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/**
* A `stack` matches the `MagazineStack` in Rust.
*
* The lock-free implementation is a straightforward double-wide-CAS
* logic, with a generation counter for ABA protection: we don't have
* to worry about safe memory reclamation because `struct
* magazine_storage` are immortal.
*/
;
/**
* Pushes a new magazine to the stack.
*/
void ;
/**
* Attempts to pop one element from the stack.
*
* On success, returns true and populates the `out` pointer.
* On failure, returns false.
*/
bool ;
/**
* Quickly attempts to pop one element from the stack.
*
* Once success, returns true and populates the `out` pointer.
* On failure, returns false.
*
* Unlike `slitter__stack_pop`, this function may fail for any reason.
*/
bool ;