~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/_static_tuple_c.c

  • Committer: Andrew Bennetts
  • Date: 2010-06-27 05:25:03 UTC
  • mto: This revision was merged to the branch mainline in revision 5322.
  • Revision ID: andrew.bennetts@canonical.com-20100627052503-rat7ch559a215swk
Implement __sizeof__ in StaticTuple.

Show diffs side-by-side

added added

removed removed

Lines of Context:
703
703
    return 0;
704
704
}
705
705
 
 
706
 
 
707
static PyObject *
 
708
StaticTuple_sizeof(StaticTuple *self)
 
709
{
 
710
        Py_ssize_t res;
 
711
 
 
712
        res = _PyObject_SIZE(&StaticTuple_Type) + (int)self->size * sizeof(void*);
 
713
        return PyInt_FromSsize_t(res);
 
714
}
 
715
 
 
716
 
 
717
 
706
718
static char StaticTuple_doc[] =
707
719
    "C implementation of a StaticTuple structure."
708
720
    "\n This is used as StaticTuple(item1, item2, item3)"
722
734
     "Create a StaticTuple from a given sequence. This functions"
723
735
     " the same as the tuple() constructor."},
724
736
    {"__reduce__", (PyCFunction)StaticTuple_reduce, METH_NOARGS, StaticTuple_reduce_doc},
 
737
    {"__sizeof__",  (PyCFunction)StaticTuple_sizeof, METH_NOARGS}, 
725
738
    {NULL, NULL} /* sentinel */
726
739
};
727
740