threaddb  2.0
A file mapped memory container extension
Public Types | Public Member Functions | Public Attributes | Friends | List of all members
tdb::Cells< T, C, D, L > Struct Template Reference

Definition of a ode of the rgrid. More...

#include <threaddbRGrid.h>

Public Types

typedef Box< C, D > Box_
 

Public Member Functions

 Cells (const Box_ &rBox_p)
 
 ~Cells ()
 
size_t size () const
 
std::pair< Box_, int32_t > index (const Box_ &rBox_p) const
 
const std::shared_ptr< L > operator[] (size_t idx_p) const
 
std::shared_ptr< L > operator[] (size_t idx_p)
 
void add (size_t Idx_p, const Box_ &rTile_p, const Box_ &rBox_p, uint32_t Depth_p, const T &rData_p, tdb::database &rDb_p)
 
bool intersects (size_t Idx_p, const Box_ &rBox_p) const
 

Public Attributes

Box_ m_Box
 
std::mutex m_InsertMutex
 
std::shared_ptr< L > m_Subcells [1<< D]
 
uint8_t m_Subcount
 

Friends

std::ostream & operator<< (std::ostream &os, const Cells &C_)
 
std::istream & operator>> (std::istream &is, Cells &C_)
 

Detailed Description

template<class T, typename C, size_t D, class L>
struct tdb::Cells< T, C, D, L >

Definition of a ode of the rgrid.

Member Typedef Documentation

◆ Box_

template<class T, typename C, size_t D, class L>
typedef Box<C, D> tdb::Cells< T, C, D, L >::Box_

Constructor & Destructor Documentation

◆ Cells()

template<class T, typename C, size_t D, class L>
tdb::Cells< T, C, D, L >::Cells ( const Box_ rBox_p)
inline

◆ ~Cells()

template<class T, typename C, size_t D, class L>
tdb::Cells< T, C, D, L >::~Cells ( )
inline

Member Function Documentation

◆ add()

template<class T, typename C, size_t D, class L>
void tdb::Cells< T, C, D, L >::add ( size_t  Idx_p,
const Box_ rTile_p,
const Box_ rBox_p,
uint32_t  Depth_p,
const T &  rData_p,
tdb::database rDb_p 
)
inline

◆ index()

template<class T, typename C, size_t D, class L>
std::pair<Box_, int32_t> tdb::Cells< T, C, D, L >::index ( const Box_ rBox_p) const
inline

◆ intersects()

template<class T, typename C, size_t D, class L>
bool tdb::Cells< T, C, D, L >::intersects ( size_t  Idx_p,
const Box_ rBox_p 
) const
inline

◆ operator[]() [1/2]

template<class T, typename C, size_t D, class L>
std::shared_ptr<L> tdb::Cells< T, C, D, L >::operator[] ( size_t  idx_p)
inline

◆ operator[]() [2/2]

template<class T, typename C, size_t D, class L>
const std::shared_ptr<L> tdb::Cells< T, C, D, L >::operator[] ( size_t  idx_p) const
inline

◆ size()

template<class T, typename C, size_t D, class L>
size_t tdb::Cells< T, C, D, L >::size ( ) const
inline

Friends And Related Function Documentation

◆ operator<<

template<class T, typename C, size_t D, class L>
std::ostream& operator<< ( std::ostream &  os,
const Cells< T, C, D, L > &  C_ 
)
friend

◆ operator>>

template<class T, typename C, size_t D, class L>
std::istream& operator>> ( std::istream &  is,
Cells< T, C, D, L > &  C_ 
)
friend

Member Data Documentation

◆ m_Box

template<class T, typename C, size_t D, class L>
Box_ tdb::Cells< T, C, D, L >::m_Box

◆ m_InsertMutex

template<class T, typename C, size_t D, class L>
std::mutex tdb::Cells< T, C, D, L >::m_InsertMutex

◆ m_Subcells

template<class T, typename C, size_t D, class L>
std::shared_ptr<L> tdb::Cells< T, C, D, L >::m_Subcells[1<< D]

◆ m_Subcount

template<class T, typename C, size_t D, class L>
uint8_t tdb::Cells< T, C, D, L >::m_Subcount

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