クラス テンプレート shttl::setassoc_table< PairType, Hasher, Replacer, Strage >

#include <setassoc_table.h>

shttl::setassoc_table< PairType, Hasher, Replacer, Strage >のコラボレーション図

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

Public 型

typedef setassoc_table_const_iterator_base<
this_type, const this_type *,
const line_type, iterator
const_iterator
typedef strage_type::const_set_type const_set_type
typedef hasher_type::size_type hasher_size_type
typedef Hasher hasher_type
typedef setassoc_table_iterator_base<
this_type, this_type *, line_type
iterator
typedef pair_type::first_type key_type
typedef setassoc_table_line_base<
pair_type
line_type
typedef PairType pair_type
typedef Replacer replacer_type
typedef strage_type::set_type set_type
typedef strage_type::size_type size_type
typedef Strage strage_type
typedef setassoc_table< PairType,
Hasher, Replacer, Strage > 
this_type
typedef pair_type::second_type value_type

Public メソッド

const line_typeat (const_iterator id) const
line_typeat (iterator id)
const_iterator begin () const
iterator begin ()
const_iterator begin_set (hasher_size_type index) const
iterator begin_set (hasher_size_type index)
void clear ()
const_iterator end () const
iterator end ()
const_iterator end_set (hasher_size_type index) const
iterator end_set (hasher_size_type index)
iterator find (const key_type key)
hasher_typeget_hasher ()
replacer_typeget_replacer ()
hasher_size_type index (const key_type key) const
iterator invalidate (const key_type key)
iterator read (const key_type key, value_type *val=NULL)
size_type set_num () const
 setassoc_table (const hasher_type &hasher, const size_type way_num)
size_type size () const
void touch (iterator id, const key_type key)
size_type way_num () const
iterator write (const key_type key, const value_type &val=value_type(), bool *ref_replaced=NULL, key_type *ref_replaced_key=NULL, line_type *ref_replaced_line=NULL)
 ~setassoc_table ()

Static Public 変数

static const size_type invalid_index = strage_type::invalid_index
static const size_type invalid_way = strage_type::invalid_way

Protected メソッド

 setassoc_table (const setassoc_table &ref)

Protected 変数

hasher_type m_hasher
replacer_type m_replacer
strage_type m_strage
size_type m_way_num

説明

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
class shttl::setassoc_table< PairType, Hasher, Replacer, Strage >

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


型定義

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
typedef setassoc_table_const_iterator_base< this_type, const this_type*, const line_type, iterator > shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::const_iterator

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

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
typedef strage_type::const_set_type shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::const_set_type

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

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
typedef hasher_type::size_type shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::hasher_size_type

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

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
typedef Hasher shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::hasher_type

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

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
typedef setassoc_table_iterator_base< this_type, this_type*, line_type > shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::iterator

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

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
typedef pair_type::first_type shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::key_type

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

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
typedef setassoc_table_line_base< pair_type > shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::line_type

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

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
typedef PairType shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::pair_type

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

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
typedef Replacer shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::replacer_type

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

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
typedef strage_type::set_type shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::set_type

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

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
typedef strage_type::size_type shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::size_type

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

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
typedef Strage shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::strage_type

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

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
typedef setassoc_table< PairType, Hasher, Replacer, Strage > shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::this_type

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

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
typedef pair_type::second_type shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::value_type

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


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

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::setassoc_table ( const hasher_type hasher,
const size_type  way_num 
) [inline]

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

00869           :
00870             m_replacer(),
00871             m_hasher  ( hasher  ),
00872             m_way_num ( way_num )
00873         {
00874             m_replacer.construct( hasher.size(), way_num ); 
00875             m_strage.resize( hasher.size(), way_num );
00876         }
00877 

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::~setassoc_table (  )  [inline]

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

00879         {
00880         }
00881         

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::setassoc_table ( const setassoc_table< PairType, Hasher, Replacer, Strage > &  ref  )  [inline, protected]

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

01066         {
01067         }
01068 


関数

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
const line_type& shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::at ( const_iterator  id  )  const [inline]

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

00995         {
00996             return m_strage.get_set( id.index() ).at( id.way() );
00997         };
00998 

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
line_type& shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::at ( iterator  id  )  [inline]

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

00990         {
00991             return m_strage.get_set( id.index() ).at( id.way() );
00992         };
00993 

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
const_iterator shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::begin (  )  const [inline]

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

01010         {
01011             return const_iterator( this, 0, 0 );
01012         }
01013 

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
iterator shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::begin (  )  [inline]

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

01000         {
01001             return iterator( this, 0, 0 );
01002         }
01003 

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
const_iterator shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::begin_set ( hasher_size_type  index  )  const [inline]

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

01030         {
01031             return const_iterator( this, index, 0 );
01032         }
01033 

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
iterator shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::begin_set ( hasher_size_type  index  )  [inline]

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

01020         {
01021             return iterator( this, index, 0 );
01022         }
01023 

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
void shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::clear (  )  [inline]

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

00975         {
00976             for( size_type i = 0; i < set_num(); i++ ){
00977                 m_strage.get_set( i ).clear();
00978             }
00979         }
00980 

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
const_iterator shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::end (  )  const [inline]

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

01015         {
01016             return const_iterator( this, set_num(), 0 );
01017         }
01018 

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
iterator shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::end (  )  [inline]

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

