ReactOS  0.4.14-dev-317-g96040ec
slice_array< _Tp > Class Template Reference

#include <_valarray.h>

Collaboration diagram for slice_array< _Tp >:

Public Types

typedef _Tp value_type
 

Public Member Functions

void operator= (const valarray< value_type > &__x) const
 
void operator *= (const valarray< value_type > &__x) const
 
void operator/= (const valarray< value_type > &__x) const
 
void operator%= (const valarray< value_type > &__x) const
 
void operator+= (const valarray< value_type > &__x) const
 
void operator-= (const valarray< value_type > &__x) const
 
void operator^= (const valarray< value_type > &__x) const
 
void operator&= (const valarray< value_type > &__x) const
 
void operator|= (const valarray< value_type > &__x) const
 
void operator<<= (const valarray< value_type > &__x) const
 
void operator>>= (const valarray< value_type > &__x) const
 
void operator= (const value_type &__c)
 
 slice_array (const slice_array &__x)
 
 ~slice_array ()
 

Private Member Functions

 slice_array (const slice &__slice, valarray< _Tp > &__array)
 
 slice_array ()
 
slice_arrayoperator= (const slice_array &)
 

Private Attributes

slice _M_slice
 
valarray< _Tp > & _M_array
 

Friends

class valarray< _Tp >
 

Detailed Description

template<class _Tp>
class slice_array< _Tp >

Definition at line 51 of file _valarray.h.

Member Typedef Documentation

◆ value_type

template<class _Tp>
typedef _Tp slice_array< _Tp >::value_type

Definition at line 1098 of file _valarray.h.

Constructor & Destructor Documentation

◆ slice_array() [1/3]

template<class _Tp>
slice_array< _Tp >::slice_array ( const slice_array< _Tp > &  __x)
inline

Definition at line 1197 of file _valarray.h.

1198  : _M_slice(__x._M_slice), _M_array(__x._M_array)
1199  {}
valarray< _Tp > & _M_array
Definition: _valarray.h:1209
slice _M_slice
Definition: _valarray.h:1208

◆ ~slice_array()

template<class _Tp>
slice_array< _Tp >::~slice_array ( )
inline

Definition at line 1201 of file _valarray.h.

1201 {}

◆ slice_array() [2/3]

template<class _Tp>
slice_array< _Tp >::slice_array ( const slice __slice,
valarray< _Tp > &  __array 
)
inlineprivate

Definition at line 1204 of file _valarray.h.

1205  : _M_slice(__slice), _M_array(__array)
1206  {}
valarray< _Tp > & _M_array
Definition: _valarray.h:1209
slice _M_slice
Definition: _valarray.h:1208

◆ slice_array() [3/3]

template<class _Tp>
slice_array< _Tp >::slice_array ( )
private

Member Function Documentation

◆ operator *=()

template<class _Tp>
void slice_array< _Tp >::operator *= ( const valarray< value_type > &  __x) const
inline

Definition at line 1108 of file _valarray.h.

1108  {
1109  size_t __index = _M_slice.start();
1110  for (size_t __i = 0;
1111  __i < _M_slice.size();
1112  ++__i, __index += _M_slice.stride())
1113  _M_array[__index] *= __x[__i];
1114  }
size_t stride() const
Definition: _valarray.h:1086
size_t start() const
Definition: _valarray.h:1084
valarray< _Tp > & _M_array
Definition: _valarray.h:1209
size_t size() const
Definition: _valarray.h:1085
slice _M_slice
Definition: _valarray.h:1208

◆ operator%=()

template<class _Tp>
void slice_array< _Tp >::operator%= ( const valarray< value_type > &  __x) const
inline

Definition at line 1124 of file _valarray.h.

1124  {
1125  size_t __index = _M_slice.start();
1126  for (size_t __i = 0;
1127  __i < _M_slice.size();
1128  ++__i, __index += _M_slice.stride())
1129  _M_array[__index] %= __x[__i];
1130  }
size_t stride() const
Definition: _valarray.h:1086
size_t start() const
Definition: _valarray.h:1084
valarray< _Tp > & _M_array
Definition: _valarray.h:1209
size_t size() const
Definition: _valarray.h:1085
slice _M_slice
Definition: _valarray.h:1208

