enum scope
Michel Fortin
michel.fortin at michelf.com
Thu Jan 26 03:55:02 PST 2012
On 2012-01-26 01:12:40 +0000, Jonathan M Davis <jmdavisProg at 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.fortin at michelf.com
http://michelf.com/
More information about the Digitalmars-d
mailing list