The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

slice_array (3)
  • >> slice_array (3) ( Solaris man: Библиотечные вызовы )
  • 
                           Standard C++ Library
                 Copyright 1998, Rogue Wave Software, Inc.
    
    
    NAME
         slice_array
    
          - A numeric array class for representing a BLAS-like  slice
         from a valarray.
    
    
    
    SYNOPSIS
         #include <valarray>
         template <class T>
         class slice_array ;
    
    
    
    DESCRIPTION
         slice_array<T>  gives  a  slice  view   into   a   valarray.
         Slice_arrays  are  only  produced by applying the slice sub-
         script operator to a valarray. The elements in a slice_array
         are  references  to  selected  elements  in the valarray (so
         changing an element in the slice_array  really  changes  the
         corresponding  element  in the valarray). A slice_array does
         not itself hold any distinct elements. The  template  cannot
         be  instantiated  directly  since  all  its constructors are
         private. However, you can easily copy  a  slice_array  to  a
         valarray  using  either the valarray copy constructor or the
         assignment operator. Reference semantics are  lost  at  that
         point.
    
    
    
    INTERFACE
         template <class T> class slice_array {
         public:
    
           // types
          typedef T value_type;
    
           // destructor
           ~slice_array();
    
           // public assignment
          void operator= (const valarray<T>& array) const;
           // computed assignment
          void operator*= (const valarray<T>& array) const;
          void operator/= (const valarray<T>& array) const;
          void operator%= (const valarray<T>& array) const;
          void operator+= (const valarray<T>& array) const;
          void operator-= (const valarray<T>& array) const;
          void operator^= (const valarray<T>& array) const;
          void operator&= (const valarray<T>& array) const;
          void operator|= (const valarray<T>& array) const;
          void operator<<= (const valarray<T>& array) const;
          void operator>>= (const valarray<T>& array) const;
    
           // other
          void operator= (const T&);
    
         private:
           // constructors
          slice_array();
          slice_array(const slice_array<T>&);
           // operator =
          slice_array<T>& operator= (const slice_array<T>& array);
         };
    
    
    
    CONSTRUCTORS
         slice_array();
         slice_array(const slice_array&);
    
    
            All slice_array constructors are private  and  cannot  be
            called  directly.  This  prevents  copy  construction  of
            slice_arrays.
    
    
    
    ASSIGNMENT OPERATORS
         void operator=(const valarray<T>& x) const;
    
    
            Assigns values from x to the  selected  elements  of  the
            valarray that self refers to. Remember that a slice_array
            never holds any elements  itself,  it  simply  refers  to
            selected elements in the valarray used to generate it.
    
    
    
         slice_array<T>&
         operator=(const slice-_array<T>& x);
    
    
            Private assignment operator. Cannot be  called  directly,
            thus preventing assignment between slice_arrays.
    
    
    
    COMPUTED ASSIGNMENT OPERATORS
         void operator*=(const valarray<T>& val) const;
         void operator/=(const valarray<T>& val) const;
         void operator%=(const valarray<T>& val) const;
         void operator+=(const valarray<T>& val) const;
         void operator-=(const valarray<T>& val) const;
         void operator^=(const valarray<T>& val) const;
         void operator&=(const valarray<T>& val) const;
         void operator|=(const valarray<T>& val) const;
         void operator<<=(const valarray<T>& val) const;
         void operator>>=(const valarray<T>& val) const;
    
    
            Applies the indicated operation using elements  from  val
            to the selected elements of the valarray that self refers
            to. Remember that a slice_array never holds any  elements
            itself;  it  simply  refers  to  selected elements in the
            valarray used to generate it.
    
    
    
    MEMBER FUNCTIONS
         void operator= (const T& x);
    
    
            Assigns x to the selected elements of the  valarray  that
            self refers to.
    
    
    
    EXAMPLE
         //
         // slice_array.cpp
         //
         #include "valarray.h"  // Contains a valarray
                                // stream inserter
         using namespace std;
    
         int main(void)
         {
          int ibuf[10] = {0,1,2,3,4,5,6,7,8,9};
          int ibuf2[5] = {1,3,5,7,9};
    
           // create a valarray of ints
          valarray<int>         vi(ibuf,10);
          valarray<int>         vi2(ibuf2,5);
    
           // print it out
          cout << vi << endl << vi2 << endl;
    
           // Get a slice and assign that slice to another array
          slice_array<int> sl = vi[slice(1,5,2)];
          valarray<int> vi3 = sl;
    
           // print out the slice
          cout << vi3 << endl;
    
           // Add slice from vi2 to slice of vi1
          sl += vi2;
    
           // print out vi1 again
          cout << vi << endl;
    
          return 0;
         }
    
         Program Output
    
    
    
         [0,1,2,3,4,5,6,7,8,9]
         [1,3,5,7,9]
         [1,3,5,7,9]
         [0,2,2,6,4,10,6,14,8,18]
    
    
    
    WARNINGS
         If your compiler does not support namespaces,  then  you  do
         not need the using declaration for std.
    
    
    
    SEE ALSO
         slice,   valarray,   gslice,    gslice_array,    mask_array,
         indirect_array
    
    
    
    


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру