Lines Matching refs:list

5 involves using a doubly-linked-list to capture the order.  We keep to that
6 strategy, using a lower-level linked-list.
11 For the linked list we use a basic doubly-linked-list. Using a circularly-
12 linked-list does have some benefits, but they don't apply so much here
13 since OrderedDict is focused on the ends of the list (for the most part).
17 macros from BSD's queue.h, and the linux's list.h.
24 linked-list on top of dict is not sufficient here; operations for nodes in
25 the middle of the linked-list implicitly require finding the node first.
26 With a simple linked-list like we're using, that is an O(n) operation.
31 must do better than just looping through the linked-list. Here are options
36 to the corresponding node in the linked-list.
67 As noted, the linked-list implemented here does not have all the bells and
70 that end, we use a simple API to interact with the linked-list. Here's a
104 And here's a look at how the linked-list relates to the OrderedDict API:
131 node in the linked-list. Everything else is iteration or relates to the
132 ends of the linked-list.
136 Using a raw linked-list for OrderedDict exposes a key situation that can
140 up is during iteration through the linked list (via _odict_FOREACH or
312 with the underlying linked-list.
420 get added, removed, or reordered. For a linked-list implementation, as
486 _ODictNode *od_first; /* first node in the linked list, if any */
487 _ODictNode *od_last; /* last node in the linked list, if any */
502 * odict keys (a simple doubly-linked list)
663 /* adds the node to the end of the list */
938 res += sizeof(_ODictNode) * PyODict_SIZE(od); /* linked-list */
1803 /* iterate the temporary into a list */
1804 PyObject *list = PySequence_List((PyObject*)&tmp);
1807 if (list == NULL) {
1810 return Py_BuildValue("N(N)", _PyEval_GetBuiltin(&_Py_ID(iter)), list);