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.