◆ operator&=()

template<class _Tp>
void slice_array< _Tp >::operator&= ( const valarray< value_type > &  __x) const
inline

Definition at line 1156 of file _valarray.h.

1156  {
1157  size_t __index = _M_slice.start();
1158  for (size_t __i = 0;
1159  __i < _M_slice.size();
1160  ++__i, __index += _M_slice.stride())
1161  _M_array[__index] &= __x[__i];
1162  }
size_t stride() const
Definition: _valarray.h:1086
size_t start() const
Definition: _valarray.h:1084
valarray< _Tp > & _M_array
Definition: _valarray.h:1209
size_t size() const
Definition: _valarray.h:1085
slice _M_slice
Definition: _valarray.h:1208

◆ operator+=()

template<class _Tp>
void slice_array< _Tp >::operator+= ( const valarray< value_type > &  __x) const
inline

Definition at line 1132 of file _valarray.h.

1132  {
1133  size_t __index = _M_slice.start();
1134  for (size_t __i = 0;
1135  __i < _M_slice.size();
1136  ++__i, __index += _M_slice.stride())
1137  _M_array[__index] += __x[__i];
1138  }
size_t stride() const
Definition: _valarray.h:1086
size_t start() const
Definition: _valarray.h:1084
valarray< _Tp > & _M_array
Definition: _valarray.h:1209
size_t size() const
Definition: _valarray.h:1085
slice _M_slice
Definition: _valarray.h:1208

◆ operator-=()

template<class _Tp>
void slice_array< _Tp >::operator-= ( const valarray< value_type > &  __x) const
inline

Definition at line 1140 of file _valarray.h.

1140  {
1141  size_t __index = _M_slice.start();
1142  for (size_t __i = 0;
1143  __i < _M_slice.size();
1144  ++__i, __index += _M_slice.stride())
1145  _M_array[__index] -= __x[__i];
1146  }
size_t stride() const
Definition: _valarray.h:1086
size_t start() const
Definition: _valarray.h:1084
valarray< _Tp > & _M_array
Definition: _valarray.h:1209
size_t size() const
Definition: _valarray.h:1085
slice _M_slice
Definition: _valarray.h:1208

◆ operator/=()

template<class _Tp>
void slice_array< _Tp >::operator/= ( const valarray< value_type > &  __x) const
inline

Definition at line 1116 of file _valarray.h.

1116  {
1117  size_t __index = _M_slice.start();
1118  for (size_t __i = 0;
1119  __i < _M_slice.size();
1120  ++__i, __index += _M_slice.stride())
1121  _M_array[__index] /= __x[__i];
1122  }
size_t stride() const
Definition: _valarray.h:1086
size_t start() const
Definition: _valarray.h:1084
valarray< _Tp > & _M_array
Definition: _valarray.h:1209
size_t size() const
Definition: _valarray.h:1085
slice _M_slice
Definition: _valarray.h:1208

◆ operator<<=()

template<class _Tp>
void slice_array< _Tp >::operator<<= ( const valarray< value_type > &  __x) const
inline

Definition at line 1172 of file _valarray.h.

1172  {
1173  size_t __index = _M_slice.start();
1174  for (size_t __i = 0;
1175  __i < _M_slice.size();
1176  ++__i, __index += _M_slice.stride())
1177  _M_array[__index] <<= __x[__i];
1178  }
size_t stride() const
Definition: _valarray.h:1086
size_t start() const
Definition: _valarray.h:1084
valarray< _Tp > & _M_array
Definition: _valarray.h:1209
size_t size() const
Definition: _valarray.h:1085
slice _M_slice
Definition: _valarray.h:1208

◆ operator=() [1/3]

template<class _Tp>
void slice_array< _Tp >::operator= ( const valarray< value_type > &  __x) const
inline

