クラス テンプレート sc_core::sc_strhash< C >

#include <sc_hash.h>

sc_core::sc_strhash< C >に対する継承グラフ

Inheritance graph
[凡例]

すべてのメンバ一覧

Public 型

typedef sc_strhash_iter< C > iterator

Public メソッド

 sc_strhash (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, unsigned(*hash_fn)(const void *)=default_str_hash_fn, int(*cmpr_fn)(const void *, const void *)=sc_strhash_cmp)
 ~sc_strhash ()
void erase ()
void copy (const sc_strhash< C > *b)
void copy (const sc_strhash< C > &b)
int insert (char *k, C c)
int insert (char *k)
int insert_if_not_exists (char *k, C c)
int insert_if_not_exists (char *k)
int remove (const char *k)
int remove (const char *k, char **pk, C *pc)
int remove_by_contents (C c)
int remove_by_contents (bool(*predicate)(const void *, void *), void *arg)
int lookup (const char *k, C *pc) const
bool contains (const char *k) const
operator[] (const char *k) const

フレンド

class sc_strhash_iter< C >


説明

template<class C>
class sc_core::sc_strhash< C >

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


型定義

template<class C>
typedef sc_strhash_iter<C> sc_core::sc_strhash< C >::iterator

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

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


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

template<class C>
sc_core::sc_strhash< C >::sc_strhash ( 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,
unsigned(*)(const void *)  hash_fn = default_str_hash_fn,
int(*)(const void *, const void *)  cmpr_fn = sc_strhash_cmp 
) [inline]

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

00380         : sc_phash_base((void*) def, size, density, grow, reorder, hash_fn, cmpr_fn)
00381     {
00382 
00383     }

template<class C>
sc_core::sc_strhash< C >::~sc_strhash (  )  [inline]

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

00385     {
00386         erase();
00387     }


関数

template<class C>
void sc_core::sc_strhash< C >::erase (  )  [inline]

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

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

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

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

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

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

template<class C>
int sc_core::sc_strhash< C >::insert ( char *  k,
c 
) [inline]

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

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

template<class C>
int sc_core::sc_strhash< C >::insert ( char *  k  )  [inline]

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

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

template<class C>
int sc_core::sc_strhash< C >::insert_if_not_exists ( char *  k,
c 
) [inline]

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

00396     {
00397         return sc_phash_base::insert_if_not_exists((void*) k, (void*) c, sc_strhash_kdup);
00398     }

template<class C>
int sc_core::sc_strhash< C >::insert_if_not_exists ( char *  k  )  [inline]

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

00400     {
00401         return sc_phash_base::insert_if_not_exists((void*) k, default_value, sc_strhash_kdup);
00402     }

template<class C>
int sc_core::sc_strhash< C >::remove ( const char *  k  )  [inline]

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

00403 { return sc_phash_base::remove((const void*) k, sc_strhash_kfree); }

template<class C>
int sc_core::sc_strhash< C >::remove ( const char *  k,
char **  pk,
C *  pc 
) [inline]

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

00405     {
00406         return sc_phash_base::remove((const void*) k, (void**) pk, (void**) pc);
00407     }

template<class C>
int sc_core::sc_strhash< C >::remove_by_contents ( c  )  [inline]

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

00409     {
00410         return sc_phash_base::remove_by_contents((const void*) c, sc_strhash_kfree);
00411     }

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

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

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

00413     {
00414         return sc_phash_base::remove_by_contents(predicate, arg, sc_strhash_kfree);
00415     }

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

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

00417     {
00418         return sc_phash_base::lookup((const void*) k, (void** )pc);
00419     }

template<class C>
bool sc_core::sc_strhash< C >::contains ( const char *  k  )  const [inline]

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

00421     {
00422         return sc_phash_base::contains((const void*) k);
00423     }

template<class C>
C sc_core::sc_strhash< C >::operator[] ( const char *  k  )  const [inline]

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

00425     {
00426         return (C) sc_phash_base::operator[]((const void*) k);
00427     }


フレンドと関連する関数

template<class C>
friend class sc_strhash_iter< C > [friend]

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


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

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