Blender V2.61 - r43446
Classes | Typedefs | Functions

BLI_linklist.h File Reference

Routines for working with singly linked lists of 'links' - pointers to other data. More...

Go to the source code of this file.

Classes

struct  LinkNode

Typedefs

typedef void(* LinkNodeFreeFP )(void *link)
typedef void(* LinkNodeApplyFP )(void *link, void *userdata)
typedef struct LinkNode LinkNode

Functions

int BLI_linklist_length (struct LinkNode *list)
int BLI_linklist_index (struct LinkNode *list, void *ptr)
struct LinkNodeBLI_linklist_find (struct LinkNode *list, int index)
void BLI_linklist_reverse (struct LinkNode **listp)
void BLI_linklist_prepend (struct LinkNode **listp, void *ptr)
void BLI_linklist_append (struct LinkNode **listp, void *ptr)
void BLI_linklist_prepend_arena (struct LinkNode **listp, void *ptr, struct MemArena *ma)
void BLI_linklist_insert_after (struct LinkNode **listp, void *ptr)
void BLI_linklist_free (struct LinkNode *list, LinkNodeFreeFP freefunc)
void BLI_linklist_apply (struct LinkNode *list, LinkNodeApplyFP applyfunc, void *userdata)

Detailed Description

Routines for working with singly linked lists of 'links' - pointers to other data.

Definition in file BLI_linklist.h.


Typedef Documentation

typedef struct LinkNode LinkNode
typedef void(* LinkNodeApplyFP)(void *link, void *userdata)

Definition at line 41 of file BLI_linklist.h.

typedef void(* LinkNodeFreeFP)(void *link)

Definition at line 40 of file BLI_linklist.h.


Function Documentation

void BLI_linklist_append ( struct LinkNode **  listp,
void *  ptr 
)
void BLI_linklist_apply ( struct LinkNode list,
LinkNodeApplyFP  applyfunc,
void *  userdata 
)

Definition at line 156 of file BLI_linklist.c.

References LinkNode::link, and LinkNode::next.

Referenced by bvhcache_find(), propagate_split(), and split_edge().

struct LinkNode* BLI_linklist_find ( struct LinkNode list,
int  index 
) [read]

Definition at line 63 of file BLI_linklist.c.

References i, LinkNode::next, and NULL.

void BLI_linklist_free ( struct LinkNode list,
LinkNodeFreeFP  freefunc 
)
int BLI_linklist_index ( struct LinkNode list,
void *  ptr 
)

Definition at line 52 of file BLI_linklist.c.

References LinkNode::link, and LinkNode::next.

Referenced by project_paint_begin().

void BLI_linklist_insert_after ( struct LinkNode **  listp,
void *  ptr 
)

Definition at line 126 of file BLI_linklist.c.

References LinkNode::link, MEM_mallocN(), LinkNode::next, and NULL.

int BLI_linklist_length ( struct LinkNode list)

Definition at line 38 of file BLI_linklist.c.

References BLI_linklist_length(), len(), and LinkNode::next.

Referenced by BLI_linklist_length(), and filelist_from_library().

void BLI_linklist_prepend ( struct LinkNode **  listp,
void *  ptr 
)
void BLI_linklist_prepend_arena ( struct LinkNode **  listp,
void *  ptr,
struct MemArena ma 
)
void BLI_linklist_reverse ( struct LinkNode **  listp)

Definition at line 74 of file BLI_linklist.c.

References next, and NULL.

Referenced by BLI_file_read_as_lines(), and modifiers_calcDataMasks().