OT: It is convert, not covert

Nicholas Wilson via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Tue Apr 4 04:32:01 PDT 2017


On Tuesday, 4 April 2017 at 09:37:12 UTC, biocyberman wrote:
> On Tuesday, 4 April 2017 at 05:29:42 UTC, Ali Çehreli wrote:
>> Covert has a very different meaning. :)
>>
>> Ali
>
> Thanks Ali. My fingers argued they are the same :) And I can't 
> find a way to edit my post after posting.
>
> I would love to have your input. I am revisited your  book 
> several times to read relevant sections. But these complex 
> macros are still holding me back.

Most of those macros are not needed and can be just part the 
struct definition:

i.e. you want something like

struct kh_hashtable(K,V,bool _is_map, alias hash_func, alias 
hash_eq = (K a, K b)=> a == b) {
     khint_t n_buckets, size, n_occupied, upper_bound;
     khint32_t *flags;
      K *keys;
      V *vals;
     //No need for __KHASH_PROTOTYPES / __KHASH_IMPL just declare 
the function as methods of the struct
     this() { ... } // in place of kh_init_##name
     ~this() { ... } // for destroy
     resize(khint_t new_size){ ... }  //kh_resize_##name
     // and so on for each method in __KHASH_IMPL

}


More information about the Digitalmars-d-learn mailing list