/* Generated by Cython 0.23.4 */

#ifndef __PYX_HAVE__axon___objects
#define __PYX_HAVE__axon___objects

struct UndefinedObject;
struct AttributeObject;
struct KeyValObject;
struct NodeObject;
struct SimpleBuilder;
struct TimeZoneUTCObject;

/* "axon/_objects.pxd":153
 * 
 * @cython.final
 * cdef public class Undefined[object UndefinedObject, type UndefinedType]:             # <<<<<<<<<<<<<<
 *     pass
 * 
 */
struct UndefinedObject {
  PyObject_HEAD
};

/* "axon/_objects.pxd":180
 * @cython.freelist(128)
 * @cython.final
 * cdef public class Attribute[type AttributeType, object AttributeObject]:             # <<<<<<<<<<<<<<
 *     cdef public unicode name
 *     cdef public object val
 */
struct AttributeObject {
  PyObject_HEAD
  PyObject *name;
  PyObject *val;
};

/* "axon/_objects.pxd":194
 * @cython.freelist(128)
 * @cython.final
 * cdef public class KeyVal[type KeyValType, object KeyValObject]:             # <<<<<<<<<<<<<<
 *     cdef public unicode key
 *     cdef public object val
 */
struct KeyValObject {
  PyObject_HEAD
  PyObject *key;
  PyObject *val;
};

/* "axon/_objects.pxd":207
 * @cython.freelist(128)
 * @cython.final
 * cdef public class Node[type NodeType, object NodeObject]:             # <<<<<<<<<<<<<<
 *     cdef object name
 *     cdef OrderedDict attrs
 */
struct NodeObject {
  PyObject_HEAD
  struct __pyx_vtabstruct_4axon_8_objects_Node *__pyx_vtab;
  PyObject *name;
  struct OrderedDictObject *attrs;
  PyObject *vals;
};

/* "axon/_objects.pxd":261
 * cdef dict tz_dict = {}
 * 
 * cdef public class SimpleBuilder[type SimpleBuilderType, object SimpleBuilder]:             # <<<<<<<<<<<<<<
 * 
 *     @cython.locals(n=int, i=int, buf=cython.p_char, num_buffer=bytes)
 */
struct SimpleBuilder {
  PyObject_HEAD
  struct __pyx_vtabstruct_4axon_8_objects_SimpleBuilder *__pyx_vtab;
};

/* "axon/_objects.pxd":313
 * cdef object timezone_cls
 * 
 * cdef public class timezone(tzinfo)[object TimeZoneUTCObject, type TimeZoneUTCType]:             # <<<<<<<<<<<<<<
 *     """Fixed offset in minutes east from UTC."""
 * 
 */
struct TimeZoneUTCObject {
  PyDateTime_TZInfo __pyx_base;
  PyObject *offset;
  PyObject *name;
};

#ifndef __PYX_HAVE_API__axon___objects

#ifndef __PYX_EXTERN_C
  #ifdef __cplusplus
    #define __PYX_EXTERN_C extern "C"
  #else
    #define __PYX_EXTERN_C extern
  #endif
#endif

#ifndef DL_IMPORT
  #define DL_IMPORT(_T) _T
#endif

__PYX_EXTERN_C DL_IMPORT(PyTypeObject) UndefinedType;
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) AttributeType;
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) KeyValType;
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) NodeType;
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) SimpleBuilderType;
__PYX_EXTERN_C DL_IMPORT(PyTypeObject) TimeZoneUTCType;

__PYX_EXTERN_C DL_IMPORT(struct AttributeObject) *__pyx_f_4axon_8_objects_c_new_attribute(PyObject *, PyObject *);
__PYX_EXTERN_C DL_IMPORT(struct KeyValObject) *__pyx_f_4axon_8_objects_c_new_keyval(PyObject *, PyObject *);
__PYX_EXTERN_C DL_IMPORT(PyObject) *__pyx_f_4axon_8_objects_c_new_node(PyObject *, struct OrderedDictObject *, PyObject *);

__PYX_EXTERN_C DL_IMPORT(PyObject) *__pyx_v_4axon_8_objects_empty_name;
__PYX_EXTERN_C DL_IMPORT(PyObject) *__pyx_v_4axon_8_objects_c_undescore;
__PYX_EXTERN_C DL_IMPORT(PyObject) *__pyx_v_4axon_8_objects_name_cache;
__PYX_EXTERN_C DL_IMPORT(PyObject) *__pyx_v_4axon_8_objects_c_undefined;
__PYX_EXTERN_C DL_IMPORT(PyObject) *c_factory_dict;

#endif /* !__PYX_HAVE_API__axon___objects */

#if PY_MAJOR_VERSION < 3
PyMODINIT_FUNC init_objects(void);
#else
PyMODINIT_FUNC PyInit__objects(void);
#endif

#endif /* !__PYX_HAVE__axon___objects */
