
/* Code to handle accessing $name$ objects as sequence objects */

static int
$abbrev$_length($abbrev$Object *self)
{
	/* Return the size of the object */
#ifdef $abbrev$_length_impl
	$abbrev$_length_impl(self)
#else
	$abbrev$_length_(self)
#endif
}

static PyObject *
$abbrev$_concat($abbrev$Object *self, PyObject *bb)
{
	/* Return the concatenation of self and bb */
#ifdef $abbrev$_concat_impl
	$abbrev$_concat_impl(self, bb)
#else
	$abbrev$_concat_(self, bb)
#endif
}

static PyObject *
$abbrev$_repeat($abbrev$Object *self, int n)
{
	/* XXXX Return a new object that is n times self */
#ifdef $abbrev$_repeat_impl
	$abbrev$_repeat_impl(self, n)
#else
	$abbrev$_repeat_(self. n)
#endif
}

static PyObject *
$abbrev$_item($abbrev$Object *self, int i)
{
	/* XXXX Return the i-th object of self */
#ifdef $abbrev$_item_impl
	$abbrev$_item_impl(self, i)
#else
	$abbrev$_item_(self, i)
#endif
}

static PyObject *
$abbrev$_slice($abbrev$Object *self, int ilow, int ihigh)
{
	/* XXXX Return the ilow..ihigh slice of self in a new object */
#ifdef $abbrev$_slice_impl
	$abbrev$_slice_impl(self, ilow, ihigh)
#else
	$abbrev$_slice_(self, ilow, ihigh)
#endif
}

static int
$abbrev$_ass_item($abbrev$Object *self, int i, PyObject *v)
{
	/* XXXX Assign to the i-th element of self */
#ifdef $abbrev$_ass_item_impl
	$abbrev$_ass_item_impl(self, i, v)
#else
	$abbrev$_ass_item_(self, i, v)
#endif
	return 0;
}

static int
$abbrev$_ass_slice(PyListObject *self, int ilow, int ihigh, PyObject *v)
{
	/* XXXX Replace ilow..ihigh slice of self with v */
#ifdef $abbrev$_ass_slice_impl
	$abbrev$_ass_slice_impl(self, ilow, ihigh, v)
#else
	$abbrev$_ass_slice_(self, ilow, ihigh, v)
#endif
	return 0;
}

/* -------------------------------------------------------------- */
