std::valarray< _Tp > Class Template Reference

Smart array designed to support numeric processing. More...

List of all members.

Public Types

typedef _Tp value_type

Public Member Functions

 valarray ()
 Construct an empty array.

 valarray (size_t)
 Construct an array with n elements.

 valarray (const _Tp &, size_t)
 Construct an array with n elements initialized to t.

 valarray (const _Tp *__restrict__, size_t)
 Construct an array initialized to the first n elements of t.

 valarray (const valarray &)
 Copy constructor.

 valarray (const slice_array< _Tp > &)
 Construct an array with the same size and values in sa.

 valarray (const gslice_array< _Tp > &)
 Construct an array with the same size and values in ga.

 valarray (const mask_array< _Tp > &)
 Construct an array with the same size and values in ma.

 valarray (const indirect_array< _Tp > &)
 Construct an array with the same size and values in ia.

template<class _Dom>  valarray (const _Expr< _Dom, _Tp > &__e)
 ~valarray ()
valarray< _Tp > & operator= (const valarray< _Tp > &)
 Assign elements to an array.

valarray< _Tp > & operator= (const _Tp &)
 Assign elements to a value.

valarray< _Tp > & operator= (const slice_array< _Tp > &)
 Assign elements to an array subset.

valarray< _Tp > & operator= (const gslice_array< _Tp > &)
 Assign elements to an array subset.

valarray< _Tp > & operator= (const mask_array< _Tp > &)
 Assign elements to an array subset.

valarray< _Tp > & operator= (const indirect_array< _Tp > &)
 Assign elements to an array subset.

template<class _Dom> valarray< _Tp > & operator= (const _Expr< _Dom, _Tp > &)
_Tp & operator[] (size_t)
const _Tp & operator[] (size_t) const
_Expr< _SClos< _ValArray,
_Tp >, _Tp > 
operator[] (slice) const
 Return an array subset.

slice_array< _Tp > operator[] (slice)
 Return a reference to an array subset.

_Expr< _GClos< _ValArray,
_Tp >, _Tp > 
operator[] (const gslice &) const
 Return an array subset.

gslice_array< _Tp > operator[] (const gslice &)
 Return a reference to an array subset.

valarray< _Tp > operator[] (const valarray< bool > &) const
 Return an array subset.

mask_array< _Tp > operator[] (const valarray< bool > &)
 Return a reference to an array subset.

_Expr< _IClos< _ValArray,
_Tp >, _Tp > 
operator[] (const valarray< size_t > &) const
 Return an array subset.

indirect_array< _Tp > operator[] (const valarray< size_t > &)
 Return a reference to an array subset.

_UnaryOp< __unary_plus >::_Rt operator+ () const
 Return a new valarray by applying unary + to each element.

_UnaryOp< __negate >::_Rt operator- () const
 Return a new valarray by applying unary - to each element.

_UnaryOp< __bitwise_not >::_Rt operator~ () const
 Return a new valarray by applying unary ~ to each element.

_UnaryOp< __logical_not >::_Rt operator! () const
 Return a new valarray by applying unary ! to each element.

valarray< _Tp > & operator *= (const _Tp &)
 Multiply each element of array by t.

valarray< _Tp > & operator/= (const _Tp &)
 Divide each element of array by t.

valarray< _Tp > & operator%= (const _Tp &)
 Set each element e of array to e t.

valarray< _Tp > & operator+= (const _Tp &)
 Add t to each element of array.

valarray< _Tp > & operator-= (const _Tp &)
 Subtract t to each element of array.

valarray< _Tp > & operator^= (const _Tp &)
 Set each element e of array to e ^ t.

valarray< _Tp > & operator &= (const _Tp &)
 Set each element e of array to e & t.

valarray< _Tp > & operator|= (const _Tp &)
 Set each element e of array to e | t.

valarray< _Tp > & operator<<= (const _Tp &)
 Left shift each element e of array by t bits.

valarray< _Tp > & operator>>= (const _Tp &)
 Right shift each element e of array by t bits.

valarray< _Tp > & operator *= (const valarray< _Tp > &)
 Multiply elements of array by corresponding elements of v.

