Tatooine
Public Member Functions | Static Public Attributes | Static Private Member Functions | Private Attributes | List of all members
tatooine::grid_edge_iterator< Real, N > Class Template Reference

#include <grid_edge.h>

Collaboration diagram for tatooine::grid_edge_iterator< Real, N >:
[legend]

Public Member Functions

 grid_edge_iterator (grid< Real, N >const *g, grid_vertex_iterator< Real, N > &&vit, size_t edge_idx)
 
auto operator++ () -> auto &
 
auto operator== (const grid_edge_iterator< Real, N > &other) const -> bool
 
auto operator!= (const grid_edge_iterator< Real, N > &other) const -> bool
 
auto operator< (const grid_edge_iterator< Real, N > &other) const -> bool
 
auto operator* () const -> grid_edge< Real, N >
 
auto is_valid () const -> bool
 

Static Public Attributes

static constexpr auto max_num_edges_per_cell = calc_max_num_edges_per_cell()
 
static constexpr auto edge_dirs = calc_edge_dirs()
 
static constexpr auto bases = calc_bases()
 

Static Private Member Functions

template<size_t... Is>
static constexpr size_t calc_max_num_edges_per_cell (std::index_sequence< Is... >)
 
static constexpr size_t calc_max_num_edges_per_cell ()
 
template<size_t... Is>
static constexpr auto calc_edge_dirs (std::index_sequence< Is... >)
 
static constexpr auto calc_edge_dirs ()
 
static constexpr auto calc_bases ()
 

Private Attributes

grid< Real, N > const * m_grid
 
grid_vertex_iterator< Real, N > m_vit
 
size_t m_edge_idx
 

Constructor & Destructor Documentation

◆ grid_edge_iterator()

template<typename Real , size_t N>
tatooine::grid_edge_iterator< Real, N >::grid_edge_iterator ( grid< Real, N >const *  g,
grid_vertex_iterator< Real, N > &&  vit,
size_t  edge_idx 
)
inlineexplicit

Member Function Documentation

◆ calc_bases()

template<typename Real , size_t N>
static constexpr auto tatooine::grid_edge_iterator< Real, N >::calc_bases ( )
inlinestaticconstexprprivate

◆ calc_edge_dirs() [1/2]

template<typename Real , size_t N>
static constexpr auto tatooine::grid_edge_iterator< Real, N >::calc_edge_dirs ( )
inlinestaticconstexprprivate

◆ calc_edge_dirs() [2/2]

template<typename Real , size_t N>
template<size_t... Is>
static constexpr auto tatooine::grid_edge_iterator< Real, N >::calc_edge_dirs ( std::index_sequence< Is... >  )
inlinestaticconstexprprivate

◆ calc_max_num_edges_per_cell() [1/2]

template<typename Real , size_t N>
static constexpr size_t tatooine::grid_edge_iterator< Real, N >::calc_max_num_edges_per_cell ( )
inlinestaticconstexprprivate

◆ calc_max_num_edges_per_cell() [2/2]

template<typename Real , size_t N>
template<size_t... Is>
static constexpr size_t tatooine::grid_edge_iterator< Real, N >::calc_max_num_edges_per_cell ( std::index_sequence< Is... >  )
inlinestaticconstexprprivate

◆ is_valid()

template<typename Real , size_t N>
auto tatooine::grid_edge_iterator< Real, N >::is_valid ( ) const -> bool
inline

◆ operator!=()

template<typename Real , size_t N>
auto tatooine::grid_edge_iterator< Real, N >::operator!= ( const grid_edge_iterator< Real, N > &  other) const -> bool
inline

◆ operator*()

template<typename Real , size_t N>
auto tatooine::grid_edge_iterator< Real, N >::operator* ( ) const -> grid_edge<Real, N>
inline

◆ operator++()

template<typename Real , size_t N>
auto tatooine::grid_edge_iterator< Real, N >::operator++ ( ) -> auto&
inline

◆ operator<()

template<typename Real , size_t N>
auto tatooine::grid_edge_iterator< Real, N >::operator< ( const grid_edge_iterator< Real, N > &  other) const -> bool
inline

◆ operator==()

template<typename Real , size_t N>
auto tatooine::grid_edge_iterator< Real, N >::operator== ( const grid_edge_iterator< Real, N > &  other) const -> bool
inline

Member Data Documentation

◆ bases

template<typename Real , size_t N>
constexpr auto tatooine::grid_edge_iterator< Real, N >::bases = calc_bases()
staticconstexpr

◆ edge_dirs

template<typename Real , size_t N>
constexpr auto tatooine::grid_edge_iterator< Real, N >::edge_dirs = calc_edge_dirs()
staticconstexpr

◆ m_edge_idx

template<typename Real , size_t N>
size_t tatooine::grid_edge_iterator< Real, N >::m_edge_idx
private

◆ m_grid

template<typename Real , size_t N>
grid<Real, N> const* tatooine::grid_edge_iterator< Real, N >::m_grid
private

◆ m_vit

template<typename Real , size_t N>
grid_vertex_iterator<Real, N> tatooine::grid_edge_iterator< Real, N >::m_vit
private

◆ max_num_edges_per_cell

template<typename Real , size_t N>
constexpr auto tatooine::grid_edge_iterator< Real, N >::max_num_edges_per_cell = calc_max_num_edges_per_cell()
staticconstexpr

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