XenevaOS
Loading...
Searching...
No Matches
Classes | Macros | Functions
interval_tree.h File Reference
#include <linux/rbtree.h>
Include dependency graph for interval_tree.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  interval_tree_node
 
struct  interval_tree_span_iter
 

Macros

#define interval_tree_for_each_span(span, itree, first_index, last_index)
 

Functions

void interval_tree_insert (struct interval_tree_node *node, struct rb_root_cached *root)
 
void interval_tree_remove (struct interval_tree_node *node, struct rb_root_cached *root)
 
struct interval_tree_node * interval_tree_subtree_search (struct interval_tree_node *node, unsigned long start, unsigned long last)
 
struct interval_tree_node * interval_tree_iter_first (struct rb_root_cached *root, unsigned long start, unsigned long last)
 
struct interval_tree_node * interval_tree_iter_next (struct interval_tree_node *node, unsigned long start, unsigned long last)
 
void interval_tree_span_iter_first (struct interval_tree_span_iter *state, struct rb_root_cached *itree, unsigned long first_index, unsigned long last_index)
 
void interval_tree_span_iter_advance (struct interval_tree_span_iter *iter, struct rb_root_cached *itree, unsigned long new_index)
 
void interval_tree_span_iter_next (struct interval_tree_span_iter *state)
 

Macro Definition Documentation

◆ interval_tree_for_each_span

#define interval_tree_for_each_span (   span,
  itree,
  first_index,
  last_index 
)
Value:
for (interval_tree_span_iter_first(span, itree, \
first_index, last_index); \
!interval_tree_span_iter_done(span); \
interval_tree_span_iter_next(span))
void interval_tree_span_iter_first(struct interval_tree_span_iter *state, struct rb_root_cached *itree, unsigned long first_index, unsigned long last_index)

Function Documentation

◆ interval_tree_insert()

void interval_tree_insert ( struct interval_tree_node *  node,
struct rb_root_cached *  root 
)
extern

◆ interval_tree_iter_first()

struct interval_tree_node * interval_tree_iter_first ( struct rb_root_cached *  root,
unsigned long  start,
unsigned long  last 
)
extern

◆ interval_tree_iter_next()

struct interval_tree_node * interval_tree_iter_next ( struct interval_tree_node *  node,
unsigned long  start,
unsigned long  last 
)
extern

◆ interval_tree_remove()

void interval_tree_remove ( struct interval_tree_node *  node,
struct rb_root_cached *  root 
)
extern

◆ interval_tree_span_iter_advance()

void interval_tree_span_iter_advance ( struct interval_tree_span_iter *  iter,
struct rb_root_cached *  itree,
unsigned long  new_index 
)

◆ interval_tree_span_iter_first()

void interval_tree_span_iter_first ( struct interval_tree_span_iter *  state,
struct rb_root_cached *  itree,
unsigned long  first_index,
unsigned long  last_index 
)

◆ interval_tree_span_iter_next()

void interval_tree_span_iter_next ( struct interval_tree_span_iter *  state)

◆ interval_tree_subtree_search()

struct interval_tree_node * interval_tree_subtree_search ( struct interval_tree_node *  node,
unsigned long  start,
unsigned long  last 
)
extern