summaryrefslogtreecommitdiff
path: root/src/cairo-list-private.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-04-19 11:59:54 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2012-04-19 13:17:29 +0100
commit57cfdfd9796531a576060e9304715920e0fdb8fe (patch)
tree1455de0a737b156c86c3fa5c88e42759eabfb4d2 /src/cairo-list-private.h
parentdf62accbda19276c68753e799a32443b47d4e939 (diff)
downloadcairo-57cfdfd9796531a576060e9304715920e0fdb8fe.tar.gz
Split cairo-list into struct+inlines
References: https://bugs.freedesktop.org/show_bug.cgi?id=48577 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/cairo-list-private.h')
-rw-r--r--src/cairo-list-private.h167
1 files changed, 0 insertions, 167 deletions
diff --git a/src/cairo-list-private.h b/src/cairo-list-private.h
index ddfd0a4c6..9f39b668f 100644
--- a/src/cairo-list-private.h
+++ b/src/cairo-list-private.h
@@ -45,171 +45,4 @@ typedef struct _cairo_list {
struct _cairo_list *next, *prev;
} cairo_list_t;
-#define cairo_list_entry(ptr, type, member) \
- cairo_container_of(ptr, type, member)
-
-#define cairo_list_first_entry(ptr, type, member) \
- cairo_list_entry((ptr)->next, type, member)
-
-#define cairo_list_last_entry(ptr, type, member) \
- cairo_list_entry((ptr)->prev, type, member)
-
-#define cairo_list_foreach(pos, head) \
- for (pos = (head)->next; pos != (head); pos = pos->next)
-
-#define cairo_list_foreach_entry(pos, type, head, member) \
- for (pos = cairo_list_entry((head)->next, type, member);\
- &pos->member != (head); \
- pos = cairo_list_entry(pos->member.next, type, member))
-
-#define cairo_list_foreach_entry_safe(pos, n, type, head, member) \
- for (pos = cairo_list_entry ((head)->next, type, member),\
- n = cairo_list_entry (pos->member.next, type, member);\
- &pos->member != (head); \
- pos = n, n = cairo_list_entry (n->member.next, type, member))
-
-#define cairo_list_foreach_entry_reverse(pos, type, head, member) \
- for (pos = cairo_list_entry((head)->prev, type, member);\
- &pos->member != (head); \
- pos = cairo_list_entry(pos->member.prev, type, member))
-
-#define cairo_list_foreach_entry_reverse_safe(pos, n, type, head, member) \
- for (pos = cairo_list_entry((head)->prev, type, member),\
- n = cairo_list_entry (pos->member.prev, type, member);\
- &pos->member != (head); \
- pos = n, n = cairo_list_entry (n->member.prev, type, member))
-
-#ifdef CAIRO_LIST_DEBUG
-static inline void
-_cairo_list_validate (const cairo_list_t *link)
-{
- assert (link->next->prev == link);
- assert (link->prev->next == link);
-}
-static inline void
-cairo_list_validate (const cairo_list_t *head)
-{
- cairo_list_t *link;
-
- cairo_list_foreach (link, head)
- _cairo_list_validate (link);
-}
-static inline cairo_bool_t
-cairo_list_is_empty (const cairo_list_t *head);
-static inline void
-cairo_list_validate_is_empty (const cairo_list_t *head)
-{
- assert (head->next == NULL || (cairo_list_is_empty (head) && head->next == head->prev));
-}
-#else
-#define _cairo_list_validate(link)
-#define cairo_list_validate(head)
-#define cairo_list_validate_is_empty(head)
-#endif
-
-static inline void
-cairo_list_init (cairo_list_t *entry)
-{
- entry->next = entry;
- entry->prev = entry;
-}
-
-static inline void
-__cairo_list_add (cairo_list_t *entry,
- cairo_list_t *prev,
- cairo_list_t *next)
-{
- next->prev = entry;
- entry->next = next;
- entry->prev = prev;
- prev->next = entry;
-}
-
-static inline void
-cairo_list_add (cairo_list_t *entry, cairo_list_t *head)
-{
- cairo_list_validate (head);
- cairo_list_validate_is_empty (entry);
- __cairo_list_add (entry, head, head->next);
- cairo_list_validate (head);
-}
-
-static inline void
-cairo_list_add_tail (cairo_list_t *entry, cairo_list_t *head)
-{
- cairo_list_validate (head);
- cairo_list_validate_is_empty (entry);
- __cairo_list_add (entry, head->prev, head);
- cairo_list_validate (head);
-}
-
-static inline void
-__cairo_list_del (cairo_list_t *prev, cairo_list_t *next)
-{
- next->prev = prev;
- prev->next = next;
-}
-
-static inline void
-cairo_list_del (cairo_list_t *entry)
-{
- __cairo_list_del (entry->prev, entry->next);
- cairo_list_init (entry);
-}
-
-static inline void
-cairo_list_move (cairo_list_t *entry, cairo_list_t *head)
-{
- cairo_list_validate (head);
- __cairo_list_del (entry->prev, entry->next);
- __cairo_list_add (entry, head, head->next);
- cairo_list_validate (head);
-}
-
-static inline void
-cairo_list_move_tail (cairo_list_t *entry, cairo_list_t *head)
-{
- cairo_list_validate (head);
- __cairo_list_del (entry->prev, entry->next);
- __cairo_list_add (entry, head->prev, head);
- cairo_list_validate (head);
-}
-
-static inline void
-cairo_list_swap (cairo_list_t *entry, cairo_list_t *other)
-{
- __cairo_list_add (entry, other->prev, other->next);
- cairo_list_init (other);
-}
-
-static inline cairo_bool_t
-cairo_list_is_first (const cairo_list_t *entry,
- const cairo_list_t *head)
-{
- cairo_list_validate (head);
- return entry->prev == head;
-}
-
-static inline cairo_bool_t
-cairo_list_is_last (const cairo_list_t *entry,
- const cairo_list_t *head)
-{
- cairo_list_validate (head);
- return entry->next == head;
-}
-
-static inline cairo_bool_t
-cairo_list_is_empty (const cairo_list_t *head)
-{
- cairo_list_validate (head);
- return head->next == head;
-}
-
-static inline cairo_bool_t
-cairo_list_is_singular (const cairo_list_t *head)
-{
- cairo_list_validate (head);
- return head->next == head || head->next == head->prev;
-}
-
#endif /* CAIRO_LIST_PRIVATE_H */