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

#include <array2d.h>

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

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

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

Public メソッド

 const_iterator (const this_type *const a, const size_type r, const size_type c)
const_reference operator * ()
bool operator!= (const const_iterator &rhs) const
const_iterator operator+ (const size_type c) const
const_iterator operator- (const size_type c) const
bool operator== (const const_iterator &rhs) const
const T & operator[] (const size_type c) const

説明

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

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


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

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

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

00156                :
00157                 _iterator_base(r, c, a->cols()),
00158                 _a(a)
00159             {
00160             }


関数

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

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

参照先 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().

00201             {
00202             #ifdef SHTTL_DEBUG
00203                 if (_r < 0 || _a->rows() < _r ||
00204                     _c < 0 || _a->cols() < _c
00205                 ){
00206                     throw std::out_of_range("array2d::const_iterator::operator T*");
00207                 }
00208             #endif
00209 
00210                 return _a->_ptr[(_r << _a->_col_bit) + _c]; 
00211             }

関数の呼び出しグラフ:

template<class T, class Allocator = std::allocator<T>>
bool shttl::array2d< T, Allocator >::const_iterator::operator!= ( const const_iterator rhs  )  const [inline]

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

参照先 shttl::array2d< T, Allocator >::const_iterator::_aOnikiri::operator!=().

00168             {
00169                 return _iterator_base::operator!=(rhs) || _a != rhs._a;
00170             }

関数の呼び出しグラフ:

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

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

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

00173             {
00174                 const_iterator r = *this;
00175                 return r._iterator_base.operator+=(c);
00176             }

関数の呼び出しグラフ:

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

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

00179             {
00180                 const_iterator r = *this;
00181                 return r._iterator_base::operator-=(c);
00182             }

template<class T, class Allocator = std::allocator<T>>
bool shttl::array2d< T, Allocator >::const_iterator::operator== ( const const_iterator rhs  )  const [inline]

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

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

00163             {
00164                 return _iterator_base::operator==(rhs) && _a == rhs._a;
00165             }

関数の呼び出しグラフ:

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

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

00185             {
00186                 const_iterator i = *this + c;
00187                 return *i;
00188             }


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