Lines Matching refs:maple
24 use the normal API. An :ref:`maple-tree-advanced-api` exists for more complex
34 :ref:`maple-tree-advanced-api`, but are blocked by the normal API.
40 :ref:`maple-tree-advanced-api`. This is useful for users who must guarantee a
50 Start by initialising a maple tree, either with DEFINE_MTREE() for statically
51 allocated maple trees or mt_init() for dynamically allocated ones. A
52 freshly-initialised maple tree contains a ``NULL`` pointer for the range ``0``
53 - ``ULONG_MAX``. There are currently two types of maple trees supported: the
78 worth looking at the mas_for_each() API in the :ref:`maple-tree-advanced-api`
81 Sometimes it is necessary to ensure the next call to store to a maple tree does
82 not allocate memory, please see :ref:`maple-tree-advanced-api` for this use case.
84 You can use mtree_dup() to duplicate an entire maple tree. It is a more
87 Finally, you can remove all entries from a maple tree by calling
88 mtree_destroy(). If the maple tree entries are pointers, you may wish to free
95 :ref:`maple-tree-advanced-alloc` for other options.
100 You do not have to worry about locking. See :ref:`maple-tree-advanced-locks`
142 as the locking is compatible. The :ref:`maple-tree-normal-api` is implemented
149 Initialising the maple tree is the same as in the :ref:`maple-tree-normal-api`.
152 The maple state keeps track of the range start and end in mas->index and
160 The range is passed in as members of the maple state: index and last.
163 last of the maple state to the desired range to erase. This will erase
164 the first range that is found in that range, set the maple state index
173 Using a maple state allows mas_next() and mas_prev() to function as if the
185 If the user needs to yield the lock during an operation, then the maple state
204 insertions are complete calling mas_destroy() on the maple state will free the
212 The maple tree uses a spinlock by default, but external locks can be used for