_M_index
_M_index = __g._M_index;
valarray<size_t> _M_index;
_Indexer* _M_index;
{ return _M_index ? _M_index->_M_start : 0; }
{ return _M_index ? _M_index->_M_size : valarray<size_t>(); }
{ return _M_index ? _M_index->_M_stride : valarray<size_t>(); }
inline gslice::gslice () : _M_index(0) {}
: _M_index(new _Indexer(__o, __l, __s)) {}
gslice::gslice(const gslice& __g) : _M_index(__g._M_index)
{ if (_M_index) _M_index->_M_increment_use(); }
{ if (_M_index && _M_index->_M_decrement_use() == 0) delete _M_index; }
if (__g._M_index) __g._M_index->_M_increment_use();
if (_M_index && _M_index->_M_decrement_use() == 0) delete _M_index;
: _M_array (__a._M_array), _M_index (__a._M_index) {}
__valarray_fill (_M_array, _Array<size_t>(_M_index),
_M_index.size(), __t);
_M_array, _Array<size_t>(_M_index));
__valarray_copy (__e, _M_index.size(), _M_array,
_Array<size_t>(_M_index));
_Array_augmented_##name (_M_array, _Array<size_t>(_M_index), \
_Array_augmented_##name (_M_array, _Array<size_t>(_M_index), __e, \
_M_index.size()); \
const valarray<size_t>& _M_index;
: _M_array (__a), _M_index (__i) {}
: _M_sz (__s), _M_index (__i), _M_array (__a) {}
{ __valarray_fill(_M_array, _M_index, _M_sz, __t); }
{ __valarray_copy (_Array<_Tp> (__v), _M_sz, _M_array, _M_index); }
{ __valarray_copy (__e, _M_sz, _M_array, _M_index); }
_Array_augmented_##name (_M_array, _M_index, _Array<_Tp> (__v), _M_sz); \
_Array_augmented_##name (_M_array, _M_index, __e, _M_sz); \
const _Array<size_t> _M_index;
: _M_sz (__a._M_sz), _M_index (__a._M_index),
: _M_size (__ga._M_index.size()), _M_data (new _Tp[_M_size])
{ __valarray_copy (__ga._M_array, _Array<size_t>(__ga._M_index),
{ __valarray_copy (__ia._M_array, __ia._M_index,
__valarray_copy (__ga._M_array, _Array<size_t>(__ga._M_index),
__valarray_copy (__ia._M_array, __ia._M_index,
(_Closure (_Array<_Tp>(_M_data), __gs._M_index->_M_index));
(_Array<_Tp>(_M_data), __gs._M_index->_M_index);
: _M_expr (__e), _M_index(__i) {}
{ return _M_expr[_M_index[__i]]; }
size_t size () const { return _M_index.size(); }
const valarray<size_t>& _M_index;
: _M_array (__a), _M_index(__i) {}
{ return _M_array._M_data[_M_index[__i]]; }
size_t size () const { return _M_index.size(); }
const valarray<size_t>& _M_index;
: _M_expr (__e), _M_index (__i) {}
{ return _M_expr[_M_index[__i]]; }
size_t size() const { return _M_index.size(); }
const valarray<size_t>& _M_index;
{ __gslice_to_index(__o, __l, __s, _M_index); }