ReactOS 0.4.16-dev-306-g647d351
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 1095 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 {}
slice _M_slice
Definition: _valarray.h:1208
valarray< _Tp > & _M_array
Definition: _valarray.h:1209

◆ ~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 {}

◆ 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 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 size() const
Definition: _valarray.h:1085
size_t start() const
Definition: _valarray.h:1084
size_t stride() const
Definition: _valarray.h:1086

◆ 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 }

◆ 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 }

◆ 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 }

◆ 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 }

◆ 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 }

◆ 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 }

◆ operator=() [1/3]

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

◆ operator=() [2/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 }

◆ operator=() [3/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 }
#define __c
Definition: schilyio.h:209

◆ 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 }

◆ 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 }

◆ 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 }

Friends And Related Function Documentation

◆ valarray< _Tp >

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

Definition at line 1091 of file _valarray.h.

Member Data Documentation

◆ _M_array

template<class _Tp >
valarray<_Tp>& slice_array< _Tp >::_M_array
private

Definition at line 1209 of file _valarray.h.

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

◆ _M_slice

template<class _Tp >
slice slice_array< _Tp >::_M_slice
private

Definition at line 1208 of file _valarray.h.

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


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