# std::gslice Class Reference

Class defining multi-dimensional subset of an array. More...

`#include <gslice.h>`

List of all members.

## Public Member Functions
| gslice ()
| Construct an empty slice.
| gslice (size_t, const valarray< size_t > &, const valarray< size_t > &)
| Construct a slice.
| gslice (const gslice &)
| Copy constructor.
| ~gslice ()
| Destructor.
gslice & | operator= (const gslice &)
| Assignment operator.
size_t | start () const
| Return array offset of first slice element.
valarray< size_t > | size () const
| Return array of sizes of slice dimensions.
valarray< size_t > | stride () const
| Return array of array strides for each dimension.

## Detailed Description

Class defining multi-dimensional subset of an array.

The slice class represents a multi-dimensional subset of an array, specified by three parameter sets: start offset, size array, and stride array. The start offset is the index of the first element of the array that is part of the subset. The size and stride array describe each dimension of the slice. Size is the number of elements in that dimension, and stride is the distance in the array between successive elements in that dimension. Each dimension's size and stride is taken to begin at an array element described by the previous dimension. The size array and stride array must be the same size.

For example, if you have offset==3, stride[0]==11, size[1]==3, stride[1]==3, then slice[0,0]==array[3], slice[0,1]==array[6], slice[0,2]==array[9], slice[1,0]==array[14], slice[1,1]==array[17], slice[1,2]==array[20].

Definition at line 63 of file gslice.h.

## Constructor & Destructor Documentation

std::gslice::gslice | ( |  | ) | `[inline]`

| Construct an empty slice. Definition at line 133 of file gslice.h.

std::gslice::gslice | ( | size_t | ,
|  | const valarray< size_t > & | ,
|  | const valarray< size_t > & |
| ) | `[inline]`

  | Construct a slice. Constructs a slice with as many dimensions as the length of the l and s arrays. Parameters:
  | o | Offset in array of first element.
  | l | Array of dimension lengths.
  | s | Array of dimension strides between array elements.
Definition at line 136 of file gslice.h.

std::gslice::gslice | ( | const gslice & |  | ) | `[inline]`

| Copy constructor. Definition at line 141 of file gslice.h.

std::gslice::~gslice | ( |  | ) | `[inline]`

| Destructor. Definition at line 145 of file gslice.h.

## Member Function Documentation

gslice & std::gslice::operator= | ( | const gslice & |  | ) | `[inline]`

| Assignment operator. Definition at line 149 of file gslice.h.

valarray< size_t > std::gslice::size | ( |  | ) | const`[inline]`

| Return array of sizes of slice dimensions. Definition at line 126 of file gslice.h.

size_t std::gslice::start | ( |  | ) | const`[inline]`

| Return array offset of first slice element. Definition at line 122 of file gslice.h.

valarray< size_t > std::gslice::stride | ( |  | ) | const`[inline]`

| Return array of array strides for each dimension. Definition at line 130 of file gslice.h.

The documentation for this class was generated from the following file:

- gslice.h