|
cds
1.4.0
|
Retired pointer buffer. More...
#include <cds/gc/ptb/ptb.h>
Public Types | |
| typedef std::pair < retired_ptr_node *, size_t > | privatize_result |
| Result of privatize function. More... | |
Public Member Functions | |
| size_t | push (retired_ptr_node &node) |
| Pushes new node into the buffer. Returns current buffer size. | |
| privatize_result | privatize () |
| Gets current list of retired pointer and clears the list. | |
| size_t | size () const |
| Returns current size of buffer (approximate) | |
Private Attributes | |
| std::atomic< retired_ptr_node * > | m_pHead |
| head of buffer | |
| std::atomic< size_t > | m_nItemCount |
| buffer's item count | |
Retired pointer buffer.
The buffer of retired nodes ready for liberating. When size of buffer exceeds a threshold the GC calls liberate procedure to free retired nodes.
| typedef std::pair<retired_ptr_node *, size_t> cds::gc::ptb::details::retired_ptr_buffer::privatize_result |
Result of privatize function.
The privatize function returns retired node list as first and the size of that list as second.