STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
mask_array< _Ty > Class Template Reference

Public Types

typedef _Ty value_type
 

Public Member Functions

void operator= (const valarray< _Ty > &_Right) const
 
void operator= (const _Ty &_Right) const
 
void operator*= (const valarray< _Ty > &_Right) const
 
void operator/= (const valarray< _Ty > &_Right) const
 
void operator%= (const valarray< _Ty > &_Right) const
 
void operator+= (const valarray< _Ty > &_Right) const
 
void operator-= (const valarray< _Ty > &_Right) const
 
void operator^= (const valarray< _Ty > &_Right) const
 
void operator&= (const valarray< _Ty > &_Right) const
 
void operator|= (const valarray< _Ty > &_Right) const
 
void operator<<= (const valarray< _Ty > &_Right) const
 
void operator>>= (const valarray< _Ty > &_Right) const
 
_Ty & _Data (size_t _Idx) const
 
bool _Mask (size_t _Idx) const
 
size_t _Totlen () const
 
 mask_array ()=delete
 
 mask_array (const mask_array &)
 
mask_arrayoperator= (const mask_array &)
 

Private Member Functions

 mask_array (const _Boolarray &_Maskarr, _Ty *_Pdata)
 

Private Attributes

_Boolarray _Mybool
 
_Ty * _Myptr
 

Friends

class valarray< _Ty >
 

Member Typedef Documentation

template<class _Ty >
typedef _Ty mask_array< _Ty >::value_type

Constructor & Destructor Documentation

template<class _Ty >
mask_array< _Ty >::mask_array ( )
delete
template<class _Ty >
mask_array< _Ty >::mask_array ( const mask_array< _Ty > &  )
template<class _Ty >
mask_array< _Ty >::mask_array ( const _Boolarray _Maskarr,
_Ty *  _Pdata 
)
inlineprivate
1414  : _Mybool(_Maskarr), _Myptr(_Pdata)
1415  { // construct from mask array and pointer to valarray contents
1416  }
_Boolarray _Mybool
Definition: valarray:1418
_Ty * _Myptr
Definition: valarray:1419

Member Function Documentation

template<class _Ty >
_Ty& mask_array< _Ty >::_Data ( size_t  _Idx) const
inline
1386  { // return reference to underlying array element
1387  return (_Myptr[_Idx]);
1388  }
_Ty * _Myptr
Definition: valarray:1419
template<class _Ty >
bool mask_array< _Ty >::_Mask ( size_t  _Idx) const
inline
1391  { // return mask element for a given index
1392  return (_Mybool[_Idx]);
1393  }
_Boolarray _Mybool
Definition: valarray:1418
template<class _Ty >
size_t mask_array< _Ty >::_Totlen ( ) const
inline
1396  { // return total length of masked array
1397  size_t _Count = 0;
1398  for (size_t _Idx = 0; _Idx < _Mybool.size(); ++_Idx)
1399  if (_Mybool[_Idx])
1400  ++_Count;
1401  return (_Count);
1402  }
_Boolarray _Mybool
Definition: valarray:1418
size_t size() const
Definition: valarray:312
_Diff _Count
Definition: algorithm:1941
template<class _Ty >
void mask_array< _Ty >::operator%= ( const valarray< _Ty > &  _Right) const
inline
1346  { // remainder masked array by valarray
1347  _MOP(%= _Right[_Idx]);
1348  }
#define _MOP(RHS)
Definition: valarray:1311
template<class _Ty >
void mask_array< _Ty >::operator&= ( const valarray< _Ty > &  _Right) const
inline
1366  { // OR valarray into masked array
1367  _MOP(&= _Right[_Idx]);
1368  }
#define _MOP(RHS)
Definition: valarray:1311
template<class _Ty >
void mask_array< _Ty >::operator*= ( const valarray< _Ty > &  _Right) const
inline
1336  { // multiply masked array by valarray
1337  _MOP(*= _Right[_Idx]);
1338  }
#define _MOP(RHS)
Definition: valarray:1311
template<class _Ty >
void mask_array< _Ty >::operator+= ( const valarray< _Ty > &  _Right) const
inline
1351  { // add valarray to masked array
1352  _MOP(+= _Right[_Idx]);
1353  }
#define _MOP(RHS)
Definition: valarray:1311
template<class _Ty >
void mask_array< _Ty >::operator-= ( const valarray< _Ty > &  _Right) const
inline
1356  { // subtract valarray from masked array
1357  _MOP(-= _Right[_Idx]);
1358  }
#define _MOP(RHS)
Definition: valarray:1311
template<class _Ty >
void mask_array< _Ty >::operator/= ( const valarray< _Ty > &  _Right) const
inline
1341  { // divide masked array by valarray
1342  _MOP(/= _Right[_Idx]);
1343  }
#define _MOP(RHS)
Definition: valarray:1311
template<class _Ty >
void mask_array< _Ty >::operator<<= ( const valarray< _Ty > &  _Right) const
inline
1376  { // left shift masked array by valarray
1377  _MOP(<<= _Right[_Idx]);
1378  }
#define _MOP(RHS)
Definition: valarray:1311
template<class _Ty >
void mask_array< _Ty >::operator= ( const valarray< _Ty > &  _Right) const
inline
1326  { // assign a valarray to a masked array
1327  _MOP(= _Right[_Idx]);
1328  }
#define _MOP(RHS)
Definition: valarray:1311
template<class _Ty >
void mask_array< _Ty >::operator= ( const _Ty &  _Right) const
inline
1331  { // assign a scalar to elements of a masked array
1332  _MOP(= _Right);
1333  }
#define _MOP(RHS)
Definition: valarray:1311
constexpr const _Ty &() _Right
Definition: algorithm:3723
template<class _Ty >
mask_array& mask_array< _Ty >::operator= ( const mask_array< _Ty > &  )
template<class _Ty >
void mask_array< _Ty >::operator>>= ( const valarray< _Ty > &  _Right) const
inline
1381  { // right shift masked array by valarray
1382  _MOP(>>= _Right[_Idx]);
1383  }
#define _MOP(RHS)
Definition: valarray:1311
template<class _Ty >
void mask_array< _Ty >::operator^= ( const valarray< _Ty > &  _Right) const
inline
1361  { // XOR valarray into masked array
1362  _MOP(^= _Right[_Idx]);
1363  }
#define _MOP(RHS)
Definition: valarray:1311
template<class _Ty >
void mask_array< _Ty >::operator|= ( const valarray< _Ty > &  _Right) const
inline
1371  { // OR valarray into masked array
1372  _MOP(|= _Right[_Idx]);
1373  }
#define _MOP(RHS)
Definition: valarray:1311

Friends And Related Function Documentation

template<class _Ty >
friend class valarray< _Ty >
friend

Member Data Documentation

template<class _Ty >
_Boolarray mask_array< _Ty >::_Mybool
private
template<class _Ty >
_Ty* mask_array< _Ty >::_Myptr
private

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