const long htentry_last = 0; // means that there is no next entry
// These forward declarations are needed for Sun CC 3.0.1 and 4.0.1.
const long htentry_last = 0; // means that there is no next entry
// These forward declarations are needed for Sun CC 3.0.1 and 4.0.1.
// Constructor: build a new, empty table.
cl_heap_hashtable (long initial_size = 5) : cl_heap (),
_size (initial_size), _count (0), _garcol_fun (no_garcol)
{
_modulus = compute_modulus(_size);
// Constructor: build a new, empty table.
cl_heap_hashtable (long initial_size = 5) : cl_heap (),
_size (initial_size), _count (0), _garcol_fun (no_garcol)
{
_modulus = compute_modulus(_size);
_slots = (long*) ((char*)_total_vector + 0);
_entries = (htxentry *) ((char*)_total_vector + _modulus*sizeof(long));
for (var long hi = _modulus-1; hi >= 0; hi--)
_slots = (long*) ((char*)_total_vector + 0);
_entries = (htxentry *) ((char*)_total_vector + _modulus*sizeof(long));
for (var long hi = _modulus-1; hi >= 0; hi--)
-#if defined(__GNUC__)
- return _cl_hashtable_iterator<htentry>::_cl_hashtable_iterator(_entries,_size);
-#else // workaround most C++ compilers' bug
- typedef _cl_hashtable_iterator<htentry> _cl_hashtable_iterator_type;
- return _cl_hashtable_iterator_type(_entries,_size);
-#endif
+ return _cl_hashtable_iterator<htentry>(_entries,_size);