valarray< _Tp > & operator/= (const valarray< _Tp > &)
 Divide elements of array by corresponding elements of v.

valarray< _Tp > & operator%= (const valarray< _Tp > &)
 Modulo elements of array by corresponding elements of v.

valarray< _Tp > & operator+= (const valarray< _Tp > &)
 Add corresponding elements of v to elements of array.

valarray< _Tp > & operator-= (const valarray< _Tp > &)
 Subtract corresponding elements of v from elements of array.

valarray< _Tp > & operator^= (const valarray< _Tp > &)
 Logical xor corresponding elements of v with elements of array.

valarray< _Tp > & operator|= (const valarray< _Tp > &)
 Logical or corresponding elements of v with elements of array.

valarray< _Tp > & operator &= (const valarray< _Tp > &)
 Logical and corresponding elements of v with elements of array.

valarray< _Tp > & operator<<= (const valarray< _Tp > &)
 Left shift elements of array by corresponding elements of v.

valarray< _Tp > & operator>>= (const valarray< _Tp > &)
 Right shift elements of array by corresponding elements of v.

template<class _Dom> valarray< _Tp > & operator *= (const _Expr< _Dom, _Tp > &)
template<class _Dom> valarray< _Tp > & operator/= (const _Expr< _Dom, _Tp > &)
template<class _Dom> valarray< _Tp > & operator%= (const _Expr< _Dom, _Tp > &)
template<class _Dom> valarray< _Tp > & operator+= (const _Expr< _Dom, _Tp > &)
template<class _Dom> valarray< _Tp > & operator-= (const _Expr< _Dom, _Tp > &)
template<class _Dom> valarray< _Tp > & operator^= (const _Expr< _Dom, _Tp > &)
template<class _Dom> valarray< _Tp > & operator|= (const _Expr< _Dom, _Tp > &)
template<class _Dom> valarray< _Tp > & operator &= (const _Expr< _Dom, _Tp > &)
template<class _Dom> valarray< _Tp > & operator<<= (const _Expr< _Dom, _Tp > &)
template<class _Dom> valarray< _Tp > & operator>>= (const _Expr< _Dom, _Tp > &)
size_t size () const
 Return the number of elements in array.

_Tp sum () const
 Return the sum of all elements in the array.

_Tp min () const
 Return the minimum element using operator<().

_Tp max () const
 Return the maximum element using operator<().

valarray< _Tp > shift (int) const
 Return a shifted array.

valarray< _Tp > cshift (int) const
 Return a rotated array.

_Expr< _ValFunClos< _ValArray,
_Tp >, _Tp > 
apply (_Tp func(_Tp)) const
 Apply a function to the array.

_Expr< _RefFunClos< _ValArray,
_Tp >, _Tp > 
apply (_Tp func(const _Tp &)) const
 Apply a function to the array.

void resize (size_t __size, _Tp __c=_Tp())
 Resize array.


Private Attributes

size_t _M_size
_Tp *__restrict__ _M_data

Friends

class _Array< _Tp >


Detailed Description

template<class _Tp>
class std::valarray< _Tp >

Smart array designed to support numeric processing.

A valarray is an array that provides constraints intended to allow for effective optimization of numeric array processing by reducing the aliasing that can result from pointer representations. It represents a one-dimensional array from which different multidimensional subsets can be accessed and modified.

Parameters:
Tp Type of object in the array.

Definition at line 110 of file valarray.


Member Typedef Documentation

template<class _Tp>
typedef _Tp std::valarray< _Tp >::value_type
 

Definition at line 119 of file valarray.


Constructor & Destructor Documentation

template<typename _Tp>
std::valarray< _Tp >::valarray  )  [inline]
 

Construct an empty array.

Definition at line 556 of file valarray.

template<typename _Tp>
std::valarray< _Tp >::valarray size_t   )  [inline, explicit]
 

Construct an array with n elements.

Definition at line 560 of file valarray.

References std::__valarray_default_construct(), and std::__valarray_get_storage().

template<typename _Tp>
std::valarray< _Tp >::valarray const _Tp &  ,
size_t 
[inline]
 

