17template <
typename Tcontainer>
20 Tcontainer *root{
nullptr };
21 int beg{ 0 }, en{ 0 };
26 Interval(Tcontainer &data) : root(&data), en(data.size() - 1) {}
28 Interval(Tcontainer &data,
int begin_,
int end_) : root(&data), beg(begin_), en(end_) {}
30 [[nodiscard]]
constexpr auto begin() noexcept {
return std::begin(*root) + beg; }
31 [[nodiscard]]
constexpr auto end() noexcept {
return std::begin(*root) + en; }
33 [[nodiscard]]
constexpr auto cbegin() const noexcept {
return std::advance(std::cbegin(*root), beg); }
34 [[nodiscard]]
constexpr auto cend() const noexcept {
return std::advance(std::cbegin(*root), en); }
Definition: Interval.hpp:19
constexpr auto cend() const noexcept
Definition: Interval.hpp:34
constexpr auto begin() noexcept
Definition: Interval.hpp:30
Interval(Tcontainer &data, int begin_, int end_)
Definition: Interval.hpp:28
Interval(Tcontainer &data)
Definition: Interval.hpp:26
constexpr auto end() noexcept
Definition: Interval.hpp:31
constexpr auto cbegin() const noexcept
Definition: Interval.hpp:33
Slide namespace contains all the types, classes, and functions for the simulation framework.
Definition: Cell.hpp:27