クラス テンプレート sc_core::sc_phash< K, C >

#include <sc_hash.h>

sc_core::sc_phash< K, C >に対する継承グラフ

Inheritance graph
[凡例]

すべてのメンバ一覧

Public 型

typedef sc_phash_iter< K, C > iterator

Public メソッド

 sc_phash (C def=(C) 0, int size=PHASH_DEFAULT_INIT_TABLE_SIZE, int density=PHASH_DEFAULT_MAX_DENSITY, double grow=PHASH_DEFAULT_GROW_FACTOR, bool reorder=PHASH_DEFAULT_REORDER_FLAG, hash_fn_t hash_fn=default_ptr_hash_fn, cmpr_fn_t cmpr_fn=0)
 ~sc_phash ()
void copy (const sc_phash< K, C > *b)
void copy (const sc_phash< K, C > &b)
void copy (const sc_phash< K, C > &b, void *(*kdup)(const void *), void(*kfree)(void *))
int insert (K k, C c)
int insert (K k)
int insert (K k, C c, void *(*kdup)(const void *))
int insert_if_not_exists (K k, C c)
int insert_if_not_exists (K k)
int insert_if_not_exists (K k, C c, void *(*kdup)(const void *))
int remove (K k)
int remove (K k, K *pk, C *pc)
int remove (K k, void(*kfree)(void *))
int remove_by_contents (C c)
int remove_by_contents (bool(*predicate)(const void *, void *), void *arg)
int remove_by_contents (const void *c, void(*kfree)(void *))
int remove_by_contents (bool(*predicate)(const void *, void *), void *arg, void(*kfree)(void *))
int lookup (K k, C *pc) const
bool contains (K k) const
operator[] (K k) const

フレンド

class sc_phash_iter< K, C >


説明

template<class K, class C>
class sc_core::sc_phash< K, C >

sc_hash.h173 行で定義されています。


型定義

template<class K, class C>
typedef sc_phash_iter<K,C> sc_core::sc_phash< K, C >::iterator

sc_core::sc_phash_baseを再定義しています。

sc_hash.h177 行で定義されています。


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

template<class K, class C>
sc_core::sc_phash< K, C >::sc_phash ( def = (C) 0,
int  size = PHASH_DEFAULT_INIT_TABLE_SIZE,
int  density = PHASH_DEFAULT_MAX_DENSITY,
double  grow = PHASH_DEFAULT_GROW_FACTOR,
bool  reorder = PHASH_DEFAULT_REORDER_FLAG,
hash_fn_t  hash_fn = default_ptr_hash_fn,
cmpr_fn_t  cmpr_fn = 0 
) [inline]

sc_hash.h179 行で定義されています。

00186         : sc_phash_base((void*) def, size, density, grow, reorder, hash_fn, cmpr_fn) { }

template<class K, class C>
sc_core::sc_phash< K, C >::~sc_phash (  )  [inline]

sc_hash.h187 行で定義されています。

00187 { }


関数

template<class K, class C>
void sc_core::sc_phash< K, C >::copy ( const sc_phash< K, C > *  b  )  [inline]

sc_hash.h189 行で定義されています。

00189 { sc_phash_base::copy(b); }

template<class K, class C>
void sc_core::sc_phash< K, C >::copy ( const sc_phash< K, C > &  b  )  [inline]

sc_hash.h190 行で定義されています。

00190 { sc_phash_base::copy(b); }

template<class K, class C>
void sc_core::sc_phash< K, C >::copy ( const sc_phash< K, C > &  b,
void *(*)(const void *)  kdup,
void(*)(void *)  kfree 
) [inline]

sc_hash.h191 行で定義されています。

00191 { sc_phash_base::copy(b, kdup, kfree); }

template<class K, class C>
int sc_core::sc_phash< K, C >::insert ( k,
c 
) [inline]

sc_hash.h193 行で定義されています。

00193 { return sc_phash_base::insert((void*) k, (void*) c); }

template<class K, class C>
int sc_core::sc_phash< K, C >::insert ( k  )  [inline]

sc_hash.h194 行で定義されています。

00194 { return sc_phash_base::insert((void*) k, default_value); }

