Dispatching on a variant

Christopher Wright dhasenan at gmail.com
Sat Sep 26 17:02:08 PDT 2009


Justin Johansson wrote:
> I've had a good poke around the forums and couldn't find anything on this so ...
> 
> What's the recommended method for dispatching code off the runtime type of a variant variable
> (Phobos D2 std.variant)?
> 
> Does one use a bunch of
> 
> if ( var.peek!(type1)) { ... }
> else if ( var.peek!(type2)  { ... }
> 
> for all N possible types, or is there a better & faster way with a switch or jump table of sorts?

Variant should have an accessible typeinfo property. (When I say should, 
I mean that it would be appropriate for it to have it. I am not saying 
that I believe it has it.) It should be faster to compare that (or 
switch on typeinfo.name) than to peek for each type.



More information about the Digitalmars-d mailing list