libgpac
Documentation of the core library of GPAC
Loading...
Searching...
No Matches
Generic List object

List object. More...

Functions

GF_List * gf_list_new ()
 list constructor
 
void gf_list_del (GF_List *ptr)
 list destructor
 
u32 gf_list_count (const GF_List *ptr)
 get count
 
GF_Err gf_list_add (GF_List *ptr, void *item)
 add item
 
GF_Err gf_list_insert (GF_List *ptr, void *item, u32 position)
 inserts item
 
GF_Err gf_list_rem (GF_List *ptr, u32 position)
 removes item
 
void * gf_list_get (GF_List *ptr, u32 position)
 gets item
 
s32 gf_list_find (GF_List *ptr, void *item)
 finds item
 
s32 gf_list_del_item (GF_List *ptr, void *item)
 deletes item
 
void gf_list_reset (GF_List *ptr)
 resets list
 
void * gf_list_last (GF_List *ptr)
 gets last item
 
GF_Err gf_list_rem_last (GF_List *ptr)
 removes last item
 
void * gf_list_enum (GF_List *ptr, u32 *pos)
 list enumerator
 
GF_Err gf_list_swap (GF_List *l1, GF_List *l2)
 list swap
 
GF_Err gf_list_transfer (GF_List *dst, GF_List *src)
 list transfer
 
GF_List * gf_list_clone (GF_List *ptr)
 clone list
 
void * gf_list_pop_front (GF_List *ptr)
 Pop the first element in the list.
 
void * gf_list_pop_back (GF_List *ptr)
 Pop the last element in the list.
 

Detailed Description

List object.

This section documents the list object of the GPAC framework.

Function Documentation

◆ gf_list_new()

GF_List * gf_list_new ( )

list constructor

Constructs a new list object

Returns
new list object

◆ gf_list_del()

void gf_list_del ( GF_List *  ptr)

list destructor

Destructs a list object

Parameters
ptrlist object to destruct
Note
It is the caller responsibility to destroy the content of the list if needed

◆ gf_list_count()

u32 gf_list_count ( const GF_List *  ptr)

get count

Returns number of items in the list

Parameters
ptrtarget list object
Returns
number of items in the list

◆ gf_list_add()

GF_Err gf_list_add ( GF_List *  ptr,
void *  item 
)

add item

Adds an item at the end of the list

Parameters
ptrtarget list object
itemitem to add
Returns
error if any

◆ gf_list_insert()

GF_Err gf_list_insert ( GF_List *  ptr,
void *  item,
u32  position 
)

inserts item

Insert an item in the list

Parameters
ptrtarget list object
itemitem to add
positioninsertion position. It is expressed between 0 and gf_list_count-1, and any bigger value is equivalent to gf_list_add
Returns
error if any

◆ gf_list_rem()

GF_Err gf_list_rem ( GF_List *  ptr,
u32  position 
)

removes item

Removes an item from the list given its position

Parameters
ptrtarget list object
positionposition of the item to remove. It is expressed between 0 and gf_list_count-1.
Returns
error if any
Note
It is the caller responsibility to destroy the content of the list if needed

◆ gf_list_get()

void * gf_list_get ( GF_List *  ptr,
u32  position 
)

gets item

Gets an item from the list given its position

Parameters
ptrtarget list object
positionposition of the item to get. It is expressed between 0 and gf_list_count-1.
Returns
the item or NULL if not found

◆ gf_list_find()

s32 gf_list_find ( GF_List *  ptr,
void *  item 
)

finds item

Finds an item in the list

Parameters
ptrtarget list object.
itemthe item to find.
Returns
0-based item position in the list, or -1 if the item could not be found.

◆ gf_list_del_item()

s32 gf_list_del_item ( GF_List *  ptr,
void *  item 
)

deletes item

Deletes an item from the list

Parameters
ptrtarget list object.
itemthe item to find.
Returns
0-based item position in the list before removal, or -1 if the item could not be found.

◆ gf_list_reset()

void gf_list_reset ( GF_List *  ptr)

resets list

Resets the content of the list

Parameters
ptrtarget list object.
Note
It is the caller responsibility to destroy the content of the list if needed

◆ gf_list_last()

void * gf_list_last ( GF_List *  ptr)

gets last item

Gets last item o fthe list

Parameters
ptrtarget list object
Returns
the last item

◆ gf_list_rem_last()

GF_Err gf_list_rem_last ( GF_List *  ptr)

removes last item

Removes the last item of the list

Parameters
ptrtarget list object
Returns
error if any
Note
It is the caller responsibility to destroy the content of the list if needed

◆ gf_list_enum()

void * gf_list_enum ( GF_List *  ptr,
u32 pos 
)

list enumerator

Retrieves given list item and increment current position

Parameters
ptrtarget list object
postarget item position. The position is automatically incremented regardless of the return value
Note
A typical enumeration will start with a value of 0 until NULL is returned.
Returns
the current item for the given index

◆ gf_list_swap()

GF_Err gf_list_swap ( GF_List *  l1,
GF_List *  l2 
)

list swap

Swaps content of two lists

Parameters
l1first list object
l2second list object
Returns
error if any

◆ gf_list_transfer()

GF_Err gf_list_transfer ( GF_List *  dst,
GF_List *  src 
)

list transfer

Transfer content between lists

Parameters
dstdestination list object
srcsource list object
Returns
error if any

◆ gf_list_clone()

GF_List * gf_list_clone ( GF_List *  ptr)

clone list

Returns a new list as an exact copy of the given list

Parameters
ptrthe list to clone
Returns
the cloned list

◆ gf_list_pop_front()

void * gf_list_pop_front ( GF_List *  ptr)

Pop the first element in the list.

Removes the first element in the list container, effectively reducing its size by one and returns the popped element.

Parameters
ptrthe list to pop
Returns
the popped element

◆ gf_list_pop_back()

void * gf_list_pop_back ( GF_List *  ptr)

Pop the last element in the list.

Removes the last element in the list container, effectively reducing the container size by one and return the popped element.

Parameters
ptrthe list to pop
Returns
the popped element