aether::morton::detail::interval< MortonCode, T > Struct Template Reference

#include <morton_fwd.hh>

Public Types

using mapped_type = T
 
using morton_type = MortonCode
 
using cell_type = tree_cell< morton_type >
 

Public Member Functions

 interval (const morton_type &start_, const morton_type &end_, const T &t_)
 
 interval (const morton_type &start_, const morton_type &end_)
 
template<typename M >
bool operator== (const interval< morton_type, M > &rhs) const
 
template<typename M >
bool operator< (const interval< morton_type, M > &rhs) const
 
bool data_equals (const interval &rhs) const
 
aether::optional< intervalintersect (const interval &rhs) const
 
bool contains (const morton_type &c) const
 
uint64_t area () const
 
uint64_t start_alignment () const
 
uint64_t end_alignment () 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
 

Public Attributes

morton_type start
 
morton_type end
 
mapped_type data {}
 

Static Public Attributes

static const size_t dimension = morton_type::dimension
 

Friends

bool operator!= (const interval &lhs, const interval &rhs)
 
bool operator> (const interval &lhs, const interval &rhs)
 
bool operator<= (const interval &lhs, const interval &rhs)
 
bool operator>= (const interval &lhs, const interval &rhs)
 

Member Typedef Documentation

template<typename MortonCode , typename T >
using aether::morton::detail::interval< MortonCode, T >::cell_type = tree_cell<morton_type>
template<typename MortonCode , typename T >
using aether::morton::detail::interval< MortonCode, T >::mapped_type = T
template<typename MortonCode , typename T >
using aether::morton::detail::interval< MortonCode, T >::morton_type = MortonCode

Constructor & Destructor Documentation

template<typename MortonCode , typename T >
aether::morton::detail::interval< MortonCode, T >::interval ( const morton_type start_,
const morton_type end_,
const T &  t_ 
)
inline
template<typename MortonCode , typename T >
aether::morton::detail::interval< MortonCode, T >::interval ( const morton_type start_,
const morton_type end_ 
)
inline

Member Function Documentation

template<typename MortonCode , typename T >
uint64_t aether::morton::detail::interval< MortonCode, T >::area ( ) const
template<typename MortonCode , typename T >
bool aether::morton::detail::interval< MortonCode, T >::contains ( const morton_type c) const
inline
template<typename MortonCode , typename T >
std::vector< std::pair< uint64_t, uint64_t > > aether::morton::detail::interval< MortonCode, T >::count_cells ( ) const
template<typename MortonCode , typename T >
bool aether::morton::detail::interval< MortonCode, T >::data_equals ( const interval< MortonCode, T > &  rhs) const
template<typename MortonCode , typename T >
uint64_t aether::morton::detail::interval< MortonCode, T >::end_alignment ( ) const
template<typename MortonCode , typename T >
aether::optional< interval< MortonCode, T > > aether::morton::detail::interval< MortonCode, T >::intersect ( const interval< MortonCode, T > &  rhs) const
template<typename MortonCode , typename T >
template<typename M >
bool aether::morton::detail::interval< MortonCode, T >::operator< ( const interval< morton_type, M > &  rhs) const
template<typename MortonCode , typename T >
template<typename M >
bool aether::morton::detail::interval< MortonCode, T >::operator== ( const interval< morton_type, M > &  rhs) const
template<typename MortonCode , typename T >
uint64_t aether::morton::detail::interval< MortonCode, T >::start_alignment ( ) const
template<typename MortonCode , typename T >
auto aether::morton::detail::interval< MortonCode, T >::to_cells ( ) const
template<typename MortonCode , typename T >
auto aether::morton::detail::interval< MortonCode, T >::to_cells ( size_t  max_level) const

Friends And Related Function Documentation

template<typename MortonCode , typename T >
bool operator!= ( const interval< MortonCode, T > &  lhs,
const interval< MortonCode, T > &  rhs 
)
friend
template<typename MortonCode , typename T >
bool operator<= ( const interval< MortonCode, T > &  lhs,
const interval< MortonCode, T > &  rhs 
)
friend
template<typename MortonCode , typename T >
bool operator> ( const interval< MortonCode, T > &  lhs,
const interval< MortonCode, T > &  rhs 
)
friend
template<typename MortonCode , typename T >
bool operator>= ( const interval< MortonCode, T > &  lhs,
const interval< MortonCode, T > &  rhs 
)
friend

Member Data Documentation

template<typename MortonCode , typename T >
mapped_type aether::morton::detail::interval< MortonCode, T >::data {}
template<typename MortonCode , typename T >
const size_t aether::morton::detail::interval< MortonCode, T >::dimension = morton_type::dimension
static
template<typename MortonCode , typename T >
morton_type aether::morton::detail::interval< MortonCode, T >::end
template<typename MortonCode , typename T >
morton_type aether::morton::detail::interval< MortonCode, T >::start