![]() |
threaddb
2.0b
A file mapped memory container extension
|
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... | |
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.
tdb::Point<C, D> operator+ | ( | const tdb::Point< C, D > & | a, |
const tdb::Point< C, D > & | b | ||
) |
Point increment operator.
tdb::Box<C, D>& operator+= | ( | tdb::Box< C, D > & | a, |
const tdb::Point< C, D > & | b | ||
) |
Box increment operator.
tdb::Point<C, D> operator- | ( | const tdb::Point< C, D > & | a, |
const tdb::Point< C, D > & | b | ||
) |
Point subtract operator.