#include <iostream>#include <stdexcept>#include <iterator>#include "smr.h"Go to the source code of this file.
Namespaces | |
| namespace | amino | 
Classes | |
| class | amino::NodeType< KeyType > | 
| The node type, which stores the data and a next pointer in it.  More... | |
| class | amino::FindStateHolder< KeyType > | 
| a state holder, which stores the pointer of the current node and the pointers of the current node's previous and next in it.  More... | |
| struct | amino::__list_iterator< T > | 
| The iterator of the list.  More... | |
| struct | amino::__list_const_iterator< T > | 
| The const iterator of the list.  More... | |
| class | amino::List< KeyType > | 
| This is an implementation of a lock-free linked list data structure. The implementation is according to the paper High Performance Dynamic Lock-Free Hash Tables and List-Based Sets by Maged M. Michael, 2002. To gain a complete understanding of this data structure, please first read this paper, available at: http://www.research.ibm.com/people/m/michael/spaa-2002.pdf.  More... | |
Defines | |
| #define | NHPOINTER 3 | 
| #define | POINTER(p) ((NodeType<KeyType>*)(((long)(p))&(~3))) | 
| #define | MARK(p) ((NodeType<KeyType>*)(((long)(p))|(1))) | 
| #define | MARKED(p) (((long)(p))&(1)) | 
Functions | |
| template<typename T> | |
| bool | amino::operator== (const __list_iterator< T > &lhs, const __list_const_iterator< T > &rhs) | 
| template<typename T> | |
| bool | amino::operator!= (const __list_iterator< T > &lhs, const __list_const_iterator< T > &rhs) | 
| #define MARK | ( | p | ) | ((NodeType<KeyType>*)(((long)(p))|(1))) | 
| #define MARKED | ( | p | ) | (((long)(p))&(1)) | 
| #define NHPOINTER 3 | 
| #define POINTER | ( | p | ) | ((NodeType<KeyType>*)(((long)(p))&(~3))) | 
 1.5.6