Construct an array with n elements initialized to t.

Definition at line 566 of file valarray.

References std::__valarray_fill_construct(), and std::__valarray_get_storage().

template<class _Tp>
std::valarray< _Tp >::valarray const _Tp *  __restrict__,
size_t 
 

Construct an array initialized to the first n elements of t.

template<typename _Tp>
std::valarray< _Tp >::valarray const valarray< _Tp > &   )  [inline]
 

Copy constructor.

Definition at line 581 of file valarray.

References std::__valarray_copy_construct(), std::__valarray_get_storage(), and std::valarray< _Tp >::_M_data.

template<typename _Tp>
std::valarray< _Tp >::valarray const slice_array< _Tp > &   )  [inline]
 

Construct an array with the same size and values in sa.

Definition at line 587 of file valarray.

References std::__valarray_get_storage(), std::slice_array< _Tp >::_M_array, std::slice_array< _Tp >::_M_stride, and std::slice_array< _Tp >::_M_sz.

template<typename _Tp>
std::valarray< _Tp >::valarray const gslice_array< _Tp > &   )  [inline]
 

Construct an array with the same size and values in ga.

Definition at line 596 of file valarray.

References std::__valarray_get_storage(), std::gslice_array< _Tp >::_M_array, and std::gslice_array< _Tp >::_M_index.

template<typename _Tp>
std::valarray< _Tp >::valarray const mask_array< _Tp > &   )  [inline]
 

Construct an array with the same size and values in ma.

Definition at line 607 of file valarray.

References std::__valarray_get_storage(), std::mask_array< _Tp >::_M_array, and std::mask_array< _Tp >::_M_mask.

template<typename _Tp>
std::valarray< _Tp >::valarray const indirect_array< _Tp > &   )  [inline]
 

Construct an array with the same size and values in ia.

Definition at line 616 of file valarray.

References std::__valarray_get_storage(), std::indirect_array< _Tp >::_M_array, and std::indirect_array< _Tp >::_M_index.

template<typename _Tp>
template<class _Dom>
std::valarray< _Tp >::valarray const _Expr< _Dom, _Tp > &  __e  )  [inline]
 

Definition at line 625 of file valarray.

References std::__valarray_copy(), and std::__valarray_get_storage().

template<typename _Tp>
std::valarray< _Tp >::~valarray  )  [inline]
 

Definition at line 631 of file valarray.

References std::__valarray_destroy_elements(), and std::__valarray_release_memory().


Member Function Documentation

template<class _Tp>
_Expr< _RefFunClos< _ValArray, _Tp >, _Tp > std::valarray< _Tp >::apply _Tp   func(const _Tp &)  )  const [inline]
 

Apply a function to the array.

Returns a new valarray with elements assigned to the result of applying func to the corresponding element of this array. The new array is the same size as this one.

Parameters:
func Function of const Tp& returning Tp to apply.
Returns:
New valarray with transformed elements.

Definition at line 886 of file valarray.

template<class _Tp>
_Expr< _ValFunClos< _ValArray, _Tp >, _Tp > std::valarray< _Tp >::apply _Tp   func(_Tp)  )  const [inline]
 

Apply a function to the array.

Returns a new valarray with elements assigned to the result of applying func to the corresponding element of this array. The new array is the same size as this one.

Parameters:
func Function of Tp returning Tp to apply.
Returns:
New valarray with transformed elements.

Definition at line 878 of file valarray.

template<class _Tp>
valarray< _Tp > std::valarray< _Tp >::cshift int   )  const [inline]
 

Return a rotated array.

A new valarray is constructed as a copy of this array with elements in shifted positions. For an element with index i, the new position is (i - n) size(). The new valarray is the same size as the current one. Elements that are shifted beyond the array bounds are shifted into the other end of the array. No elements are lost.

Positive arguments shift toward index 0, wrapping around the top. Negative arguments shift towards the top, wrapping around to 0.

Parameters:
n Number of element positions to rotate.
Returns:
New valarray with elements in shifted positions.

Definition at line 822 of file valarray.

