| threaddb 2.0b A file mapped memory container extension

Public Types | Public Member Functions | Public Attributes | Friends | List of all members
tdb::Link< T, C, D > Struct Template Reference

Link helper class to the next node level. More...

`#include <threaddbRGrid.h>`

## Public Types
typedef Box< C, D > | Box_
typedef TaskInfo< Link > | TaskInfo_

## Public Member Functions
| Link ()
| Link (const Box_ &rTile_p, uint32_t Depth_p, tdb::database &rDb_p)
| ~Link ()
void | add (const Box_ &rBox_p, const T &rData_p, tdb::database &rDb_p)
| Routine to add a data element to the rgrid. More...
bool | intersects (const Box_ &rBox_p) const
| Box intersection of two elements. More...
void | recurse (const Box_ &rBox_p, Functor< T > &rCallback_p, tdb::database &rDb_p, std::atomic< uint16_t > *pTaskCount_p, std::mutex *pThreadMutex_p, std::vector< TaskInfo_ * > *pTaskHeap_p) const
| Recursion into the next cell level. More...

## Public Attributes
std::mutex | m_InsertMutex
char | m_Membuf [sizeof(rgrid_< T, C, D, Link >)]
rgrid_< T, C, D, Link > * | m_pRgrid

## Friends
std::ostream & | operator<< (std::ostream &os, const Link &L)
std::istream & | operator>> (std::istream &is, Link &L)

## Detailed Description

### template<class T, typename C, size_t D>
struct tdb::Link< T, C, D >

Link helper class to the next node level.

## Member Typedef Documentation

## ◆ Box_

template<class T , typename C , size_t D>

typedef Box<C, D> tdb::Link< T, C, D >::Box_

## ◆ TaskInfo_

template<class T , typename C , size_t D>

typedef TaskInfo<Link> tdb::Link< T, C, D >::TaskInfo_

## Constructor & Destructor Documentation

## ◆ Link() [1/2]

template<class T , typename C , size_t D>

tdb::Link< T, C, D >::Link | ( |  | ) |
| inline

## ◆ Link() [2/2]

template<class T , typename C , size_t D>

tdb::Link< T, C, D >::Link | ( | const Box_ & | rTile_p,
|  | uint32_t | Depth_p,
|  | tdb::database & | rDb_p
| ) |  |
| inline

## ◆ ~Link()

template<class T , typename C , size_t D>

tdb::Link< T, C, D >::~Link | ( |  | ) |
| inline

## Member Function Documentation

## ◆ add()

template<class T , typename C , size_t D>

void tdb::Link< T, C, D >::add | ( | const Box_ & | rBox_p,
|  | const T & | rData_p,
|  | tdb::database & | rDb_p
| ) |  |

Routine to add a data element to the rgrid.

## ◆ intersects()

template<class T , typename C , size_t D>

bool tdb::Link< T, C, D >::intersects | ( | const Box_ & | rBox_p | ) | const

Box intersection of two elements.

## ◆ recurse()

template<class T , typename C , size_t D>

void tdb::Link< T, C, D >::recurse | ( | const Box_ & | rBox_p,
|  | Functor< T > & | rCallback_p,
|  | tdb::database & | rDb_p,
|  | std::atomic< uint16_t > * | pTaskCount_p,
|  | std::mutex * | pThreadMutex_p,
|  | std::vector< TaskInfo_ * > * | pTaskHeap_p
| ) |  | const

Recursion into the next cell level.

## Friends And Related Function Documentation

## ◆ operator<<

template<class T , typename C , size_t D>

std::ostream& operator<< | ( | std::ostream & | os,
|  | const Link< T, C, D > & | L
| ) |  |
| friend

## ◆ operator>>

template<class T , typename C , size_t D>

std::istream& operator>> | ( | std::istream & | is,
|  | Link< T, C, D > & | L
| ) |  |
| friend

## Member Data Documentation

## ◆ m_InsertMutex

template<class T , typename C , size_t D>

std::mutex tdb::Link< T, C, D >::m_InsertMutex

## ◆ m_Membuf

template<class T , typename C , size_t D>

char tdb::Link< T, C, D >::m_Membuf[sizeof(rgrid_< T, C, D, Link >)]

## ◆ m_pRgrid

template<class T , typename C , size_t D>

rgrid_<T, C, D, Link>* tdb::Link< T, C, D >::m_pRgrid

The documentation for this struct was generated from the following file:

- B:/threaddbwc/branches/threaddb-2.0/1stParty/threaddb/public/threaddbRGrid.h