aether::morton::region< MortonCode, T > Struct Template Reference

#include <region_fwd.hh>

Public Types

using morton_type = MortonCode
 
using mapped_type = T
 
using interval_type = morton::detail::interval< morton_type, mapped_type >
 
using cell_type = tree_cell< morton_type >
 
using const_iterator = typename decltype(intervals)::const_iterator
 

Public Member Functions

const_iterator begin () const
 
const_iterator end () const
 
size_t size () const
 
template<typename M = aether::monostate>
bool operator== (const region< morton_type, M > &rhs) const
 
region operator| (const region &rhs) const
 
regionoperator|= (const region &rhs)
 
template<typename M = aether::monostate>
region operator& (const region< morton_type, M > &rhs) const
 
template<typename M = aether::monostate>
regionoperator&= (const region< morton_type, M > &rhs)
 
template<typename M = aether::monostate>
regionoperator-= (const region< morton_type, M > &rhs)
 
template<typename M = aether::monostate>
region operator- (const region< morton_type, M > &rhs) const
 
template<typename F >
void merge (const region &rhs, const F f)
 
bool contains (const morton_type &c) const
 
bool empty () const
 
uint64_t area () const
 
template<typename M >
bool intersects (const region< morton_type, M > &rhs) const
 
std::vector< std::pair< cell_type, mapped_type > > to_cells () const
 
std::vector< std::pair< cell_type, mapped_type > > to_cells (size_t max_level) const
 
std::vector< std::pair< uint64_t, uint64_t > > count_cells () const
 
void clear ()
 
template<typename M >
region< MortonCode, T > operator& (const region< morton_type, M > &rhs) const
 
template<typename M >
region< MortonCode, T > & operator&= (const region< morton_type, M > &rhs)
 
template<typename M >
region< MortonCode, T > & operator-= (const region< morton_type, M > &rhs)
 
template<typename M >
region< MortonCode, T > operator- (const region< morton_type, M > &rhs) const
 

Public Attributes

std::vector< interval_typeintervals
 

Member Typedef Documentation

template<typename MortonCode, typename T>
using aether::morton::region< MortonCode, T >::cell_type = tree_cell<morton_type>
template<typename MortonCode, typename T>
using aether::morton::region< MortonCode, T >::const_iterator = typename decltype(intervals)::const_iterator
template<typename MortonCode, typename T>
using aether::morton::region< MortonCode, T >::interval_type = morton::detail::interval<morton_type, mapped_type>
template<typename MortonCode, typename T>
using aether::morton::region< MortonCode, T >::mapped_type = T
template<typename MortonCode, typename T>
using aether::morton::region< MortonCode, T >::morton_type = MortonCode

Member Function Documentation

template<typename MortonCode , typename T >
uint64_t aether::morton::region< MortonCode, T >::area ( ) const
template<typename MortonCode , typename T >
region< MortonCode, T >::const_iterator aether::morton::region< MortonCode, T >::begin ( ) const
template<typename MortonCode , typename T >
void aether::morton::region< MortonCode, T >::clear ( )
template<typename MortonCode , typename T >
bool aether::morton::region< MortonCode, T >::contains ( const morton_type c) const
template<typename MortonCode , typename T >
std::vector< std::pair< uint64_t, uint64_t > > aether::morton::region< MortonCode, T >::count_cells ( ) const
template<typename MortonCode , typename T >
bool aether::morton::region< MortonCode, T >::empty ( ) const
template<typename MortonCode , typename T >
region< MortonCode, T >::const_iterator aether::morton::region< MortonCode, T >::end ( ) const
template<typename MortonCode , typename T >
template<typename M >
bool aether::morton::region< MortonCode, T >::intersects ( const region< morton_type, M > &  rhs) const
template<typename MortonCode , typename T >
template<typename F >
void aether::morton::region< MortonCode, T >::merge ( const region< MortonCode, T > &  rhs,
const F  f 
)
template<typename MortonCode, typename T>
template<typename M = aether::monostate>
region aether::morton::region< MortonCode, T >::operator& ( const region< morton_type, M > &  rhs) const
template<typename MortonCode, typename T>
template<typename M >
region<MortonCode, T> aether::morton::region< MortonCode, T >::operator& ( const region< morton_type, M > &  rhs) const
template<typename MortonCode, typename T>
template<typename M = aether::monostate>
region& aether::morton::region< MortonCode, T >::operator&= ( const region< morton_type, M > &  rhs)
template<typename MortonCode, typename T>
template<typename M >
region<MortonCode, T>& aether::morton::region< MortonCode, T >::operator&= ( const region< morton_type, M > &  rhs)
template<typename MortonCode, typename T>
template<typename M = aether::monostate>
region aether::morton::region< MortonCode, T >::operator- ( const region< morton_type, M > &  rhs) const
template<typename MortonCode, typename T>
template<typename M >
region<MortonCode, T> aether::morton::region< MortonCode, T >::operator- ( const region< morton_type, M > &  rhs) const
template<typename MortonCode, typename T>
template<typename M = aether::monostate>
region& aether::morton::region< MortonCode, T >::operator-= ( const region< morton_type, M > &  rhs)
template<typename MortonCode, typename T>
template<typename M >
region<MortonCode, T>& aether::morton::region< MortonCode, T >::operator-= ( const region< morton_type, M > &  rhs)
template<typename MortonCode , typename T >
template<typename M >
bool aether::morton::region< MortonCode, T >::operator== ( const region< morton_type, M > &  rhs) const
template<typename MortonCode , typename T >
region< MortonCode, T > aether::morton::region< MortonCode, T >::operator| ( const region< MortonCode, T > &  rhs) const
template<typename MortonCode , typename T >
region< MortonCode, T > & aether::morton::region< MortonCode, T >::operator|= ( const region< MortonCode, T > &  rhs)
template<typename MortonCode , typename T >
size_t aether::morton::region< MortonCode, T >::size ( ) const
template<typename MortonCode , typename T >
auto aether::morton::region< MortonCode, T >::to_cells ( ) const
template<typename MortonCode , typename T >
auto aether::morton::region< MortonCode, T >::to_cells ( size_t  max_level) const

Member Data Documentation

template<typename MortonCode, typename T>
std::vector<interval_type> aether::morton::region< MortonCode, T >::intervals