SystemC  Recoding Infrastructure for SystemC v0.6.2 derived from Accellera SystemC 2.3.1
Accellera SystemC proof-of-concept library
Public Types | Public Member Functions | Friends | List of all members
sc_core::sc_strhash< C > Class Template Reference

#include <sysc/utils/sc_hash.h>

Inheritance diagram for sc_core::sc_strhash< C >:
Inheritance graph
[legend]
Collaboration diagram for sc_core::sc_strhash< C >:
Collaboration graph
[legend]

Public Types

typedef sc_strhash_iter< C > iterator
 
- Public Types inherited from sc_core::sc_phash_base
typedef unsigned(* hash_fn_t )(const void *)
 
typedef int(* cmpr_fn_t )(const void *, const void *)
 

Public Member Functions

 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
 
- Public Member Functions inherited from sc_core::sc_phash_base
 sc_phash_base (void *def=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_base ()
 
void set_cmpr_fn (cmpr_fn_t)
 
void set_hash_fn (hash_fn_t)
 
bool empty () const
 
unsigned count () const
 
void erase ()
 
void erase (void(*kfree)(void *))
 
void copy (const sc_phash_base *)
 
void copy (const sc_phash_base &b)
 
void copy (const sc_phash_base &b, void *(*kdup)(const void *), void(*kfree)(void *))
 
int insert (void *k, void *c)
 
int insert (void *k)
 
int insert (void *k, void *c, void *(*kdup)(const void *))
 
int insert_if_not_exists (void *k, void *c)
 
int insert_if_not_exists (void *k)
 
int insert_if_not_exists (void *k, void *c, void *(*kdup)(const void *))
 
int remove (const void *k)
 
int remove (const void *k, void **pk, void **pc)
 
int remove (const void *k, void(*kfree)(void *))
 
int remove_by_contents (const void *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 (const void *k, void **pc) const
 
bool contains (const void *k) const
 
void * operator[] (const void *key) const
 

Friends

class sc_strhash_iter< C >
 

Additional Inherited Members

- Protected Member Functions inherited from sc_core::sc_phash_base
void rehash ()
 
unsigned do_hash (const void *key) const
 
sc_phash_elem * add_direct (void *key, void *contents, unsigned hash_val)
 
sc_phash_elem * find_entry_c (unsigned hv, const void *k, sc_phash_elem ***plast)
 
sc_phash_elem * find_entry_q (unsigned hv, const void *k, sc_phash_elem ***plast)
 
sc_phash_elem * find_entry (unsigned hv, const void *k, sc_phash_elem ***plast=0) const
 
- Protected Attributes inherited from sc_core::sc_phash_base
void * default_value
 
int num_bins
 
int num_entries
 
int max_density
 
int reorder_flag
 
double grow_factor
 
sc_phash_elem ** bins
 
hash_fn_t hash
 
cmpr_fn_t cmpr
 

Detailed Description

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

Definition at line 353 of file sc_hash.h.

Member Typedef Documentation

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

Definition at line 357 of file sc_hash.h.

Constructor & Destructor Documentation

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

Definition at line 359 of file sc_hash.h.

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

Definition at line 370 of file sc_hash.h.

Member Function Documentation

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

Definition at line 406 of file sc_hash.h.

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

Definition at line 376 of file sc_hash.h.

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

Definition at line 377 of file sc_hash.h.

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

Definition at line 375 of file sc_hash.h.

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

Definition at line 379 of file sc_hash.h.

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

Definition at line 380 of file sc_hash.h.

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

Definition at line 381 of file sc_hash.h.

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

Definition at line 385 of file sc_hash.h.

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

Definition at line 402 of file sc_hash.h.

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

Definition at line 410 of file sc_hash.h.

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

Definition at line 389 of file sc_hash.h.

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

Definition at line 390 of file sc_hash.h.

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

Definition at line 394 of file sc_hash.h.

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

Definition at line 398 of file sc_hash.h.

Friends And Related Function Documentation

template<class C>
friend class sc_strhash_iter< C >
friend

Definition at line 354 of file sc_hash.h.


The documentation for this class was generated from the following file: