MCPcopy Create free account
hub / github.com/covscript/covscript / range_iterator

Class range_iterator

include/covscript/core/core.hpp:855–889  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

853 };
854
855 class range_iterator final {
856 numeric m_step, m_index;
857
858 public:
859 range_iterator() = delete;
860
861 explicit range_iterator(numeric step, numeric index) : m_step(std::move(step)), m_index(std::move(index)) {}
862
863 range_iterator(const range_iterator &) = default;
864
865 range_iterator(range_iterator &&) noexcept = default;
866
867 range_iterator &operator=(const range_iterator &) = default;
868
869 bool operator==(const range_iterator &it) const
870 {
871 return m_index == it.m_index;
872 }
873
874 bool operator!=(const range_iterator &it) const
875 {
876 return m_index < it.m_index;
877 }
878
879 range_iterator &operator++()
880 {
881 m_index = m_index + m_step;
882 return *this;
883 }
884
885 numeric operator*() const
886 {
887 return m_index;
888 }
889 };
890
891 class range_type final {
892 numeric m_start, m_stop, m_step;

Callers 2

beginMethod · 0.85
endMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected