On 2012-01-26 01:12:40 +0000, Jonathan M Davis <jmdavisp...@gmx.com> said:

On Thursday, January 26, 2012 02:06:45 Trass3r wrote:
When writing C bindings I usually create lots of aliases via a
string mixin to pull enum members into the enclosing scope so
it's compatible to C.
Would it be wise to let the compiler do this automatically for
extern(C) enums?

Why? You're using them in D code, not C code. What difference does it make if
the enum is one that's used in C code or not? Why would you use such aliases
with enums from C but not those from D/ What makes enums from C different?

Often C enum value naming takes into account that they'll live in the outer scope. For instance:

        enum UITableViewRowAnimation {
        UITableViewRowAnimationFade,
            UITableViewRowAnimationRight,
            UITableViewRowAnimationLeft,
            UITableViewRowAnimationTop,
            UITableViewRowAnimationBottom,
            UITableViewRowAnimationNone,
            UITableViewRowAnimationMiddle,
            UITableViewRowAnimationAutomatic = 100
        }

So if you're doing direct bindings where you don't want to change the names, how do you use that in D?

        UITableViewRowAnimation.UITableViewRowAnimationFade

--
Michel Fortin
michel.for...@michelf.com
http://michelf.com/

Reply via email to