diff options
| author | Tim Peters <tim.peters@gmail.com> | 2004-07-29 03:29:15 +0000 |
|---|---|---|
| committer | Tim Peters <tim.peters@gmail.com> | 2004-07-29 03:29:15 +0000 |
| commit | a995a2dd54f904913bfde54317480edf3a3b79c8 (patch) | |
| tree | 04eba7f447330044c3568dc4dba6fa873f25c982 | |
| parent | b38e2b61b3ea0556e3bec0e83ba027a7a3371df8 (diff) | |
| download | cpython-git-a995a2dd54f904913bfde54317480edf3a3b79c8.tar.gz | |
Document what the members of PyListObject are used for, and the crucial
invariants they must satisfy.
| -rw-r--r-- | Include/listobject.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Include/listobject.h b/Include/listobject.h index b4935ae894..62a8518080 100644 --- a/Include/listobject.h +++ b/Include/listobject.h @@ -21,7 +21,16 @@ extern "C" { typedef struct { PyObject_VAR_HEAD + /* Vector of pointers to list elements. list[0] is ob_item{0], etc. */ PyObject **ob_item; + + /* ob_item contains space for 'allocated' elements. The number + * currently in use is ob_size. + * Invariants: + * 0 <= ob_size <= allocated + * len(list) == ob_size + * ob_item == NULL implies ob_size == allocated == 0 + */ int allocated; } PyListObject; |
