On 02/24/2013 05:40 PM, Barry Warsaw wrote:
On Feb 23, 2013, at 04:02 PM, Stefan Krah wrote:

+Ordered comparisons between enumeration values are *not* supported.  Enums
are +not integers!

Hmm. I think this limits interoperation with C libraries and prototyping
C code.

This is mostly a red-herring.  flufl.enum values are C-level int compatible
without actually *being* ints.

E.g.

static PyObject *
intcompat_printint(PyObject *self, PyObject *args)
{
     int value;
     if (!PyArg_ParseTuple(args, "i", &value))
         return NULL;

     printf("and the value is: %d\n", value);
     Py_RETURN_NONE;
}

from _intcompat import *
printint(7)
and the value is: 7
from flufl.enum import make
Colors = make('Colors', 'red green blue'.split())
printint(Colors.green)
and the value is: 2

Okay, that's pretty cool.

I would still like the int subclass, though, as it would be an aid to me on the 
Python side.

--
~Ethan~
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to