libstdc++: Numeric Arrays (original) (raw)

Classes
class std::gslice
class std::gslice_array< _Tp >
class std::indirect_array< _Tp >
class std::mask_array< _Tp >
class std::slice
class std::slice_array< _Tp >
class std::valarray< _Tp >
Functions
std::gslice::gslice ()
std::gslice::gslice (const gslice &)
std::gslice::gslice (size_t __o, const valarray< size_t > &__l, const valarray< size_t > &__s)
std::slice::slice ()
std::slice::slice (size_t __o, size_t __d, size_t __s)
std::valarray< _Tp >::valarray () noexcept
template<class _Dom >
std::valarray< _Tp >::valarray (const _Expr< _Dom, _Tp > &__e)
std::valarray< _Tp >::valarray (const _Tp &, size_t)
template<typename _Tp >
std::valarray< _Tp >::valarray (const _Tp *__restrict__ __p, size_t __n)
std::valarray< _Tp >::valarray (const gslice_array< _Tp > &)
std::valarray< _Tp >::valarray (const indirect_array< _Tp > &)
std::valarray< _Tp >::valarray (const mask_array< _Tp > &)
std::valarray< _Tp >::valarray (const slice_array< _Tp > &)
template<typename _Tp >
std::valarray< _Tp >::valarray (const valarray< _Tp > &__v)
std::valarray< _Tp >::valarray (initializer_list< _Tp >)
std::valarray< _Tp >::valarray (size_t)
template<typename _Tp >
std::valarray< _Tp >::valarray (valarray< _Tp > &&__v) noexcept
std::gslice::~gslice ()
_Expr< _ValFunClos< _ValArray, _Tp >, _Tp > std::valarray< _Tp >::apply (_Tp __func(_Tp)) const
_Expr< _RefFunClos< _ValArray, _Tp >, _Tp > std::valarray< _Tp >::apply (_Tp __func(const _Tp &)) const
template<class _Tp >
const _Tp * std::begin (const valarray< _Tp > &__va) noexcept
template<class _Tp >
_Tp * std::begin (valarray< _Tp > &__va) noexcept
valarray< _Tp > std::valarray< _Tp >::cshift (int __n) const
template<class _Tp >
const _Tp * std::end (const valarray< _Tp > &__va) noexcept
template<class _Tp >
_Tp * std::end (valarray< _Tp > &__va) noexcept
_Tp std::valarray< _Tp >::max () const
_Tp std::valarray< _Tp >::min () const
template<class _Dom >
valarray< _Tp > & std::valarray< _Tp >::operator= (const _Expr< _Dom, _Tp > &)
template<class _Dom >
void std::gslice_array< _Tp >::operator= (const _Expr< _Dom, _Tp > &) const
template<class _Dom >
void std::indirect_array< _Tp >::operator= (const _Expr< _Dom, _Tp > &) const
template<class _Dom >
void std::slice_array< _Tp >::operator= (const _Expr< _Dom, _Tp > &) const
template<class _Ex >
void std::mask_array< _Tp >::operator= (const _Expr< _Ex, _Tp > &__e) const
void std::gslice_array< _Tp >::operator= (const _Tp &) const
void std::indirect_array< _Tp >::operator= (const _Tp &) const
void std::mask_array< _Tp >::operator= (const _Tp &) const
void std::slice_array< _Tp >::operator= (const _Tp &) const
valarray< _Tp > & std::valarray< _Tp >::operator= (const _Tp &__t)
gslice & std::gslice::operator= (const gslice &)
template<typename _Tp >
gslice_array< _Tp > & std::gslice_array< _Tp >::operator= (const gslice_array< _Tp > &__a)
valarray< _Tp > & std::valarray< _Tp >::operator= (const gslice_array< _Tp > &__ga)
template<typename _Tp >
indirect_array< _Tp > & std::indirect_array< _Tp >::operator= (const indirect_array< _Tp > &__a)
valarray< _Tp > & std::valarray< _Tp >::operator= (const indirect_array< _Tp > &__ia)
template<typename _Tp >
mask_array< _Tp > & std::mask_array< _Tp >::operator= (const mask_array< _Tp > &__a)
valarray< _Tp > & std::valarray< _Tp >::operator= (const mask_array< _Tp > &__ma)
template<typename _Tp >
slice_array< _Tp > & std::slice_array< _Tp >::operator= (const slice_array< _Tp > &__a)
valarray< _Tp > & std::valarray< _Tp >::operator= (const slice_array< _Tp > &__sa)
void std::gslice_array< _Tp >::operator= (const valarray< _Tp > &) const
void std::indirect_array< _Tp >::operator= (const valarray< _Tp > &) const
void std::mask_array< _Tp >::operator= (const valarray< _Tp > &) const
void std::slice_array< _Tp >::operator= (const valarray< _Tp > &) const
valarray< _Tp > & std::valarray< _Tp >::operator= (const valarray< _Tp > &__v)
valarray & std::valarray< _Tp >::operator= (initializer_list< _Tp > __l)
valarray< _Tp > & std::valarray< _Tp >::operator= (valarray< _Tp > &&__v) noexcept
gslice_array< _Tp > std::valarray< _Tp >::operator[] (const gslice &__s)
_Expr< _GClos< _ValArray, _Tp >, _Tp > std::valarray< _Tp >::operator[] (const gslice &__s) const
mask_array< _Tp > std::valarray< _Tp >::operator[] (const valarray< bool > &__m)
valarray< _Tp > std::valarray< _Tp >::operator[] (const valarray< bool > &__m) const
indirect_array< _Tp > std::valarray< _Tp >::operator[] (const valarray< size_t > &__i)
_Expr< _IClos< _ValArray, _Tp >, _Tp > std::valarray< _Tp >::operator[] (const valarray< size_t > &__i) const
_Tp & std::valarray< _Tp >::operator[] (size_t __i) noexcept
const _Tp & std::valarray< _Tp >::operator[] (size_t) const noexcept
slice_array< _Tp > std::valarray< _Tp >::operator[] (slice __s)
_Expr< _SClos< _ValArray, _Tp >, _Tp > std::valarray< _Tp >::operator[] (slice __s) const
void std::valarray< _Tp >::resize (size_t __size, _Tp __c=_Tp())
valarray< _Tp > std::valarray< _Tp >::shift (int __n) const
valarray< size_t > std::gslice::size () const
size_t std::slice::size () const
size_t std::valarray< _Tp >::size () const
size_t std::gslice::start () const
size_t std::slice::start () const
valarray< size_t > std::gslice::stride () const
size_t std::slice::stride () const
_Tp std::valarray< _Tp >::sum () const
void std::valarray< _Tp >::swap (valarray< _Tp > &__v) noexcept
template<typename _Tp , size_t _Nm>
std::valarray (const _Tp(&)[_Nm], size_t) -> valarray< _Tp >

