lkml.org 
[lkml]   [2010]   [Jan]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4/6] rbtree: Introduce rb_for_each_entry
    Date
    From: Arnaldo Carvalho de Melo <acme@redhat.com>

    Similar to list_for_each_entry, helps reducing boilerplate in many
    places and makes rbtrees closer to list.h macros.

    First conversion will be in the tools/perf.

    Cc: Frédéric Weisbecker <fweisbec@gmail.com>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Paul Mackerras <paulus@samba.org>
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    ---
    include/linux/rbtree.h | 12 ++++++++++++
    1 files changed, 12 insertions(+), 0 deletions(-)

    diff --git a/include/linux/rbtree.h b/include/linux/rbtree.h
    index 9c29541..044b150 100644
    --- a/include/linux/rbtree.h
    +++ b/include/linux/rbtree.h
    @@ -158,4 +158,16 @@ static inline void rb_link_node(struct rb_node * node, struct rb_node * parent,
    *rb_link = node;
    }

    +/**
    + * rb_for_each_entry - iterate over rbtree of given type
    + * @pos: the type * to hold the current entry being traversed
    + * @node: the rb_node to hold the current entry being traversed
    + * @root: the root for your tree.
    + * @member: the name of the rb_node within the struct.
    + */
    +#define rb_for_each_entry(pos, node, root, member) \
    + for (node = rb_first(root); \
    + node && (pos = rb_entry(node, typeof(*pos), member)); \
    + node = rb_next(node))
    +
    #endif /* _LINUX_RBTREE_H */
    --
    1.6.2.5
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2010-01-07 23:05    [W:0.044 / U:117.736 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site