Shortcuts

Template Class Range

Nested Relationships

Class Documentation

template<typename T>
class ripple::Range

The Range class defines a utility class which allows a simpler syntax for looping a python like range based for loop.

It is wrapped range by the range() function, and the inteded usage is:

// i = [0 ... 100)
for (auto i : range(100)) {
  // Use i
}

// i = [34 .. 70)
for (auto i : range(34, 70)) {
  // Use i
}

// i = [23 .. 69) step = 3
for (auto i : range(23, 69, 3)) {
  // Use i
}

The type of the range elements are defined by the type passed to the range creation function (i.e pass a float to get a range of floats):

for (auto i : range(0.1f, 0.6f, 0.1f)) {
  // Use i
}

Template Parameters
  • T: The type of the range data.

Public Types

using ConstIterator = IteratorImpl<true>

Defines the type of a constant iterator.

using Iterator = IteratorImpl<false>

Defines the type of a non-constant iterator.

Public Functions

constexpr Range(Value min, Value max, Value step) noexcept

Creates the range.

Parameters
  • min: The minimum (start) value for the range.

  • max: The maximum (end) value for the range.

  • step: The step size for the range.

constexpr auto begin() noexcept -> Iterator

Gets a non constant iterator to the beginning of the range.

constexpr auto end() noexcept -> Iterator

Gets a non constant iterator to the end of the range.

constexpr auto begin() const -> ConstIterator

Gets a constant iterator to the beginning of the range.

constexpr auto end() const -> ConstIterator

Gets a non constant iterator to the end of the range.

Docs

Access comprehensive developer documentation for Ripple

View Docs

Tutorials

Get tutorials to help with understand all features

View Tutorials

Examples

Find examples to help get started

View Examples