1#ifndef TATOOINE_DETAIL_UNSTRUCTURED_SIMPLICIAL_GRID_SIMPLEX_CONTAINER_H
2#define TATOOINE_DETAIL_UNSTRUCTURED_SIMPLICIAL_GRID_SIMPLEX_CONTAINER_H
8template <floating_point Real, std::size_t NumDimensions,
9 std::size_t SimplexDim>
78template <
floating_po
int Real,
size_t NumDimensions, std::
size_t SimplexDim>
80 return simplices.
begin();
83template <
floating_po
int Real,
size_t NumDimensions, std::
size_t SimplexDim>
85 return simplices.
end();
88template <
floating_po
int Real,
size_t NumDimensions, std::
size_t SimplexDim>
90 return simplices.
size();
96 std::size_t SimplexDim>
97inline constexpr bool std::ranges::enable_borrowed_range<
99 Real, NumDimensions, SimplexDim>> =
true;
C++20 implementation of an iterator facade.
Definition: iterator_facade.h:154
Definition: concepts.h:30
Definition: edge_vtp_writer.h:12
auto size(simplex_container< Real, NumDimensions, SimplexDim > simplices)
Definition: simplex_container.h:89
auto begin(simplex_container< Real, NumDimensions, SimplexDim > simplices)
Definition: simplex_container.h:79
auto end(simplex_container< Real, NumDimensions, SimplexDim > simplices)
Definition: simplex_container.h:84
Definition: simplex_container.h:16
Definition: simplex_container.h:15
iterator(iterator const &other)
Definition: simplex_container.h:19
constexpr auto increment()
Definition: simplex_container.h:26
constexpr auto at_end() const
Definition: simplex_container.h:42
iterator(handle_type const ch, grid_type const *ps)
Definition: simplex_container.h:18
constexpr auto decrement()
Definition: simplex_container.h:31
auto dereference() const
Definition: simplex_container.h:40
grid_type const * m_ps
Definition: simplex_container.h:23
constexpr auto equal(iterator const &other) const
Definition: simplex_container.h:37
handle_type m_ch
Definition: simplex_container.h:22
Definition: simplex_container.h:10
auto at(handle_type const i)
Definition: simplex_container.h:75
auto operator[](std::size_t const i)
Definition: simplex_container.h:69
auto at(std::size_t const i) const
Definition: simplex_container.h:72
auto data_container() const -> auto const &
Definition: simplex_container.h:64
typename grid_type::simplex_handle handle_type
Definition: simplex_container.h:13
auto end() const
Definition: simplex_container.h:57
auto at(std::size_t const i)
Definition: simplex_container.h:73
auto operator[](std::size_t const i) const
Definition: simplex_container.h:68
auto operator[](handle_type const i)
Definition: simplex_container.h:71
auto data() const
Definition: simplex_container.h:67
grid_type const * m_grid
Definition: simplex_container.h:47
auto at(handle_type const i) const
Definition: simplex_container.h:74
auto size() const
Definition: simplex_container.h:59
auto operator[](handle_type const i) const
Definition: simplex_container.h:70
auto begin() const
Definition: simplex_container.h:49
Definition: unstructured_simplicial_grid.h:87
Definition: unstructured_simplicial_grid.h:52
constexpr auto is_valid(simplex_handle t) const
Definition: unstructured_simplicial_grid.h:1181
static constexpr auto num_vertices_per_simplex()
Definition: unstructured_simplicial_grid.h:84
auto simplex_index_data() const -> auto const &
Definition: unstructured_simplicial_grid.h:112
auto at(simplex_handle t) const -> auto
Definition: unstructured_simplicial_grid.h:300
auto invalid_simplices() const -> auto const &
Definition: unstructured_simplicial_grid.h:115