クラス テンプレート shttl::table< type, replacer >

#include <table.h>

shttl::table< type, replacer >のコラボレーション図

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

Public 型

typedef std::vector< type > array_type
typedef array_type::const_reference const_reference
typedef array_type::reference reference

Public メソッド

void construct (const size_t size, const type &value=type())
const_reference operator[] (const size_t index) const
reference operator[] (const size_t index)
size_t replacement_target ()
size_t size () const
 table (const size_t size, const type &value=type())
 table ()
void touch (const size_t index)

Protected 変数

array_type m_body
replacer m_replacement

説明

template<typename type, typename replacer = lru<size_t>>
class shttl::table< type, replacer >

table.h46 行で定義されています。


型定義

template<typename type, typename replacer = lru<size_t>>
typedef std::vector<type> shttl::table< type, replacer >::array_type

table.h49 行で定義されています。

template<typename type, typename replacer = lru<size_t>>
typedef array_type::const_reference shttl::table< type, replacer >::const_reference

table.h51 行で定義されています。

template<typename type, typename replacer = lru<size_t>>
typedef array_type::reference shttl::table< type, replacer >::reference

table.h50 行で定義されています。


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

template<typename type, typename replacer = lru<size_t>>
shttl::table< type, replacer >::table (  )  [inline]

table.h53 行で定義されています。

00054         {
00055         }

template<typename type, typename replacer = lru<size_t>>
shttl::table< type, replacer >::table ( const size_t  size,
const type &  value = type() 
) [inline]

table.h57 行で定義されています。

参照先 shttl::table< type, replacer >::construct().

00058         {
00059             construct( size ,value );
00060         }

関数の呼び出しグラフ:


関数

template<typename type, typename replacer = lru<size_t>>
void shttl::table< type, replacer >::construct ( const size_t  size,
const type &  value = type() 
) [inline]

table.h62 行で定義されています。

参照先 shttl::replacer< key_t >::construct()shttl::table< type, replacer >::m_bodyshttl::table< type, replacer >::m_replacement.

参照元 Onikiri::StridePrefetcher::Initialize()Onikiri::StreamPrefetcher::Initialize()shttl::table< type, replacer >::table().

00063         {
00064             m_body.resize( size, value );
00065             m_replacement.construct( 1, size );
00066         }

関数の呼び出しグラフ:

Here is the caller graph for this function:

template<typename type, typename replacer = lru<size_t>>
const_reference shttl::table< type, replacer >::operator[] ( const size_t  index  )  const [inline]

table.h88 行で定義されています。

参照先 shttl::table< type, replacer >::m_body.

00089         {
00090             return m_body[ index ];
00091         }

template<typename type, typename replacer = lru<size_t>>
reference shttl::table< type, replacer >::operator[] ( const size_t  index  )  [inline]

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

参照先 shttl::table< type, replacer >::m_body.

00084         {
00085             return m_body[ index ];
00086         }

template<typename type, typename replacer = lru<size_t>>
size_t shttl::table< type, replacer >::replacement_target (  )  [inline]

table.h68 行で定義されています。

参照先 shttl::table< type, replacer >::m_replacementshttl::replacer< key_t >::target().

参照元 Onikiri::StreamPrefetcher::AllocateStream()Onikiri::StridePrefetcher::OnCacheAccess().

00069         {
00070             return m_replacement.target( 0 );
00071         }

関数の呼び出しグラフ:

Here is the caller graph for this function:

template<typename type, typename replacer = lru<size_t>>
size_t shttl::table< type, replacer >::size (  )  const [inline]

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

参照先 shttl::table< type, replacer >::m_body.

参照元 Onikiri::StridePrefetcher::OnCacheAccess()Onikiri::StreamPrefetcher::UpdateMonitorStream()Onikiri::StreamPrefetcher::UpdateTrainingStream().

00079         {
00080             return m_body.size();
00081         }

Here is the caller graph for this function:

template<typename type, typename replacer = lru<size_t>>
void shttl::table< type, replacer >::touch ( const size_t  index  )  [inline]

table.h73 行で定義されています。

参照先 shttl::table< type, replacer >::m_replacementshttl::replacer< key_t >::touch().

参照元 Onikiri::StreamPrefetcher::AllocateStream()Onikiri::StridePrefetcher::OnCacheAccess()Onikiri::StreamPrefetcher::UpdateMonitorStream()Onikiri::StreamPrefetcher::UpdateTrainingStream().

00074         {
00075             m_replacement.touch( 0, index, index/*key_type*/ );
00076         }

関数の呼び出しグラフ:

Here is the caller graph for this function:


変数

template<typename type, typename replacer = lru<size_t>>
array_type shttl::table< type, replacer >::m_body [protected]

table.h94 行で定義されています。

参照元 shttl::table< type, replacer >::construct()shttl::table< type, replacer >::operator[]()shttl::table< type, replacer >::size().

template<typename type, typename replacer = lru<size_t>>
replacer shttl::table< type, replacer >::m_replacement [protected]

table.h95 行で定義されています。

参照元 shttl::table< type, replacer >::construct()shttl::table< type, replacer >::replacement_target()shttl::table< type, replacer >::touch().


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