Definition at line 1100 of file _valarray.h.

1100  {
1101  size_t __index = _M_slice.start();
1102  for (size_t __i = 0;
1103  __i < _M_slice.size();
1104  ++__i, __index += _M_slice.stride())
1105  _M_array[__index] = __x[__i];
1106  }
size_t stride() const
Definition: _valarray.h:1086
size_t start() const
Definition: _valarray.h:1084
valarray< _Tp > & _M_array
Definition: _valarray.h:1209
size_t size() const
Definition: _valarray.h:1085
slice _M_slice
Definition: _valarray.h:1208

◆ operator=() [2/3]

template<class _Tp>
void slice_array< _Tp >::operator= ( const value_type __c)
inline

Definition at line 1188 of file _valarray.h.

1188  {
1189  size_t __index = _M_slice.start();
1190  for (size_t __i = 0;
1191  __i < _M_slice.size();
1192  ++__i, __index += _M_slice.stride())
1193  _M_array[__index] = __c;
1194  }
size_t stride() const
Definition: _valarray.h:1086
size_t start() const
Definition: _valarray.h:1084
#define __c
Definition: schilyio.h:209
valarray< _Tp > & _M_array
Definition: _valarray.h:1209
size_t size() const
Definition: _valarray.h:1085
slice _M_slice
Definition: _valarray.h:1208

◆ operator=() [3/3]

template<class _Tp>
slice_array& slice_array< _Tp >::operator= ( const slice_array< _Tp > &  )
private

◆ operator>>=()

template<class _Tp>
void slice_array< _Tp >::operator>>= ( const valarray< value_type > &  __x) const
inline

Definition at line 1180 of file _valarray.h.

1180  {
1181  size_t __index = _M_slice.start();
1182  for (size_t __i = 0;
1183  __i < _M_slice.size();
1184  ++__i, __index += _M_slice.stride())
1185  _M_array[__index] >>= __x[__i];
1186  }
size_t stride() const
Definition: _valarray.h:1086
size_t start() const
Definition: _valarray.h:1084
valarray< _Tp > & _M_array
Definition: _valarray.h:1209
size_t size() const
Definition: _valarray.h:1085
slice _M_slice
Definition: _valarray.h:1208

◆ operator^=()

template<class _Tp>
void slice_array< _Tp >::operator^= ( const valarray< value_type > &  __x) const
inline

Definition at line 1148 of file _valarray.h.

1148  {
1149  size_t __index = _M_slice.start();
1150  for (size_t __i = 0;
1151  __i < _M_slice.size();
1152  ++__i, __index += _M_slice.stride())
1153  _M_array[__index] ^= __x[__i];
1154  }
size_t stride() const
Definition: _valarray.h:1086
size_t start() const
Definition: _valarray.h:1084
valarray< _Tp > & _M_array
Definition: _valarray.h:1209
size_t size() const
Definition: _valarray.h:1085
slice _M_slice
Definition: _valarray.h:1208

◆ operator|=()

template<class _Tp>
void slice_array< _Tp >::operator|= ( const valarray< value_type > &  __x) const
inline

Definition at line 1164 of file _valarray.h.

1164  {
1165  size_t __index = _M_slice.start();
1166  for (size_t __i = 0;
1167  __i < _M_slice.size();
1168  ++__i, __index += _M_slice.stride())
1169  _M_array[__index] |= __x[__i];
1170  }
size_t stride() const
Definition: _valarray.h:1086
size_t start() const
Definition: _valarray.h:1084
valarray< _Tp > & _M_array
Definition: _valarray.h:1209
size_t size() const
Definition: _valarray.h:1085
slice _M_slice
Definition: _valarray.h:1208

Friends And Related Function Documentation

◆ valarray< _Tp >

template<class _Tp>
friend class valarray< _Tp >
friend

Definition at line 1096 of file _valarray.h.

Member Data Documentation

◆ _M_array

◆ _M_slice


The documentation for this class was generated from the following file: