MDList
Classes | Macros | Functions
mdlist.h File Reference

An implementation of "An Efficient Lock-free Logarithmic Search Data Structure Based on Multi-dimensional List". More...

#include <vector>
#include <mutex>
#include <cmath>
#include <exception>
#include <iostream>

Go to the source code of this file.

Classes

class  Node< T >
 Node class. More...
 
class  MDList< T >
 MDList class MDList is a dictionary based datastruture which stores (key, value) pairs. More...
 

Macros

#define ULL   unsigned long long
 

Functions

long nthRoot (ULL X, int n)
 Finds nth root of given number. More...
 
vector< int > keyToCoordinates (ULL key, int D, ULL N)
 Converts key to node coordinates. More...
 
template<class T >
void printMDList (MDList< T > mdList)
 Prints MDList. More...
 
template<class T >
void findAndPrint (MDList< T > mdlist, ULL key)
 Finds and prints node for given key. More...
 

Detailed Description

An implementation of "An Efficient Lock-free Logarithmic Search Data Structure Based on Multi-dimensional List".

From 2016 IEEE 36th International Conference on Distributed Computing Systems.

Author
Hrishikesh Hiraskar hrish.nosp@m.ihir.nosp@m.askar.nosp@m.@gma.nosp@m.il.co.nosp@m.m

Macro Definition Documentation

◆ ULL

#define ULL   unsigned long long

Function Documentation

◆ findAndPrint()

template<class T >
void findAndPrint ( MDList< T >  mdlist,
ULL  key 
)

Finds and prints node for given key.

Only for debug purposes.

Parameters
mdlistThe mdlist.
keyThe key.

◆ keyToCoordinates()

vector<int> keyToCoordinates ( ULL  key,
int  D,
ULL  N 
)

Converts key to node coordinates.

Parameters
keyThe key.
DD value of MDList.
NThe key space.
Returns
Vector of coordinates.

◆ nthRoot()

long nthRoot ( ULL  X,
int  n 
)

Finds nth root of given number.

Parameters
XThe number.
nThe root.
Returns
The nth root.

◆ printMDList()

template<class T >
void printMDList ( MDList< T >  mdList)

Prints MDList.

Only for debug purposes.

Parameters
mdListThe MDList to print