std::indirect_array< _Tp > - Reference to arbitrary subset of an array.
Contents
Constructor & Destructor Documentation
template<class_Tp>std::indirect_array<_Tp>::indirect_array(constindirect_array<_Tp>&)
Copy constructor. Both slices refer to the same underlying array.
Detailed Description
template<class_Tp>
class std::indirect_array< _Tp >"Reference to arbitrary subset of an array.
An indirect_array is a reference to the actual elements of an array specified by an ordered array of
indices. The way to get an indirect_array is to call operator[](valarray<size_t>) on a valarray. The
returned indirect_array then permits carrying operations out on the referenced subset of elements in the
original valarray.
For example, if an indirect_array is obtained using the array (4,2,0) as an argument, and then assigned
to an array containing (1,2,3), then the underlying array will have array[0]==3, array[2]==2, and
array[4]==1.
ParametersTp Element type.
Member Function Documentation
template<class_Tp>voidstd::indirect_array<_Tp>::operator%=(constvalarray<_Tp>&)const
Modulo slice elements by corresponding elements of v.
template<class_Tp>voidstd::indirect_array<_Tp>::operator&=(constvalarray<_Tp>&)const
Logical and slice elements with corresponding elements of v.
template<class_Tp>voidstd::indirect_array<_Tp>::operator*=(constvalarray<_Tp>&)const
Multiply slice elements by corresponding elements of v.
template<class_Tp>voidstd::indirect_array<_Tp>::operator+=(constvalarray<_Tp>&)const
Add corresponding elements of v to slice elements.
template<class_Tp>voidstd::indirect_array<_Tp>::operator-=(constvalarray<_Tp>&)const
Subtract corresponding elements of v from slice elements.
template<class_Tp>voidstd::indirect_array<_Tp>::operator/=(constvalarray<_Tp>&)const
Divide slice elements by corresponding elements of v.
template<class_Tp>voidstd::indirect_array<_Tp>::operator<<=(constvalarray<_Tp>&)const
Left shift slice elements by corresponding elements of v.
template<class_Tp>indirect_array&std::indirect_array<_Tp>::operator=(constindirect_array<_Tp>&)
Assignment operator. Assigns elements to corresponding elements of a.
template<class_Tp>voidstd::indirect_array<_Tp>::operator>>=(constvalarray<_Tp>&)const
Right shift slice elements by corresponding elements of v.
template<class_Tp>voidstd::indirect_array<_Tp>::operator^=(constvalarray<_Tp>&)const
Logical xor slice elements with corresponding elements of v.
template<class_Tp>voidstd::indirect_array<_Tp>::operator|=(constvalarray<_Tp>&)const
Logical or slice elements with corresponding elements of v.
Name
std::indirect_array< _Tp > - Reference to arbitrary subset of an array.
Synopsis
#include <valarray>
PublicTypestypedef _Tp value_typePublicMemberFunctionsindirect_array (const indirect_array &)
Copy constructor. Both slices refer to the same underlying array.
template<class_Dom > voidoperator%= (const _Expr< _Dom, _Tp > &) const
voidoperator%= (const valarray< _Tp > &) const
Modulo slice elements by corresponding elements of v.
template<class_Dom > voidoperator&= (const _Expr< _Dom, _Tp > &) const
voidoperator&= (const valarray< _Tp > &) const
Logical and slice elements with corresponding elements of v.
template<class_Dom > voidoperator*= (const _Expr< _Dom, _Tp > &) const
voidoperator*= (const valarray< _Tp > &) const
Multiply slice elements by corresponding elements of v.
template<class_Dom > voidoperator+= (const _Expr< _Dom, _Tp > &) const
voidoperator+= (const valarray< _Tp > &) const
Add corresponding elements of v to slice elements.
template<class_Dom > voidoperator-= (const _Expr< _Dom, _Tp > &) const
voidoperator-= (const valarray< _Tp > &) const
Subtract corresponding elements of v from slice elements.
template<class_Dom > voidoperator/= (const _Expr< _Dom, _Tp > &) const
voidoperator/= (const valarray< _Tp > &) const
Divide slice elements by corresponding elements of v.
template<class_Dom > voidoperator<<= (const _Expr< _Dom, _Tp > &) const
voidoperator<<= (const valarray< _Tp > &) const
Left shift slice elements by corresponding elements of v.
template<class_Dom > voidoperator= (const _Expr< _Dom, _Tp > &) const
voidoperator= (const _Tp &) const
Assign all slice elements to t.
indirect_array & operator= (const indirect_array &)
Assignment operator. Assigns elements to corresponding elements of a.
template<typename _Tp > indirect_array< _Tp > & operator= (const indirect_array< _Tp > &__a)
voidoperator= (const valarray< _Tp > &) const
Assign slice elements to corresponding elements of v.
template<class_Dom > voidoperator>>= (const _Expr< _Dom, _Tp > &) const
voidoperator>>= (const valarray< _Tp > &) const
Right shift slice elements by corresponding elements of v.
template<class_Dom > voidoperator^= (const _Expr< _Dom, _Tp > &) const
voidoperator^= (const valarray< _Tp > &) const
Logical xor slice elements with corresponding elements of v.
template<class_Dom > voidoperator|= (const _Expr< _Dom, _Tp > &) const
voidoperator|= (const valarray< _Tp > &) const
Logical or slice elements with corresponding elements of v.
Friendsclassgslice_array<_Tp>classvalarray<_Tp>