GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • TUTORIALS
  • REFERENCE
  • ARTICLES
  • FORUM
  • C library:
  • <cassert> (assert.h)
  • <cctype> (ctype.h)
  • <cerrno> (errno.h)
  • <cfenv> (fenv.h)
  • <cfloat> (float.h)
  • <cinttypes> (inttypes.h)
  • <ciso646> (iso646.h)
  • <climits> (limits.h)
  • <clocale> (locale.h)

This view

  • Original page
  • New address

GeezerVison is showing cplusplus.com — std::slice

  • TUTORIALS
  • REFERENCE
  • ARTICLES
  • FORUM

C++

  • Tutorials
  • Reference
  • Articles
  • Forum

Reference

  • C library:

    • <cassert> (assert.h)
    • <cctype> (ctype.h)
    • <cerrno> (errno.h)
    • C++11
      <cfenv> (fenv.h)
    • <cfloat> (float.h)
    • C++11
      <cinttypes> (inttypes.h)
    • <ciso646> (iso646.h)
    • <climits> (limits.h)
    • <clocale> (locale.h)
    • <cmath> (math.h)
    • <csetjmp> (setjmp.h)
    • <csignal> (signal.h)
    • <cstdarg> (stdarg.h)
    • C++11
      <cstdbool> (stdbool.h)
    • <cstddef> (stddef.h)
    • C++11
      <cstdint> (stdint.h)
    • <cstdio> (stdio.h)
    • <cstdlib> (stdlib.h)
    • <cstring> (string.h)
    • C++11
      <ctgmath> (tgmath.h)
    • <ctime> (time.h)
    • C++11
      <cuchar> (uchar.h)
    • <cwchar> (wchar.h)
    • <cwctype> (wctype.h)
  • Containers:

    • C++11
      <array>
    • <deque>
    • C++11
      <forward_list>
    • <list>
    • <map>
    • <queue>
    • <set>
    • <stack>
    • C++11
      <unordered_map>
    • C++11
      <unordered_set>
    • <vector>
  • Input/Output:

    • <fstream>
    • <iomanip>
    • <ios>
    • <iosfwd>
    • <iostream>
    • <istream>
    • <ostream>
    • <sstream>
    • <streambuf>
  • Multi-threading:

    • C++11
      <atomic>
    • C++11
      <condition_variable>
    • C++11
      <future>
    • C++11
      <mutex>
    • C++11
      <thread>
  • Other:

    • <algorithm>
    • <bitset>
    • C++11
      <chrono>
    • C++11
      <codecvt>
    • <complex>
    • <exception>
    • <functional>
    • C++11
      <initializer_list>
    • <iterator>
    • <limits>
    • <locale>
    • <memory>
    • <new>
    • <numeric>
    • C++11
      <random>
    • C++11
      <ratio>
    • C++11
      <regex>
    • <stdexcept>
    • <string>
    • C++11
      <system_error>
    • C++11
      <tuple>
    • C++11
      <type_traits>
    • C++11
      <typeindex>
    • <typeinfo>
    • <utility>
    • <valarray>

<valarray>

  • classes

    • gslice
    • gslice_array
    • indirect_array
    • mask_array
    • slice
    • slice_array
    • valarray
  • functions

    • abs
    • acos
    • asin
    • atan
    • atan2
    • cos
    • cosh
    • exp
    • log
    • log10
    • pow
    • sin
    • sinh
    • sqrt
    • tan
    • tanh

slice

  • slice::slice
  • member functions

    • slice::size
    • slice::start
    • slice::stride
  • Reference
  • <valarray>
  • slice
class
<valarray>

std::slice

class slice;
Valarray slice selector
This class represents a valarray slice selector. It does not contain nor refers to any element - it only describes a selection of elements to be used as an index in valarray::operator[].

A valarray slice is defined by a starting index, a size, and a stride.

The starting index (start) is the index of the first element in the selection.
The size (size) is the number of elements in the selection.
The stride (stride) is the span that separates the elements selected.

Therefore, a slice with a stride higher than 1 does not select contiguous elements in the valarray; For example, slice(3,4,5) selects the elements 3, 8, 13 and 18.

Member functions

(constructor)
slice constructor (public member function)
slice::start
Return start of slice (public member function)
slice::size
Return size of slice (public member function)
slice::stride
Return stride of slice (public member function)

Example

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// slice example
#include <iostream>     // std::cout
#include <cstddef>      // std::size_t
#include <valarray>     // std::valarray, std::slice

int main ()
{
  std::valarray<int> foo (12);
  for (int i=0; i<12; ++i) foo[i]=i;

  std::valarray<int> bar = foo[std::slice(2,3,4)];

  std::cout << "slice(2,3,4):";
  for (std::size_t n=0; n<bar.size(); n++)
	  std::cout << ' ' << bar[n];
  std::cout << '\n';

  return 0;
}

Output

slice(2,3,4): 2 6 10


See also

gslice
Valarray generalized slice selector (class)
slice_array
Valarray slice selection (class template)
Home page | Privacy policy
© cplusplus.com, 2000-2026 - All rights reserved - v3.3.4s
Spotted an error? contact us
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.