|
Tervel
1.0.0
A collection of wait-free containers and algorithms.
|
#include <tervel/util/info.h>#include <tervel/util/descriptor.h>#include <tervel/util/recursive_action.h>#include <tervel/util/memory/rc/pool_element.h>#include <tervel/util/memory/rc/descriptor_pool.h>#include <tervel/util/progress_assurance.h>#include <tervel/util/memory/rc/descriptor_read_first_op.h>Go to the source code of this file.
Namespaces | |
| tervel | |
| TODO(steven): | |
| tervel::util | |
| tervel::util::memory | |
| tervel::util::memory::rc | |
Functions | |
| template<typename DescrType , typename... Args > | |
| DescrType * | tervel::util::memory::rc::get_descriptor (Args &&...args) |
| Constructs and returns a descriptor. More... | |
| void | tervel::util::memory::rc::free_descriptor (tervel::util::Descriptor *descr, bool dont_check=false) |
| Once a user is done with a descriptor, they should free it with this method. More... | |
| bool | tervel::util::memory::rc::is_watched (tervel::util::Descriptor *descr) |
| This method is used to determine if the passed descriptor is under rc protection. More... | |
| bool | tervel::util::memory::rc::watch (tervel::util::Descriptor *descr, std::atomic< void * > *address, void *value) |
| This method is used to increment the reference count of the passed descriptor object. More... | |
| void | tervel::util::memory::rc::unwatch (tervel::util::Descriptor *descr) |
| This method is used to decrement the reference count of the passed descriptor object. More... | |
| void * | tervel::util::memory::rc::mark_first (tervel::util::Descriptor *descr) |
| This returns the passed reference with its least signifcant bit set to 1. More... | |
| void | tervel::util::memory::rc::atomic_mark_first (std::atomic< void * > *address) |
| This function atomically bit marks the value at address. More... | |
| tervel::util::Descriptor * | tervel::util::memory::rc::unmark_first (void *descr) |
| This returns an unbitmarked reference. More... | |
| bool | tervel::util::memory::rc::is_descriptor_first (void *descr) |
| This returns whether or not the least significant bit holds a bitmark. More... | |
| void * | tervel::util::memory::rc::remove_descriptor (void *expected, std::atomic< void * > *address) |
| This method is used to remove a descriptor object that is conflict with another threads operation. More... | |
| void * | tervel::util::memory::rc::descriptor_read_first (std::atomic< void * > *address) |
| This function determines the logical value of an address which may have either a RC descriptor or a normal value. More... | |
1.8.9.1