#include <encoding.hh>
Public Types | |
using | value_type = uint64_t |
Public Member Functions | |
operator value_type () const | |
value_type | value () const |
morton_code ()=default | |
morton_code (value_type data_) | |
size_t | get_index_msb () const |
void | clear_lsb (const size_t num_bits) |
void | set_component (const size_t idx, const int32_t value_) |
int32_t | extract_component (const size_t idx) const |
void | set_component_raw (const size_t idx, const uint32_t value_) |
uint32_t | extract_component_raw (const size_t idx) const |
bool | operator== (const morton_code &other) const |
bool | operator< (const morton_code &other) const |
size_t | get_index_at_level (const size_t level, const size_t level_width=dimension) const |
void | set_index_at_level (const size_t level, const size_t idx, const size_t level_width=dimension) |
template<typename SD > | |
void | serde_visit (SD &sd) |
Static Public Member Functions | |
static morton_code | invalid () |
static morton_code | encode (const std::array< int32_t, dimension > &p) |
Public Attributes | |
value_type | data = 0 |
Static Public Attributes | |
static constexpr uint32_t | dimension = Dimension |
static constexpr uint32_t | max_level = bits_per_dimension - 1 |
Friends | |
std::array< int32_t, dimension > | decode (const morton_code &code) |
morton_code | operator^ (const morton_code &lhs, const morton_code &rhs) |
morton_code & | operator^= (morton_code &lhs, const morton_code &rhs) |
using aether::morton::morton_code< Dimension, BitsPerDimension >::value_type = uint64_t |
|
default |
|
inlineexplicit |
|
inline |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |
|
friend |
|
friend |
value_type aether::morton::morton_code< Dimension, BitsPerDimension >::data = 0 |
|
static |
|
static |