References std::__valarray_copy_construct().

template<typename _Tp>
_Tp std::valarray< _Tp >::max  )  const [inline]
 

Return the maximum element using operator<().

Definition at line 870 of file valarray.

References _GLIBCXX_DEBUG_ASSERT, and std::max_element().

template<typename _Tp>
_Tp std::valarray< _Tp >::min  )  const [inline]
 

Return the minimum element using operator<().

Definition at line 862 of file valarray.

References _GLIBCXX_DEBUG_ASSERT, and std::min_element().

template<class _Tp>
template<class _Dom>
valarray<_Tp>& std::valarray< _Tp >::operator &= const _Expr< _Dom, _Tp > &   ) 
 

template<class _Tp>
valarray<_Tp>& std::valarray< _Tp >::operator &= const valarray< _Tp > &   ) 
 

Logical and corresponding elements of v with elements of array.

template<class _Tp>
valarray<_Tp>& std::valarray< _Tp >::operator &= const _Tp &   ) 
 

Set each element e of array to e & t.

template<class _Tp>
template<class _Dom>
valarray<_Tp>& std::valarray< _Tp >::operator *= const _Expr< _Dom, _Tp > &   ) 
 

template<class _Tp>
valarray<_Tp>& std::valarray< _Tp >::operator *= const valarray< _Tp > &   ) 
 

Multiply elements of array by corresponding elements of v.

template<class _Tp>
valarray<_Tp>& std::valarray< _Tp >::operator *= const _Tp &   ) 
 

Multiply each element of array by t.

template<class _Tp>
_UnaryOp<__logical_not>::_Rt std::valarray< _Tp >::operator!  )  const
 

Return a new valarray by applying unary ! to each element.

template<class _Tp>
template<class _Dom>
valarray<_Tp>& std::valarray< _Tp >::operator%= const _Expr< _Dom, _Tp > &   ) 
 

template<class _Tp>
valarray<_Tp>& std::valarray< _Tp >::operator%= const valarray< _Tp > &   ) 
 

Modulo elements of array by corresponding elements of v.

template<class _Tp>
valarray<_Tp>& std::valarray< _Tp >::operator%= const _Tp &   ) 
 

Set each element e of array to e t.

template<class _Tp>
_UnaryOp<__unary_plus>::_Rt std::valarray< _Tp >::operator+  )  const
 

Return a new valarray by applying unary + to each element.

template<class _Tp>
template<class _Dom>
valarray<_Tp>& std::valarray< _Tp >::operator+= const _Expr< _Dom, _Tp > &   ) 
 

template<class _Tp>
valarray<_Tp>& std::valarray< _Tp >::operator+= const valarray< _Tp > &   ) 
 

Add corresponding elements of v to elements of array.

template<class _Tp>
valarray<_Tp>& std::valarray< _Tp >::operator+= const _Tp &   ) 
 

Add t to each element of array.

template<class _Tp>
_UnaryOp<__negate>::_Rt std::valarray< _Tp >::operator-  )  const
 

Return a new valarray by applying unary - to each element.

template<class _Tp>
template<class _Dom>
valarray<_Tp>& std::valarray< _Tp >::operator-= const _Expr< _Dom, _Tp > &   ) 
 

template<class _Tp>
valarray<_Tp>& std::valarray< _Tp >::operator-= const valarray< _Tp > &   ) 
 

Subtract corresponding elements of v from elements of array.

template<class _Tp>
valarray<_Tp>& std::valarray< _Tp >::operator-= const _Tp &   ) 
 

Subtract t to each element of array.

template<class _Tp>
template<class _Dom>
valarray<_Tp>& std::valarray< _Tp >::operator/= const _Expr< _Dom, _Tp > &   ) 
 

template<class _Tp>
valarray<_Tp>& std::valarray< _Tp >::operator/= const valarray< _Tp > &   ) 
 

Divide elements of array by corresponding elements of v.

template<class _Tp>
valarray<_Tp>& std::valarray< _Tp >::operator/= const _Tp &   ) 
 

Divide each element of array by t.

