| threaddb 2.0b A file mapped memory container extension

Classes | Namespaces | Functions
threaddbRGrid.h File Reference

Range grid implementation for performant spacial searches. More...

`#include <threaddbCPP.h>`
`#include <atomic>`
`#include <thread>`
`#include <mutex>`
`#include <condition_variable>`
`#include <cstddef>`
`#include <vector>`
`#include <istream>`
`#include <ostream>`

Go to the source code of this file.

## Classes
struct | tdb::array_deleter< T >
struct | tdb::Functor< T >
| Functor class receiving the queried elements. More...
struct | tdb::Point< T, D >
| Point basic class definition. More...
class | tdb::Box< T, D >
| Box basic class definition. More...
class | tdb::rgrid< T, C, D, L >
| External representation of the rgrid structure. More...
class | tdb::rgrid_< T, C, D, L >
| Internal representation of the rgrid structure. More...
struct | tdb::TaskInfo< L >
| Query task information. More...
struct | tdb::Link< T, C, D >
| Link helper class to the next node level. More...
struct | tdb::TaskInfo< L >
| Query task information. More...
struct | tdb::Cells< T, C, D, L >
| Definition of a ode of the rgrid. More...
class | tdb::rgrid_< T, C, D, L >
| Internal representation of the rgrid structure. More...
class | tdb::rgrid< T, C, D, L >
| External representation of the rgrid structure. More...

## Namespaces
| tdb

## Functions
template<typename C , size_t D>
bool | tdb::intersects (const Box< C, D > &rLhs_p, const Box< C, D > &rRhs_p)
| Check intersection of two Boxes. More...
template<typename C , size_t D>
std::pair< Box< C, D >, int32_t > | tdb::index_ (const Box< C, D > &lhs_p, const Box< C, D > &rhs_p)
| Range index calculation specialization for n dimensional scenarios. More...
template<typename C >
std::pair< tdb::Box< C, 1 >, int32_t > | tdb::index_ (const tdb::Box< C, 1 > &lhs_p, const tdb::Box< C, 1 > &rhs_p)
| Range index calculation specialization for 1 dimensional scenarios. More...
template<typename C >
std::pair< tdb::Box< C, 2 >, int32_t > | tdb::index_ (const tdb::Box< C, 2 > &lhs_p, const tdb::Box< C, 2 > &rhs_p)
| Range index calculation specialization for 2 dimensional scenarios. More...
template<typename C >
std::pair< tdb::Box< C, 3 >, int32_t > | tdb::index_ (const tdb::Box< C, 3 > &lhs_p, const tdb::Box< C, 3 > &rhs_p)
| Range index calculation specialization for 3 dimensional scenarios. More...
template<typename C , size_t D>
tdb::Point< C, D > | operator+ (const tdb::Point< C, D > &a, const tdb::Point< C, D > &b)
| Point increment operator. More...
template<typename C , size_t D>
tdb::Point< C, D > | operator- (const tdb::Point< C, D > &a, const tdb::Point< C, D > &b)
| Point subtract operator. More...
template<typename C , size_t D>
tdb::Box< C, D > & | operator+= (tdb::Box< C, D > &a, const tdb::Point< C, D > &b)
| Box increment operator. More...

## Detailed Description

Range grid implementation for performant spacial searches.

The underlying template class provides a data structure for performant range queries. Basically the rgrid can be seen as a static rgrid with a fixed tiling and depth. This gives the advantage, that the elements can be inserted directly without the additional effort of re-balancing the tree. A neccessary prerequisite is that the amount and range of elements to be stored are available already during construction of the data structure.

## Function Documentation

## ◆ operator+()

template<typename C , size_t D>

tdb::Point<C, D> operator+ | ( | const tdb::Point< C, D > & | a,
|  | const tdb::Point< C, D > & | b
| ) |  |

Point increment operator.

## ◆ operator+=()

template<typename C , size_t D>

tdb::Box<C, D>& operator+= | ( | tdb::Box< C, D > & | a,
|  | const tdb::Point< C, D > & | b
| ) |  |

Box increment operator.

## ◆ operator-()

template<typename C , size_t D>

tdb::Point<C, D> operator- | ( | const tdb::Point< C, D > & | a,
|  | const tdb::Point< C, D > & | b
| ) |  |

Point subtract operator.