14namespace sequoia::maths
16 template<
class T, std::
integral Index>
21 using size_type = Index;
24 : m_Start{std::move(start)}
25 , m_Step{std::move(step)}
29 constexpr T operator[](
const size_type i)
const {
return m_Start + i * m_Step; }
32 constexpr T start()
const noexcept {
return m_Start; }
35 constexpr T step()
const noexcept {
return m_Step; }
47 template<
class T, T Start, T Step, std::
size_t Size, std::
integral Index>
51 using size_type = Index;
54 constexpr T start()
const noexcept {
return Start; }
57 constexpr T step()
const noexcept {
return Step; }
60 constexpr std::size_t size()
const noexcept {
return Size; }
63 constexpr T operator[](
const size_type i)
const {
return Start + i * Step; }
Definition: LinearSequence.hpp:18
Definition: LinearSequence.hpp:49