template<class _Tp>
template<class _Dom>
valarray<_Tp>& std::valarray< _Tp >::operator<<= const _Expr< _Dom, _Tp > &   ) 
 

template<class _Tp>
valarray<_Tp>& std::valarray< _Tp >::operator<<= const valarray< _Tp > &   ) 
 

Left shift elements of array by corresponding elements of v.

template<class _Tp>
valarray<_Tp>& std::valarray< _Tp >::operator<<= const _Tp &   ) 
 

Left shift each element e of array by t bits.

template<typename _Tp>
template<class _Dom>
valarray< _Tp > & std::valarray< _Tp >::operator= const _Expr< _Dom, _Tp > &   )  [inline]
 

Definition at line 696 of file valarray.

References std::__valarray_copy(), _GLIBCXX_DEBUG_ASSERT, and std::_Expr< _Clos, _Tp >::size().

template<typename _Tp>
valarray< _Tp > & std::valarray< _Tp >::operator= const indirect_array< _Tp > &   )  [inline]
 

Assign elements to an array subset.

Assign elements of array to values in ia. Results are undefined if ia is not the same size as this array.

Parameters:
ia Array slice to get values from.

Definition at line 686 of file valarray.

References std::__valarray_copy(), _GLIBCXX_DEBUG_ASSERT, std::indirect_array< _Tp >::_M_array, std::indirect_array< _Tp >::_M_index, and std::indirect_array< _Tp >::_M_sz.

template<typename _Tp>
valarray< _Tp > & std::valarray< _Tp >::operator= const mask_array< _Tp > &   )  [inline]
 

Assign elements to an array subset.

Assign elements of array to values in ma. Results are undefined if ma is not the same size as this array.

Parameters:
ma Array slice to get values from.

Definition at line 676 of file valarray.

References std::__valarray_copy(), _GLIBCXX_DEBUG_ASSERT, std::mask_array< _Tp >::_M_array, std::mask_array< _Tp >::_M_mask, and std::mask_array< _Tp >::_M_sz.

template<typename _Tp>
valarray< _Tp > & std::valarray< _Tp >::operator= const gslice_array< _Tp > &   )  [inline]
 

Assign elements to an array subset.

Assign elements of array to values in ga. Results are undefined if ga is not the same size as this array.

Parameters:
ga Array slice to get values from.

Definition at line 666 of file valarray.

References std::__valarray_copy(), _GLIBCXX_DEBUG_ASSERT, std::gslice_array< _Tp >::_M_array, std::gslice_array< _Tp >::_M_index, and std::valarray< size_t >::size().

template<typename _Tp>
valarray< _Tp > & std::valarray< _Tp >::operator= const slice_array< _Tp > &   )  [inline]
 

Assign elements to an array subset.

Assign elements of array to values in sa. Results are undefined if sa is not the same size as this array.

Parameters:
sa Array slice to get values from.

Definition at line 656 of file valarray.

References std::__valarray_copy(), _GLIBCXX_DEBUG_ASSERT, std::slice_array< _Tp >::_M_array, std::slice_array< _Tp >::_M_stride, and std::slice_array< _Tp >::_M_sz.

template<typename _Tp>
valarray< _Tp > & std::valarray< _Tp >::operator= const _Tp &   )  [inline]
 

Assign elements to a value.

Assign all elements of array to t.

Parameters:
t Value for elements.

Definition at line 648 of file valarray.

References std::__valarray_fill().

template<typename _Tp>
valarray< _Tp > & std::valarray< _Tp >::operator= const valarray< _Tp > &   )  [inline]
 

Assign elements to an array.

Assign elements of array to values in v. Results are undefined if v is not the same size as this array.

Parameters:
v Valarray to get values from.

Definition at line 639 of file valarray.

References std::__valarray_copy(), _GLIBCXX_DEBUG_ASSERT, std::valarray< _Tp >::_M_data, and std::valarray< _Tp >::_M_size.

template<class _Tp>
template<class _Dom>
valarray<_Tp>& std::valarray< _Tp >::operator>>= const _Expr< _Dom, _Tp > &   ) 
 