template<class K, class C>
int sc_core::sc_phash< K, C >::insert ( k,
c,
void *(*)(const void *)  kdup 
) [inline]

sc_hash.h195 行で定義されています。

00195 { return sc_phash_base::insert((void*) k, (void*) c, kdup); }

template<class K, class C>
int sc_core::sc_phash< K, C >::insert_if_not_exists ( k,
c 
) [inline]

sc_hash.h196 行で定義されています。

00197     {
00198         return sc_phash_base::insert_if_not_exists((void*) k, (void*) c);
00199     }

template<class K, class C>
int sc_core::sc_phash< K, C >::insert_if_not_exists ( k  )  [inline]

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

00201     {
00202         return sc_phash_base::insert_if_not_exists((void*) k, default_value);
00203     }

template<class K, class C>
int sc_core::sc_phash< K, C >::insert_if_not_exists ( k,
c,
void *(*)(const void *)  kdup 
) [inline]

sc_hash.h204 行で定義されています。

00205     {
00206         return sc_phash_base::insert_if_not_exists((void*) k, (void*) c, kdup);
00207     }

template<class K, class C>
int sc_core::sc_phash< K, C >::remove ( k  )  [inline]

sc_hash.h208 行で定義されています。

00208 { return sc_phash_base::remove((const void*) k); }

template<class K, class C>
int sc_core::sc_phash< K, C >::remove ( k,
K *  pk,
C *  pc 
) [inline]

sc_hash.h209 行で定義されています。

00210     {
00211         return sc_phash_base::remove((const void*) k, (void**) pk, (void**) pc);
00212     }

template<class K, class C>
int sc_core::sc_phash< K, C >::remove ( k,
void(*)(void *)  kfree 
) [inline]

sc_hash.h213 行で定義されています。

00214     {
00215         return sc_phash_base::remove((const void*) k, kfree);
00216     }

template<class K, class C>
int sc_core::sc_phash< K, C >::remove_by_contents ( c  )  [inline]

sc_hash.h217 行で定義されています。

00218     {
00219         return sc_phash_base::remove_by_contents((const void*) c);
00220     }

template<class K, class C>
int sc_core::sc_phash< K, C >::remove_by_contents ( bool(*)(const void *, void *)  predicate,
void *  arg 
) [inline]

sc_core::sc_phash_baseを再定義しています。

sc_hash.h221 行で定義されています。

00222     {
00223         return sc_phash_base::remove_by_contents(predicate, arg);
00224     }

template<class K, class C>
int sc_core::sc_phash< K, C >::remove_by_contents ( const void *  c,
void(*)(void *)  kfree 
) [inline]

sc_core::sc_phash_baseを再定義しています。

sc_hash.h225 行で定義されています。

00226     {
00227         return sc_phash_base::remove_by_contents(c, kfree);
00228     }

template<class K, class C>
int sc_core::sc_phash< K, C >::remove_by_contents ( bool(*)(const void *, void *)  predicate,
void *  arg,
void(*)(void *)  kfree 
) [inline]

sc_core::sc_phash_baseを再定義しています。

sc_hash.h229 行で定義されています。

00230     {
00231         return sc_phash_base::remove_by_contents(predicate, arg, kfree);
00232     }

template<class K, class C>
int sc_core::sc_phash< K, C >::lookup ( k,
C *  pc 
) const [inline]

sc_hash.h233 行で定義されています。

00234     {
00235         return sc_phash_base::lookup((const void*) k, (void**) pc);
00236     }

template<class K, class C>
bool sc_core::sc_phash< K, C >::contains ( k  )  const [inline]

sc_hash.h237 行で定義されています。

00238     {
00239         return sc_phash_base::contains((const void*) k);
00240     }

template<class K, class C>
C sc_core::sc_phash< K, C >::operator[] ( k  )  const [inline]

sc_hash.h241 行で定義されています。

00242     {
00243         return (C) sc_phash_base::operator[]((const void*) k);
00244     }


フレンドと関連する関数

template<class K, class C>
friend class sc_phash_iter< K, C > [friend]

sc_hash.h174 行で定義されています。


このクラスの説明は次のファイルから生成されました:

SystemCに対してFri Jun 6 20:12:20 2008に生成されました。  doxygen 1.5.6