クラス shttl::array2d< T, Allocator >::iterator

#include <array2d.h>

shttl::array2d< T, Allocator >::iteratorに対する継承グラフ

Inheritance graph
[凡例]
shttl::array2d< T, Allocator >::iteratorのコラボレーション図

Collaboration graph
[凡例]
すべてのメンバ一覧

Public メソッド

 iterator (this_type *const a, const size_type r, const size_type c)
T & operator * ()
iterator operator+ (const size_type c) const
iteratoroperator++ (int)
iteratoroperator++ ()
iteratoroperator+= (const size_type c)
iterator operator- (const size_type c) const
iteratoroperator-- (int)
iteratoroperator-- ()
iteratoroperator-= (const size_type c)
T & operator[] (const size_type c)

説明

template<class T, class Allocator = std::allocator<T>>
class shttl::array2d< T, Allocator >::iterator

array2d.h215 行で定義されています。


コンストラクタとデストラクタ

template<class T, class Allocator = std::allocator<T>>
shttl::array2d< T, Allocator >::iterator::iterator ( this_type *const   a,
const size_type  r,
const size_type  c 
) [inline]

array2d.h228 行で定義されています。

00232                :
00233                 _iterator_base(r, c, a->cols()),
00234                 _a(a) 
00235             {
00236             }


関数

template<class T, class Allocator = std::allocator<T>>
T& shttl::array2d< T, Allocator >::iterator::operator * (  )  [inline]

array2d.h306 行で定義されています。

参照先 shttl::array2d< T, Allocator >::_iterator_base::_cshttl::array2d< T, Allocator >::_col_bitshttl::array2d< T, Allocator >::_ptrshttl::array2d< T, Allocator >::_iterator_base::_rshttl::array2d< T, Allocator >::cols()shttl::array2d< T, Allocator >::rows().

00307             { 
00308             #ifdef SHTTL_DEBUG
00309                 if (_r < 0 || _a->rows() < _r ||
00310                     _c < 0 || _a->cols() < _c
00311                 ){
00312                     throw std::out_of_range("array2d::const_iterator::operator T*");
00313                 }
00314             #endif
00315 
00316                 return _a->_ptr[(_r << _a->_col_bit) + _c]; 
00317             }

関数の呼び出しグラフ:

template<class T, class Allocator = std::allocator<T>>
iterator shttl::array2d< T, Allocator >::iterator::operator+ ( const size_type  c  )  const [inline]

array2d.h238 行で定義されています。

00239             {
00240                 iterator r = *this;
00241                 r._iterator_base::operator+=(c);
00242                 return r;
00243             }

template<class T, class Allocator = std::allocator<T>>
iterator& shttl::array2d< T, Allocator >::iterator::operator++ ( int   )  [inline]

array2d.h274 行で定義されています。

00275             {
00276                 iterator r = *this;
00277                 *this += 1;
00278                 return r;
00279             }

template<class T, class Allocator = std::allocator<T>>
iterator& shttl::array2d< T, Allocator >::iterator::operator++ (  )  [inline]

array2d.h264 行で定義されています。

00265             {
00266                 return *this += 1;
00267             }

template<class T, class Allocator = std::allocator<T>>
iterator& shttl::array2d< T, Allocator >::iterator::operator+= ( const size_type  c  )  [inline]

shttl::array2d< T, Allocator >::_iterator_baseを再定義しています。

array2d.h252 行で定義されています。

参照先 shttl::array2d< T, Allocator >::_iterator_base::operator+=().

00253             {
00254                 this->_iterator_base::operator+=(c);
00255                 return *this;
00256             }

関数の呼び出しグラフ:

template<class T, class Allocator = std::allocator<T>>
iterator shttl::array2d< T, Allocator >::iterator::operator- ( const size_type  c  )  const [inline]

array2d.h245 行で定義されています。

00246             {
00247                 iterator r = *this;
00248                 r._iterator_base::operaotr-=(c);
00249                 return r;
00250             }

template<class T, class Allocator = std::allocator<T>>
iterator& shttl::array2d< T, Allocator >::iterator::operator-- ( int   )  [inline]

array2d.h281 行で定義されています。

00282             {
00283                 iterator r = *this;
00284                 *this -= 1;
00285                 return r;
00286             }

template<class T, class Allocator = std::allocator<T>>
iterator& shttl::array2d< T, Allocator >::iterator::operator-- (  )  [inline]

array2d.h269 行で定義されています。

00270             {
00271                 return *this -= 1;
00272             }

template<class T, class Allocator = std::allocator<T>>
iterator& shttl::array2d< T, Allocator >::iterator::operator-= ( const size_type  c  )  [inline]

shttl::array2d< T, Allocator >::_iterator_baseを再定義しています。

array2d.h258 行で定義されています。

参照先 shttl::array2d< T, Allocator >::_iterator_base::operator-=().

00259             {
00260                 this->_iterator_base::operator-=(c);
00261                 return *this;
00262             }

関数の呼び出しグラフ:

template<class T, class Allocator = std::allocator<T>>
T& shttl::array2d< T, Allocator >::iterator::operator[] ( const size_type  c  )  [inline]

array2d.h288 行で定義されています。

00289             {
00290                 iterator i = *this + c;
00291                 return *i;
00292             }      


このクラスの説明は次のファイルから生成されました:
Onikiri2に対してTue Jun 18 15:33:38 2013に生成されました。  doxygen 1.4.7