template<class _Tp>
valarray<_Tp>& std::valarray< _Tp >::operator>>= const valarray< _Tp > &   ) 
 

Right shift elements of array by corresponding elements of v.

template<class _Tp>
valarray<_Tp>& std::valarray< _Tp >::operator>>= const _Tp &   ) 
 

Right shift each element e of array by t bits.

template<typename _Tp>
indirect_array< _Tp > std::valarray< _Tp >::operator[] const valarray< size_t > &   )  [inline]
 

Return a reference to an array subset.

Returns an indirect_array referencing the elements of the array indicated by the argument. The elements in the argument are interpreted as the indices of elements of this valarray to include in the subset. The returned indirect_array refers to these elements.

Parameters:
i The valarray element index list.
Returns:
Indirect_array referencing elements in i.

Definition at line 768 of file valarray.

References std::valarray< _Tp >::size().

template<typename _Tp>
_Expr< _IClos< _ValArray, _Tp >, _Tp > std::valarray< _Tp >::operator[] const valarray< size_t > &   )  const [inline]
 

Return an array subset.

Returns a new valarray containing the elements of the array indicated by the argument. The elements in the argument are interpreted as the indices of elements of this valarray to copy to the return valarray.

Parameters:
i The valarray element index list.
Returns:
New valarray containing elements in s.

Definition at line 760 of file valarray.

template<typename _Tp>
mask_array< _Tp > std::valarray< _Tp >::operator[] const valarray< bool > &   )  [inline]
 

Return a reference to an array subset.

Returns a new mask_array referencing the elements of the array indicated by the argument. The input is a valarray of bool which represents a bitmask indicating which elements are part of the subset. Elements of the array are part of the subset if the corresponding element of the argument is true.

Parameters:
m The valarray bitmask.
Returns:
New valarray containing elements indicated by m.

Definition at line 749 of file valarray.

References std::valarray< _Tp >::size().

template<typename _Tp>
valarray< _Tp > std::valarray< _Tp >::operator[] const valarray< bool > &   )  const [inline]
 

Return an array subset.

Returns a new valarray containing the elements of the array indicated by the argument. The input is a valarray of bool which represents a bitmask indicating which elements should be copied into the new valarray. Each element of the array is added to the return valarray if the corresponding element of the argument is true.

Parameters:
m The valarray bitmask.
Returns:
New valarray containing elements indicated by m.

Definition at line 737 of file valarray.

References std::valarray< _Tp >::size().

template<typename _Tp>
gslice_array< _Tp > std::valarray< _Tp >::operator[] const gslice  )  [inline]
 

Return a reference to an array subset.

Returns a new valarray containing the elements of the array indicated by the gslice argument. The new valarray is the size of the input gslice.

See also:
gslice.
Parameters:
s The source gslice.
Returns:
New valarray containing elements in s.

Definition at line 729 of file valarray.

References std::gslice::_M_index.

template<typename _Tp>
_Expr< _GClos< _ValArray, _Tp >, _Tp > std::valarray< _Tp >::operator[] const gslice  )  const [inline]
 

Return an array subset.

Returns a slice_array referencing the elements of the array indicated by the slice argument.

See also:
gslice.
Parameters:
s The source slice.
Returns:
Slice_array referencing elements indicated by s.

Definition at line 720 of file valarray.

References std::gslice::_M_index.

template<typename _Tp>
slice_array< _Tp > std::valarray< _Tp >::operator[] slice   )  [inline]
 

Return a reference to an array subset.

Returns a new valarray containing the elements of the array indicated by the slice argument. The new valarray is the size of the input slice.

See also:
slice.
Parameters:
s The source slice.
Returns:
New valarray containing elements in s.

Definition at line 713 of file valarray.

template<typename _Tp>
_Expr< _SClos< _ValArray, _Tp >, _Tp > std::valarray< _Tp >::operator[] slice   )  const [inline]
 

Return an array subset.

Returns a new valarray containing the elements of the array indicated by the slice argument. The new valarray is the size of the input slice.

See also:
slice.
Parameters:
s The source slice.
Returns:
New valarray containing elements in s.

Definition at line 705 of file valarray.

