29 Numerics library [numerics]

29.7 Numeric arrays [numarray]

29.7.4 Class slice [class.slice]

29.7.4.1 Class slice overview [class.slice.overview]

namespace std {
  class slice {
  public:
    slice();
    slice(size_t, size_t, size_t);

    size_t start() const;
    size_t size() const;
    size_t stride() const;
  };
}

slice Класс представляет BLAS-подобный фрагмент из массива. Такой фрагмент определяется начальным индексом, длиной и шагом.280

BLAS означает, что программы на Basic Linear Algebra Subprograms. C ++ могут создавать экземпляры этого класса. Смотрите, например, Dongarra, Du Кроза, Дафф и Hammerling: A set of Level 3 Basic Linear Algebra Subprograms; Технический отчет MCS-P1-0888, Аргоннская национальная лаборатория (США), Отдел математики и информатики, август 1988 г.

29.7.4.2 slice constructors [cons.slice]

slice(); slice(size_t start, size_t length, size_t stride); slice(const slice&);

Конструктор по умолчанию эквивалентен slice(0, 0, 0). Конструктор по умолчанию предоставляется только для того, чтобы разрешить объявление массивов срезов. Конструктор с аргументами для среза принимает параметры начала, длины и шага.

[ Example: slice(3, 8, 2) создает срез, который выбирает элементы 3, 5, 7, ... 17 из массива. ] end example

29.7.4.3 slice access functions [slice.access]

size_t start() const; size_t size() const; size_t stride() const;

Returns: Начало, длина или шаг, указанные slice объектом.

Complexity: Постоянное время.