[Swig-user] enum constants vs. functions returning an enum value
Chris Shoemaker
c.shoemaker at cox.net
Mon Aug 14 12:01:53 EDT 2006
On Mon, Aug 14, 2006 at 08:51:35AM -0400, Reed Hedges wrote:
> Chris Shoemaker wrote:
> > However, the wrapper for gncOwnerGetType() returns the enum value
> > immediately, not a thunk. E.g. "(gncOwnerGetType employee)" evaluates
> > to 1.
> >
> > This means that the return value of the wrapper for the function that
> > returns an enum value is not comparable to the enum values.
>
> Doesn't this work? --
>
> (= (GNC-OWNER-EMPLOYEE) (gncOwnerGetType employee))
>
Yes, it does. I just didn't expect to have to treat enum constants as
functions, but maybe that's the easiest way to implement the wrapper.
I'm used to treating constants as immediate scheme objects. However,
I wouldn't be surprised if libguile didn't provide a mechanism for
binding symbols to immediate scheme objects. G-wrap wraps constants
as immediates, but it generates helper scheme code to do it.
-chris
More information about the gnucash-devel
mailing list