クラス shttl::nlu< key_type >::set

#include <nlu.h>

すべてのメンバ一覧

Public メソッド

 set (bitmap_array_type::iterator bitmap, size_t way_num)
size_t target ()
void touch (const size_t way)

Protected 変数

bitmap_array_type::iterator m_bitmap
size_t m_way_num


説明

template<typename key_type>
class shttl::nlu< key_type >::set

nlu.h96 行で定義されています。


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

template<typename key_type>
shttl::nlu< key_type >::set::set ( bitmap_array_type::iterator  bitmap,
size_t  way_num 
) [inline]

nlu.h100 行で定義されています。

00100                                                                     : 
00101               m_bitmap( bitmap ),
00102               m_way_num( way_num )
00103             {
00104             }


関数

template<typename key_type>
size_t shttl::nlu< key_type >::set::target (  )  [inline]

nlu.h106 行で定義されています。

参照先 shttl::nlu< key_type >::set::m_bitmapshttl::nlu< key_type >::set::m_way_numSHTTL_ASSERT.

参照元 shttl::nlu< key_type >::target().

00107             {
00108                 for(size_type i = 0; i < m_way_num; i++){
00109                     if(!(*m_bitmap & (1 << i)))
00110                         return i;
00111                 }
00112 
00113                 SHTTL_ASSERT(0);
00114                 return 0;           
00115             }

Here is the caller graph for this function:

template<typename key_type>
void shttl::nlu< key_type >::set::touch ( const size_t  way  )  [inline]

nlu.h117 行で定義されています。

参照先 shttl::nlu< key_type >::set::m_bitmapshttl::nlu< key_type >::set::m_way_num.

参照元 shttl::nlu< key_type >::touch().

00118             {
00119             #ifdef SHTTL_DEBUG
00120                 if ( (size_type)m_way_num <= way ){
00121                     throw std::out_of_range("nlu::touch");
00122                 }
00123             #endif
00124 
00125                 *m_bitmap |= 1 << way;
00126                 if( *m_bitmap == mask(0, m_way_num) )
00127                     *m_bitmap = 0;          
00128             }

Here is the caller graph for this function:


変数

template<typename key_type>
bitmap_array_type::iterator shttl::nlu< key_type >::set::m_bitmap [protected]

nlu.h131 行で定義されています。

参照元 shttl::nlu< key_type >::set::target()shttl::nlu< key_type >::set::touch().

template<typename key_type>
size_t shttl::nlu< key_type >::set::m_way_num [protected]

nlu.h132 行で定義されています。

参照元 shttl::nlu< key_type >::set::target()shttl::nlu< key_type >::set::touch().


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