| 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
 1.8.9.1