Convert this C define to D
Regan Heath
regan at netmail.co.nz
Tue May 22 06:34:08 PDT 2007
Daniel Keep Wrote:
> Regan Heath wrote:
> > Hi all,
> >
> > I have this C macro:
> >
> > #define STACK_OF(type) STACK
> >
> > usage:
> >
> > struct foo {
> > STACK_OF(Bob) bobStack;
> > }
> >
> > lets ignore the fact that the replacement STACK doesn't include with the type it was given, in this case/stage it's not important.
> >
> > I feel like I should be able to replace this C macro with a template/mixin of some kind but as templates/mixins aren't my strongest d-foo (kungfoo) technique I figured I had best ask for opinions.
> >
> > Regan
>
> Assuming that STACK is an actual type...
>
> template STACK_OF(type)
> {
> alias STACK STACK_OF;
> }
So, using the above this:
struct foo {
STACK_OF(Bob) bobStack;
}
results in/becomes/is equivalent to this:
struct foo {
STACK bobStack;
}
?
Yes, STACK is a type, a structure which has previously been defined.
Regan
More information about the Digitalmars-d-learn
mailing list