36 #pragma GCC system_header 
   38 namespace std _GLIBCXX_VISIBILITY(default)
 
   40 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
  116       : _M_count(1), _M_start(0), _M_size(), _M_stride(), _M_index() {}
 
  127       { 
return --_M_count; }
 
  132     template<
typename _Tp> 
friend class valarray;
 
  137   { 
return _M_index ? _M_index->_M_start : 0; }
 
  151   : _M_index(new 
gslice::_Indexer()) {}
 
  156   : _M_index(new 
gslice::_Indexer(__o, __l, __s)) {}
 
  160   : _M_index(__g._M_index)
 
  161   { 
if (_M_index) _M_index->_M_increment_use(); }
 
  166     if (_M_index && _M_index->_M_decrement_use() == 0)
 
  174       __g._M_index->_M_increment_use();
 
  175     if (_M_index && _M_index->_M_decrement_use() == 0)
 
  177     _M_index = __g._M_index;
 
  183 _GLIBCXX_END_NAMESPACE_VERSION
 
valarray< size_t > size() const 
Return array of sizes of slice dimensions. 
gslice & operator=(const gslice &)
Assignment operator. 
size_t start() const 
Return array offset of first slice element. 
valarray< size_t > stride() const 
Return array of array strides for each dimension. 
gslice()
Construct an empty slice. 
Class defining multi-dimensional subset of an array.