template<typename _Tp>
const _Tp & std::valarray< _Tp >::operator[] size_t   )  const [inline]
 

Definition at line 528 of file valarray.

References __glibcxx_requires_subscript.

template<typename _Tp>
_Tp & std::valarray< _Tp >::operator[] size_t   )  [inline]
 

Return a reference to the i'th array element.

Parameters:
i Index of element to return.
Returns:
Reference to the i'th element.

Definition at line 536 of file valarray.

References __glibcxx_requires_subscript.

template<class _Tp>
template<class _Dom>
valarray<_Tp>& std::valarray< _Tp >::operator^= const _Expr< _Dom, _Tp > &   ) 
 

template<class _Tp>
valarray<_Tp>& std::valarray< _Tp >::operator^= const valarray< _Tp > &   ) 
 

Logical xor corresponding elements of v with elements of array.

template<class _Tp>
valarray<_Tp>& std::valarray< _Tp >::operator^= const _Tp &   ) 
 

Set each element e of array to e ^ t.

template<class _Tp>
template<class _Dom>
valarray<_Tp>& std::valarray< _Tp >::operator|= const _Expr< _Dom, _Tp > &   ) 
 

template<class _Tp>
valarray<_Tp>& std::valarray< _Tp >::operator|= const valarray< _Tp > &   ) 
 

Logical or corresponding elements of v with elements of array.

template<class _Tp>
valarray<_Tp>& std::valarray< _Tp >::operator|= const _Tp &   ) 
 

Set each element e of array to e | t.

template<class _Tp>
_UnaryOp<__bitwise_not>::_Rt std::valarray< _Tp >::operator~  )  const
 

Return a new valarray by applying unary ~ to each element.

template<class _Tp>
void std::valarray< _Tp >::resize size_t  __size,
_Tp  __c = _Tp()
[inline]
 

Resize array.

Resize this array to be size and set all elements to c. All references and iterators are invalidated.

Parameters:
size New array size.
c New value for all elements.

Definition at line 845 of file valarray.

References std::__valarray_destroy_elements(), std::__valarray_fill_construct(), and std::__valarray_release_memory().

template<class _Tp>
valarray< _Tp > std::valarray< _Tp >::shift int   )  const [inline]
 

Return a shifted array.

A new valarray is constructed as a copy of this array with elements in shifted positions. For an element with index i, the new position is i - n. The new valarray is the same size as the current one. New elements without a value are set to 0. Elements whos new position is outside the bounds of the array are discarded.

Positive arguments shift toward index 0, discarding elements [0, n). Negative arguments discard elements from the top of the array.

Parameters:
n Number of element positions to shift.
Returns:
New valarray with elements in shifted positions.

Definition at line 796 of file valarray.

References std::__valarray_copy_construct(), and std::__valarray_default_construct().

template<class _Tp>
size_t std::valarray< _Tp >::size  )  const [inline]
 

Return the number of elements in array.

Definition at line 776 of file valarray.

Referenced by std::valarray< _Tp >::operator[]().

template<class _Tp>
_Tp std::valarray< _Tp >::sum  )  const [inline]
 

Return the sum of all elements in the array.

Accumulates the sum of all elements into a Tp using +=. The order of adding the elements is unspecified.

Definition at line 781 of file valarray.

References std::__valarray_sum(), and _GLIBCXX_DEBUG_ASSERT.


Friends And Related Function Documentation

template<class _Tp>
friend class _Array< _Tp > [friend]
 

Definition at line 523 of file valarray.


Member Data Documentation

template<class _Tp>
_Tp* __restrict__ std::valarray< _Tp >::_M_data [private]
 

Definition at line 521 of file valarray.

Referenced by std::valarray< _Tp >::operator=(), and std::valarray< _Tp >::valarray().

template<class _Tp>
size_t std::valarray< _Tp >::_M_size [private]
 

Definition at line 520 of file valarray.

Referenced by std::valarray< _Tp >::operator=().


The documentation for this class was generated from the following file:
Generated on Tue Jan 30 17:32:19 2007 for GNU C++ STL by doxygen 1.3.6