Problem Benchmarking HashSet from containers-em
    Nordlöw via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Thu Oct 22 12:41:08 PDT 2015
    
    
  
On Thursday, 22 October 2015 at 17:32:34 UTC, Justin Whear wrote:
> On Thu, 22 Oct 2015 11:55:37 +0000, Nordlöw wrote:
>
>> What's wrong?
>
> HashSet has a disabled default constructor; you need to supply 
> the allocator instance to the constructor here 
> https://github.com/nordlow/ 
> justd/blob/master/containers_ex.d#L17
Doesn't work.
If I change
     auto set = HashSet!(E, Allocator)();
to
     auto set = HashSet!(E, Allocator)(Allocator());
it errors as
containers_ex.d(17,38): Error: constructor 
containers.hashset.HashSet!(const(int), Mallocator, generateHash, 
false).HashSet.this (ulong bucketCount) is not callable using 
argument types (Mallocator)
containers_ex.d(30,16): Error: template instance 
containers_ex.hashSet!(Mallocator, const(int)[]) error 
instantiating
containers_ex.d(35,5): Error: static assert  (is(typeof(__error) 
== const(int)*)) is false
My existing call to
     auto set = HashSet!(E, Allocator)();
works for Mallocator as in
https://github.com/nordlow/justd/blob/master/containers_ex.d#L17
but not for
     InSituRegion!(1024*1024, T.alignof)
Why? Please, help.
    
    
More information about the Digitalmars-d-learn
mailing list