Tatooine
Classes | Public Types | Public Member Functions | Public Attributes | Private Attributes | List of all members
tatooine::celltree< Mesh >::node_type Struct Reference

#include <celltree.h>

Collaboration diagram for tatooine::celltree< Mesh >::node_type:
[legend]

Classes

struct  leaf_node_type
 
struct  split_node_t
 
union  type_t
 

Public Types

using float_type = double
 
using index_type = std::uint32_t
 

Public Member Functions

constexpr node_type ()=default
 
constexpr node_type (node_type const &other) noexcept
 
constexpr auto operator= (node_type const &other) noexcept -> node_type &
 
constexpr auto is_leaf () const
 
auto left_child_index () const
 
auto right_child_index () const
 
auto set_left_child_index (std::size_t const i)
 
auto as_leaf () -> auto &
 
auto as_leaf () const -> auto const &
 
auto as_split () -> auto &
 
auto as_split () const -> auto const &
 

Public Attributes

std::uint8_t dim
 
type_t type
 

Private Attributes

std::size_t m_left_child_index
 

Member Typedef Documentation

◆ float_type

template<typename Mesh >
using tatooine::celltree< Mesh >::node_type::float_type = double

◆ index_type

template<typename Mesh >
using tatooine::celltree< Mesh >::node_type::index_type = std::uint32_t

Constructor & Destructor Documentation

◆ node_type() [1/2]

template<typename Mesh >
constexpr tatooine::celltree< Mesh >::node_type::node_type ( )
constexprdefault

◆ node_type() [2/2]

template<typename Mesh >
constexpr tatooine::celltree< Mesh >::node_type::node_type ( node_type const &  other)
inlineconstexprnoexcept

Member Function Documentation

◆ as_leaf() [1/2]

template<typename Mesh >
auto tatooine::celltree< Mesh >::node_type::as_leaf ( ) -> auto&
inline

◆ as_leaf() [2/2]

template<typename Mesh >
auto tatooine::celltree< Mesh >::node_type::as_leaf ( ) const -> auto const&
inline

◆ as_split() [1/2]

template<typename Mesh >
auto tatooine::celltree< Mesh >::node_type::as_split ( ) -> auto&
inline

◆ as_split() [2/2]

template<typename Mesh >
auto tatooine::celltree< Mesh >::node_type::as_split ( ) const -> auto const&
inline

◆ is_leaf()

template<typename Mesh >
constexpr auto tatooine::celltree< Mesh >::node_type::is_leaf ( ) const
inlineconstexpr

◆ left_child_index()

template<typename Mesh >
auto tatooine::celltree< Mesh >::node_type::left_child_index ( ) const
inline

◆ operator=()

template<typename Mesh >
constexpr auto tatooine::celltree< Mesh >::node_type::operator= ( node_type const &  other) -> node_type&
inlineconstexprnoexcept

◆ right_child_index()

template<typename Mesh >
auto tatooine::celltree< Mesh >::node_type::right_child_index ( ) const
inline

◆ set_left_child_index()

template<typename Mesh >
auto tatooine::celltree< Mesh >::node_type::set_left_child_index ( std::size_t const  i)
inline

Member Data Documentation

◆ dim

template<typename Mesh >
std::uint8_t tatooine::celltree< Mesh >::node_type::dim

◆ m_left_child_index

template<typename Mesh >
std::size_t tatooine::celltree< Mesh >::node_type::m_left_child_index
private

◆ type

template<typename Mesh >
type_t tatooine::celltree< Mesh >::node_type::type

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