Classes and functions for representing and manipulating arrays of elements.

gslice() [1/3]

std::gslice::gslice ( ) inline

Construct an empty slice.

Definition at line 149 of file gslice.h.

gslice() [2/3]

std::gslice::gslice ( const gslice & __g) inline

Copy constructor.

Definition at line 158 of file gslice.h.

gslice() [3/3]

std::gslice::gslice ( size_t __o, const valarray< size_t > & __l, const valarray< size_t > & __s ) 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 153 of file gslice.h.

slice() [1/2]

std::slice::slice ( ) inline

slice() [2/2]

std::slice::slice ( size_t __o, size_t __d, size_t __s ) inline

Construct a slice.

Parameters

__o Offset in array of first element.
__d Number of elements in slice.
__s Stride between array elements.

Definition at line 99 of file slice_array.h.

valarray() [1/12]

Construct an empty array.

Definition at line 623 of file valarray.

valarray() [2/12]

template<typename _Tp >

template<class _Dom >

std::valarray< _Tp >::valarray ( const _Expr< _Dom, _Tp > & __e) inline

valarray() [3/12]

template<typename _Tp >

std::valarray< _Tp >::valarray ( const _Tp & __t, size_t __n ) inline

Construct an array with n elements initialized to t.

Definition at line 633 of file valarray.

valarray() [4/12]

template<class _Tp >

template<typename _Tp >

std::valarray< _Tp >::valarray ( const _Tp *__restrict__ __p, size_t __n ) inline

valarray() [5/12]

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

Definition at line 675 of file valarray.

valarray() [6/12]

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

Definition at line 695 of file valarray.

valarray() [7/12]

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

Definition at line 686 of file valarray.

valarray() [8/12]

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

Definition at line 666 of file valarray.

valarray() [9/12]

