Tatooine
vertex_container.h
Go to the documentation of this file.
1#ifndef TATOOINE_DETAIL_LINE_VERTEX_CONTAINER_H
2#define TATOOINE_DETAIL_LINE_VERTEX_CONTAINER_H
3//==============================================================================
5#include <tatooine/concepts.h>
6//==============================================================================
7namespace tatooine {
8//==============================================================================
9template <floating_point Real, std::size_t NumDimensions>
10struct line;
11//==============================================================================
12} // namespace tatooine
13//==============================================================================
14namespace tatooine::detail::line {
15//============================================================================
16template <floating_point Real, std::size_t NumDimensions, typename Handle>
18 //============================================================================
19 // typedefs
20 //============================================================================
23
24 //============================================================================
25 // members
26 //============================================================================
28
29 //============================================================================
30 // methods
31 //============================================================================
32 auto begin() const { return iterator{Handle{0}}; }
33 auto end() const { return iterator{Handle{m_line.m_vertices.size()}}; }
34 auto front() const { return Handle{0}; }
35 auto back() const { return Handle{m_line.m_vertices.size() - 1}; }
36 auto size() const { return m_line.m_vertices.size(); }
37 auto data_container() const -> auto const& { return m_line.m_vertices; }
38};
39//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40template <typename Real, std::size_t NumDimensions, typename Handle>
42 return it.begin();
43}
44// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
45template <typename Real, std::size_t NumDimensions, typename Handle>
47 return it.begin();
48}
49//==============================================================================
50} // namespace tatooine::detail::line
51//==============================================================================
52#endif
Definition: merge.h:8
auto end(vertex_container< Real, NumDimensions, Handle > const &it)
Definition: vertex_container.h:46
auto begin(vertex_container< Real, NumDimensions, Handle > const &it)
Definition: vertex_container.h:41
Definition: algorithm.h:6
line(base_tensor< Tensors, Reals, NumDimensions > &&... vertices) -> line< common_type< Reals... >, NumDimensions >
Definition: vertex_container.h:17
auto begin() const
Definition: vertex_container.h:32
auto front() const
Definition: vertex_container.h:34
auto back() const
Definition: vertex_container.h:35
auto data_container() const -> auto const &
Definition: vertex_container.h:37
line_type const & m_line
Definition: vertex_container.h:27
auto size() const
Definition: vertex_container.h:36
auto end() const
Definition: vertex_container.h:33
Definition: vertex_iterator.h:12
Definition: line.h:35
pos_container_type m_vertices
Definition: line.h:79