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 Finally, you can remove all entries from a maple tree by calling
85 mtree_destroy(). If the maple tree entries are pointers, you may wish to free
92 :ref:`maple-tree-advanced-alloc` for other options.
97 You do not have to worry about locking. See :ref:`maple-tree-advanced-locks`
138 as the locking is compatible. The :ref:`maple-tree-normal-api` is implemented
145 Initialising the maple tree is the same as in the :ref:`maple-tree-normal-api`.
148 The maple state keeps track of the range start and end in mas->index and
156 The range is passed in as members of the maple state: index and last.
159 last of the maple state to the desired range to erase. This will erase
160 the first range that is found in that range, set the maple state index
169 Using a maple state allows mas_next() and mas_prev() to function as if the
181 If the user needs to yield the lock during an operation, then the maple state
200 insertions are complete calling mas_destroy() on the maple state will free the
208 The maple tree uses a spinlock by default, but external locks can be used for