Stride Tools#

namespace librapid
template<typename T = size_t, size_t N = 32>
class Stride : public librapid::Shape<size_t, 32>
#include <strideTools.hpp>

A Stride is a vector of integers that describes the distance between elements in each dimension of an ArrayContainer object. This can be used to access elements in a non-trivial order, or to access a sub-array of an ArrayContainer object. The Stride class inherits from the Shape class.

See also

Shape

Template Parameters
  • T – The type of the Stride. Must be an integer type.

  • N – The number of dimensions in the Stride.

Public Functions

Stride() = default

Default Constructor.

Stride(const Shape<T, N> &shape)

Construct a Stride from a Shape object. This will assume that the data represented by the Shape object is a contiguous block of memory, and will calculate the corresponding strides based on this.

Parameters

shape

Stride(const Stride &other) = default

Copy a Stride object

Parameters

other – The Stride object to copy.

Stride(Stride &&other) noexcept = default

Move a Stride object

Parameters

other – The Stride object to move.

Stride &operator=(const Stride &other) = default

Assign a Stride object to this Stride object.

Parameters

other – The Stride object to assign.

Stride &operator=(Stride &&other) noexcept = default

Move a Stride object to this Stride object.

Parameters

other – The Stride object to move.

namespace typetraits

Functions

LIBRAPID_DEFINE_AS_TYPE (typename T COMMA size_t N, Stride< T COMMA N >)