Make enum auto castable

Laeeth Isharc via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sun Jun 4 15:59:47 PDT 2017


On Sunday, 4 June 2017 at 22:52:55 UTC, Mike B Johnson wrote:
> I am dealing with some COM stuff and some functions use 
> VARIANT, which can hold an enum.
>
> Instead of having to manually convert the enum(and for that 
> matter, other things) to VARIANT, is it possible to have them 
> automatically converted?
>
> This is because an enum is always convertible to a VARIANT but 
> not the other way around. So, when a enum is passed to a 
> function accepting a VARIANT, it should just work. Overloading 
> is not an option.

Not sure if this breaks your requirement but you could generate 
overloads or rather templated version of your variant accepting 
function  with a mixin that introspects on functions with a 
certain uda in the module.  See excel-d for an example.



More information about the Digitalmars-d-learn mailing list