template<class _Tp >

template<typename _Tp >

valarray() [10/12]

Construct an array with an initializer_list of values.

Definition at line 705 of file valarray.

valarray() [11/12]

Construct an array with n elements.

Definition at line 627 of file valarray.

valarray() [12/12]

template<class _Tp >

template<typename _Tp >

~gslice()

std::gslice::~gslice ( ) inline

~valarray()

apply() [1/2]

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 has the same size as this one.

Parameters

__func Function of Tp returning Tp to apply.

Returns

New valarray with transformed elements.

Definition at line 1075 of file valarray.

apply() [2/2]

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 has 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 1083 of file valarray.

begin() [1/2]

template<class _Tp >

const _Tp * std::begin ( const valarray< _Tp > & __va) inlinenoexcept

Return an iterator pointing to the first element of the const valarray.

Parameters

Definition at line 1238 of file valarray.

References std::__addressof().

begin() [2/2]

template<class _Tp >

_Tp * std::begin ( valarray< _Tp > & __va) inlinenoexcept

Return an iterator pointing to the first element of the valarray.

Parameters

Definition at line 1227 of file valarray.

References std::__addressof().

Referenced by std::cbegin(), std::vector< _Tp, _Alloc >::insert(), std::list< _Tp, _Alloc >::merge(), std::list< _Tp, _Alloc >::merge(), std::list< _Tp, _Alloc >::remove(), std::list< _Tp, _Alloc >::remove_if(), std::list< _Tp, _Alloc >::sort(), std::list< _Tp, _Alloc >::sort(), std::list< _Tp, _Alloc >::unique(), and std::list< _Tp, _Alloc >::unique().

cshift()

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 has 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 1001 of file valarray.

end() [1/2]

template<class _Tp >

const _Tp * std::end ( const valarray< _Tp > & __va) inlinenoexcept

Return an iterator pointing to one past the last element of the const valarray.

Parameters

Definition at line 1265 of file valarray.

References std::__addressof().

end() [2/2]

template<class _Tp >

_Tp * std::end ( valarray< _Tp > & __va) inlinenoexcept

Return an iterator pointing to one past the last element of the valarray.

Parameters

Definition at line 1249 of file valarray.

References std::__addressof().

Referenced by std::cend(), std::vector< _Tp, _Alloc >::insert(), std::list< _Tp, _Alloc >::merge(), std::list< _Tp, _Alloc >::merge(), std::list< _Tp, _Alloc >::remove(), std::list< _Tp, _Alloc >::remove_if(), std::list< _Tp, _Alloc >::resize(), std::list< _Tp, _Alloc >::resize(), std::forward_list< _Tp, _Alloc >::resize(), std::forward_list< _Tp, _Alloc >::resize(), std::list< _Tp, _Alloc >::sort(), std::list< _Tp, _Alloc >::sort(), std::list< _Tp, _Alloc >::unique(), and std::list< _Tp, _Alloc >::unique().

max()

Return the maximum element using operator<().

Definition at line 1067 of file valarray.

min()

Return the minimum element using operator<().

Definition at line 1059 of file valarray.

operator=() [1/26]

template<typename _Tp >

template<class _Dom >

operator=() [2/26]

template<typename _Tp >

template<class _Dom >

void std::gslice_array< _Tp >::operator= ( const _Expr< _Dom, _Tp > & __e) const inline

operator=() [3/26]

template<typename _Tp >

template<class _Dom >

operator=() [4/26]

template<typename _Tp >

template<class _Dom >

void std::slice_array< _Tp >::operator= ( const _Expr< _Dom, _Tp > & __e) const inline

operator=() [5/26]

template<class _Tp >

template<class _Ex >

void std::mask_array< _Tp >::operator= ( const _Expr< _Ex, _Tp > & __e) const inline

operator=() [6/26]

operator=() [7/26]

operator=() [8/26]

Assign all slice elements to t.

Definition at line 164 of file mask_array.h.

operator=() [9/26]

operator=() [10/26]

Assign elements to a value.

Assign all elements of array to t.

Parameters

Definition at line 790 of file valarray.

operator=() [11/26]

gslice & std::gslice::operator= ( const gslice & __g) inline

Assignment operator.

Definition at line 170 of file gslice.h.

operator=() [12/26]

template<typename _Tp >

template<typename _Tp >

