クラス テンプレート shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >

#include <setassoc_table.h>

shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >に対する継承グラフ

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

Public 型

typedef BodyPtrType body_ptr_type
typedef BodyType body_type
typedef LineType line_type
typedef body_type::size_type size_type

Public メソッド

const body_typebody () const
size_type index () const
line_typeoperator * ()
bool operator!= (const setassoc_table_iterator_base &rhs) const
setassoc_table_iterator_base operator++ (int)
setassoc_table_iterator_baseoperator++ ()
line_typeoperator-> ()
bool operator== (const setassoc_table_iterator_base &rhs) const
 setassoc_table_iterator_base (body_ptr_type body=NULL, size_type index=invalid_index, size_type way=invalid_way)
size_type way () const

Static Public 変数

static const size_type invalid_index = body_type::invalid_index
static const size_type invalid_way = body_type::invalid_way

Protected 変数

body_ptr_type m_body
size_type m_index
size_type m_way

説明

template<typename BodyType, typename BodyPtrType, typename LineType>
class shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >

setassoc_table.h74 行で定義されています。


型定義

template<typename BodyType, typename BodyPtrType, typename LineType>
typedef BodyPtrType shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::body_ptr_type

shttl::setassoc_table_const_iterator_base< BodyType, BodyPtrType, LineType, IteratorType >で再定義されています。

setassoc_table.h79 行で定義されています。

template<typename BodyType, typename BodyPtrType, typename LineType>
typedef BodyType shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::body_type

setassoc_table.h78 行で定義されています。

template<typename BodyType, typename BodyPtrType, typename LineType>
typedef LineType shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::line_type

shttl::setassoc_table_const_iterator_base< BodyType, BodyPtrType, LineType, IteratorType >で再定義されています。

setassoc_table.h80 行で定義されています。

template<typename BodyType, typename BodyPtrType, typename LineType>
typedef body_type::size_type shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::size_type

shttl::setassoc_table_const_iterator_base< BodyType, BodyPtrType, LineType, IteratorType >で再定義されています。

setassoc_table.h81 行で定義されています。


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

template<typename BodyType, typename BodyPtrType, typename LineType>
shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::setassoc_table_iterator_base ( body_ptr_type  body = NULL,
size_type  index = invalid_index,
size_type  way = invalid_way 
) [inline]

setassoc_table.h86 行で定義されています。

00090           : 
00091             m_body ( body ),
00092             m_index( index ),
00093             m_way  ( way   )
00094         {
00095         }


関数

template<typename BodyType, typename BodyPtrType, typename LineType>
const body_type* shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::body (  )  const [inline]

setassoc_table.h108 行で定義されています。

参照先 shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::m_body.

00109         {
00110             return m_body;
00111         }

template<typename BodyType, typename BodyPtrType, typename LineType>
size_type shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::index (  )  const [inline]

setassoc_table.h102 行で定義されています。

参照先 shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::m_index.

参照元 shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::index().

00103         {
00104             return m_index;
00105         }

Here is the caller graph for this function:

template<typename BodyType, typename BodyPtrType, typename LineType>
line_type& shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::operator * (  )  [inline]

shttl::setassoc_table_const_iterator_base< BodyType, BodyPtrType, LineType, IteratorType >で再定義されています。

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

参照先 shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::m_body.

00153         {
00154             return m_body->at( *this );
00155         }

template<typename BodyType, typename BodyPtrType, typename LineType>
bool shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::operator!= ( const setassoc_table_iterator_base< BodyType, BodyPtrType, LineType > &  rhs  )  const [inline]

setassoc_table.h113 行で定義されています。

00114         {
00115             return !((*this) == rhs);
00116         }

template<typename BodyType, typename BodyPtrType, typename LineType>
setassoc_table_iterator_base shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::operator++ ( int   )  [inline]

setassoc_table.h140 行で定義されています。

00141         {   
00142             setassoc_table_iterator_base tmp = *this;
00143             ++*this;
00144             return tmp;
00145         }

template<typename BodyType, typename BodyPtrType, typename LineType>
setassoc_table_iterator_base& shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::operator++ (  )  [inline]

setassoc_table.h127 行で定義されています。

参照先 shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::m_bodyshttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::m_indexshttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::m_waySHTTL_ASSERT.

00128         {   
00129             SHTTL_ASSERT( m_index < m_body->set_num() );
00130             SHTTL_ASSERT( m_way   < m_body->way_num() );
00131             m_way++;
00132             if( m_way == m_body->way_num() ){
00133                 m_way = 0;
00134                 m_index++;
00135             }
00136             return *this;
00137         }

template<typename BodyType, typename BodyPtrType, typename LineType>
line_type* shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::operator-> (  )  [inline]

shttl::setassoc_table_const_iterator_base< BodyType, BodyPtrType, LineType, IteratorType >で再定義されています。

setassoc_table.h147 行で定義されています。

参照先 shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::m_body.

00148         {
00149             return &m_body->at( *this );
00150         }

template<typename BodyType, typename BodyPtrType, typename LineType>
bool shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::operator== ( const setassoc_table_iterator_base< BodyType, BodyPtrType, LineType > &  rhs  )  const [inline]

setassoc_table.h118 行で定義されています。

参照先 shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::m_bodyshttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::m_indexshttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::m_way.

00119         {
00120             return 
00121                 ( m_body  == rhs.m_body  ) &&
00122                 ( m_index == rhs.m_index ) &&
00123                 ( m_way   == rhs.m_way   );
00124         }

template<typename BodyType, typename BodyPtrType, typename LineType>
size_type shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::way (  )  const [inline]

setassoc_table.h97 行で定義されています。

参照先 shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::m_way.

00098         {
00099             return m_way;
00100         }


変数

template<typename BodyType, typename BodyPtrType, typename LineType>
const size_type shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::invalid_index = body_type::invalid_index [static]

setassoc_table.h83 行で定義されています。

template<typename BodyType, typename BodyPtrType, typename LineType>
const size_type shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::invalid_way = body_type::invalid_way [static]

setassoc_table.h84 行で定義されています。

template<typename BodyType, typename BodyPtrType, typename LineType>
body_ptr_type shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::m_body [protected]

setassoc_table.h159 行で定義されています。

参照元 shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::body()shttl::setassoc_table_const_iterator_base< BodyType, BodyPtrType, LineType, IteratorType >::operator *()shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::operator *()shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::operator++()shttl::setassoc_table_const_iterator_base< BodyType, BodyPtrType, LineType, IteratorType >::operator->()shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::operator->()shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::operator==().

template<typename BodyType, typename BodyPtrType, typename LineType>
size_type shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::m_index [protected]

setassoc_table.h160 行で定義されています。

参照元 shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::index()shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::operator++()shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::operator==().

template<typename BodyType, typename BodyPtrType, typename LineType>
size_type shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::m_way [protected]

setassoc_table.h161 行で定義されています。

参照元 shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::operator++()shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::operator==()shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::way().


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