参照元 Onikiri::Cache::Invalidate()Onikiri::Cache::InvalidateBody()Onikiri::PrefetcherBase::OnCacheInvalidation()Onikiri::PrefetcherBase::OnCacheRead()Onikiri::PrefetcherBase::OnCacheWrite()Onikiri::BTB::Predict()Onikiri::Cache::Read()Onikiri::Cache::ReadBody()Onikiri::Cache::UpdateTable()Onikiri::Cache::Write()Onikiri::Cache::WriteBody().

01005         {
01006             return iterator( this, set_num(), 0 );
01007         }
01008 

Here is the caller graph for this function:

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
const_iterator shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::end_set ( hasher_size_type  index  )  const [inline]

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

01035         {
01036             return const_iterator( this, index+1, 0 );
01037         }
01038 

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
iterator shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::end_set ( hasher_size_type  index  )  [inline]

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

01025         {
01026             return iterator( this, index+1, 0 );
01027         }
01028 

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
iterator shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::find ( const key_type  key  )  [inline]

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

参照元 Onikiri::Cache::ReadBody()Onikiri::Cache::WriteBody().

00884         {
00885             hasher_size_type index = m_hasher.index( key );
00886             key_type tag = m_hasher.tag( key );
00887 
00888             const set_type& set = m_strage.get_set( (size_type)index );
00889             size_type way = set.find( tag );
00890             if( way != invalid_way )
00891                 return iterator( this, index, way );
00892             else
00893                 return end();
00894         }
00895 

Here is the caller graph for this function:

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
hasher_type& shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::get_hasher (  )  [inline]

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

01049         {
01050             return m_hasher;
01051         }
01052 

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
replacer_type& shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::get_replacer (  )  [inline]

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

01044         {
01045             return m_replacer;
01046         };
01047 

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
hasher_size_type shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::index ( const key_type  key  )  const [inline]

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

参照先 shttl::setassoc_table_iterator_base< BodyType, BodyPtrType, LineType >::index().

00982         {
00983             return m_hasher.index( key );
00984         }
00985 

関数の呼び出しグラフ:

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
iterator shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::invalidate ( const key_type  key  )  [inline]

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

参照元 Onikiri::Cache::InvalidateBody().

00961         {
00962             iterator id = find( key );
00963             if( id != end() && at(id).valid ){
00964                 m_strage.get_set( id.index() ).invalidate( id.way() );
00965             }
00966             return id;
00967         }
00968 

Here is the caller graph for this function:

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
iterator shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::read ( const key_type  key,
value_type val = NULL 
) [inline]

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

参照元 Onikiri::Cache::OnReadHit()Onikiri::BTB::Predict().

00898         {
00899             iterator id = find( key );
00900 
00901             // hit
00902             if( id != end() ){
00903                 if( val ){
00904                     *val = at( id ).value;
00905                 }
00906                 touch( id, key );
00907             }
00908 
00909             return id;
00910         }
00911 

Here is the caller graph for this function:

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
size_type shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::set_num (  )  const [inline]

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

00849         {
00850             return (size_type)m_hasher.size();
00851         }
00852 

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
size_type shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::size (  )  const [inline]

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

00860         {
00861             return set_num() * way_num();
00862         }
00863 

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
void shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::touch ( iterator  id,
const key_type  key 
) [inline]

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

00970         {
00971             m_replacer.touch( id.index(), id.way(), key );
00972         }
00973 

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
size_type shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::way_num (  )  const [inline]

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

00854         { 
00855             return m_way_num; 
00856         }
00857 

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
iterator shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::write ( const key_type  key,
const value_type val = value_type(),
bool *  ref_replaced = NULL,
key_type ref_replaced_key = NULL,
line_type ref_replaced_line = NULL 
) [inline]

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

参照元 Onikiri::BTB::Update()Onikiri::Cache::UpdateTableBody().

00919          {
00920             hasher_size_type key_index = index( key );
00921             set_type set = m_strage.get_set( key_index );
00922             bool replaced = false;
00923 
00924             // miss
00925             iterator id = find( key );
00926             if( id == end() ){
00927 
00928                 // Find an invalid way.
00929                 size_type way = set.find_free_way();
00930 
00931                 // Could not find a free way and now replace a valid way.
00932                 if( way == invalid_way ){
00933                     way = m_replacer.target( key_index );
00934                     replaced = true;
00935                 }
00936 
00937                 id = iterator( this, key_index, way );
00938             }
00939 
00940             if( ref_replaced ){
00941                 *ref_replaced = replaced;
00942             }
00943 
00944             if( replaced && ref_replaced_line ){
00945                 *ref_replaced_line = set.at( id.way() );
00946             }
00947 
00948             if( replaced && ref_replaced_key ){
00949                 *ref_replaced_key = m_hasher.rebuild( ref_replaced_line->tag, id.index() );
00950             }
00951 
00952             key_type tag = m_hasher.tag( key );
00953             set.write( id.way(), tag, val );
00954 
00955             touch( id, key );
00956             return id;
00957         }
00958 

Here is the caller graph for this function:


変数

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
const size_type shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::invalid_index = strage_type::invalid_index [static]

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

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
const size_type shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::invalid_way = strage_type::invalid_way [static]

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

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
hasher_type shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::m_hasher [protected]

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

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
replacer_type shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::m_replacer [protected]

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

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
strage_type shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::m_strage [protected]

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

template<typename PairType, typename Hasher = std_hasher< typename PairType::first_type >, typename Replacer = lru< typename PairType::first_type >, typename Strage = setassoc_table_strage_vector< setassoc_table_line_base< PairType > >>
size_type shttl::setassoc_table< PairType, Hasher, Replacer, Strage >::m_way_num [protected]

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


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