operator=() [13/26]

Assign elements to an array subset.

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

Parameters

__ga Array slice to get values from.

Definition at line 808 of file valarray.

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

operator=() [14/26]

template<class _Tp >

template<typename _Tp >

operator=() [15/26]

Assign elements to an array subset.

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

Parameters

__ia Array slice to get values from.

Definition at line 828 of file valarray.

operator=() [16/26]

template<class _Tp >

template<typename _Tp >

operator=() [17/26]

Assign elements to an array subset.

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

Parameters

__ma Array slice to get values from.

Definition at line 818 of file valarray.

operator=() [18/26]

template<typename _Tp >

template<typename _Tp >

operator=() [19/26]

Assign elements to an array subset.

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

Parameters

__sa Array slice to get values from.

Definition at line 798 of file valarray.

operator=() [20/26]

operator=() [21/26]

Assign slice elements to corresponding elements of v.

Definition at line 168 of file indirect_array.h.

operator=() [22/26]

operator=() [23/26]

Assign slice elements to corresponding elements of v.

Definition at line 239 of file slice_array.h.

operator=() [24/26]

Assign elements to an array.

Assign elements of array to values in v.

Parameters

__v Valarray to get values from.

Definition at line 726 of file valarray.

operator=() [25/26]

Assign elements to an initializer_list.

Assign elements of array to values in __l. Results are undefined if __l does not have the same size as this array.

Parameters

__l initializer_list to get values from.

Definition at line 766 of file valarray.

operator=() [26/26]

Move assign elements to an array.

Move assign elements of array to values in v.

Parameters

__v Valarray to get values from.

Definition at line 750 of file valarray.

operator[]() [1/10]

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 has the same size as the input gslice.

See also

gslice.

Parameters

Returns

New valarray containing elements in __s.

Definition at line 888 of file valarray.

operator[]() [2/10]

template<typename _Tp >

_Expr< _GClos< _ValArray, _Tp >, _Tp > std::valarray< _Tp >::operator[] ( const gslice & __s) 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

Returns

Slice_array referencing elements indicated by __s.

Definition at line 879 of file valarray.

operator[]() [3/10]

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

Returns

New valarray containing elements indicated by __m.

Definition at line 909 of file valarray.

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

operator[]() [4/10]

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

Returns

New valarray containing elements indicated by __m.

Definition at line 896 of file valarray.

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

operator[]() [5/10]

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 929 of file valarray.

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

operator[]() [6/10]

template<typename _Tp >

_Expr< _IClos< _ValArray, _Tp >, _Tp > std::valarray< _Tp >::operator[] ( const valarray< size_t > & __i) 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 921 of file valarray.

operator[]() [7/10]

template<typename _Tp >

_Tp & std::valarray< _Tp >::operator[] ( size_t __i) inlinenoexcept

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 594 of file valarray.

operator[]() [8/10]

template<typename _Tp >

const _Tp & std::valarray< _Tp >::operator[] ( size_t __i) const inlinenoexcept

operator[]() [9/10]

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 has the same size as the input slice.

See also

slice.

Parameters

Returns

New valarray containing elements in __s.

Definition at line 874 of file valarray.

operator[]() [10/10]

template<typename _Tp >

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

Return an array subset.

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

See also

slice.

Parameters

Returns

New valarray containing elements in __s.

Definition at line 866 of file valarray.

resize()

template<class _Tp >

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

Resize array.

Resize this array to 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 1042 of file valarray.

shift()

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 has the same size as the current one. New elements without a value are set to 0. Elements whose 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 960 of file valarray.

size() [1/3]

valarray< size_t > std::gslice::size ( ) const inline

Return array of sizes of slice dimensions.

Definition at line 139 of file gslice.h.

size() [2/3]

size_t std::slice::size ( ) const inline

size() [3/3]

start() [1/2]

size_t std::gslice::start ( ) const inline

Return array offset of first slice element.

Definition at line 135 of file gslice.h.

start() [2/2]

size_t std::slice::start ( ) const inline

Return array offset of first slice element.

Definition at line 103 of file slice_array.h.

stride() [1/2]

valarray< size_t > std::gslice::stride ( ) const inline

Return array of array strides for each dimension.

Definition at line 143 of file gslice.h.

stride() [2/2]

size_t std::slice::stride ( ) const inline

sum()

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 952 of file valarray.

swap()