xine-lib 1.2.13-20230125hg15249
Macros | Typedefs | Functions
sorted_array.h File Reference
#include <stddef.h>
#include <xine/attributes.h>

Go to the source code of this file.

Macros

#define XINE_SARRAY   3
 
#define XINE_SARRAY_MODE_DEFAULT   0x00000000
 
#define XINE_SARRAY_MODE_FIRST   0x80000000
 
#define XINE_SARRAY_MODE_LAST   0x40000000
 
#define XINE_SARRAY_MODE_UNIQUE   0x20000000
 

Typedefs

typedef struct xine_sarray_s xine_sarray_t
 
typedef int(* xine_sarray_comparator_t) (void *item1, void *item2)
 
typedef unsigned int(* xine_sarray_hash_func_t) (void *item)
 

Functions

xine_sarray_txine_sarray_new (size_t initial_size, xine_sarray_comparator_t comparator)
 
void xine_sarray_delete (xine_sarray_t *sarray)
 
void xine_sarray_set_hash (xine_sarray_t *sarray, xine_sarray_hash_func_t hash_func, unsigned int hash_size)
 
void xine_sarray_set_mode (xine_sarray_t *sarray, unsigned int mode)
 
size_t xine_sarray_size (const xine_sarray_t *sarray)
 
void xine_sarray_clear (xine_sarray_t *sarray)
 
int xine_sarray_add (xine_sarray_t *sarray, void *value)
 
void * xine_sarray_remove (xine_sarray_t *sarray, unsigned int position)
 
int xine_sarray_remove_ptr (xine_sarray_t *sarray, void *ptr)
 
void * xine_sarray_get (xine_sarray_t *sarray, unsigned int position)
 
int xine_sarray_binary_search (xine_sarray_t *sarray, void *key)
 
void xine_sarray_move_location (xine_sarray_t *sarray, void *new_ptr, unsigned int position)
 

Macro Definition Documentation

◆ XINE_SARRAY

#define XINE_SARRAY   3

◆ XINE_SARRAY_MODE_DEFAULT

#define XINE_SARRAY_MODE_DEFAULT   0x00000000

Referenced by xine_sarray_new().

◆ XINE_SARRAY_MODE_FIRST

#define XINE_SARRAY_MODE_FIRST   0x80000000

Referenced by xine_sarray_set_mode().

◆ XINE_SARRAY_MODE_LAST

#define XINE_SARRAY_MODE_LAST   0x40000000

◆ XINE_SARRAY_MODE_UNIQUE

#define XINE_SARRAY_MODE_UNIQUE   0x20000000

Typedef Documentation

◆ xine_sarray_comparator_t

typedef int(* xine_sarray_comparator_t) (void *item1, void *item2)

◆ xine_sarray_hash_func_t

typedef unsigned int(* xine_sarray_hash_func_t) (void *item)

◆ xine_sarray_t

typedef struct xine_sarray_s xine_sarray_t

Function Documentation

◆ xine_sarray_add()

int xine_sarray_add ( xine_sarray_t * sarray,
void * value )

◆ xine_sarray_binary_search()

int xine_sarray_binary_search ( xine_sarray_t * sarray,
void * key )

◆ xine_sarray_clear()

void xine_sarray_clear ( xine_sarray_t * sarray)

◆ xine_sarray_delete()

void xine_sarray_delete ( xine_sarray_t * sarray)

◆ xine_sarray_get()

void * xine_sarray_get ( xine_sarray_t * sarray,
unsigned int position )

◆ xine_sarray_move_location()

void xine_sarray_move_location ( xine_sarray_t * sarray,
void * new_ptr,
unsigned int position )

◆ xine_sarray_new()

xine_sarray_t * xine_sarray_new ( size_t initial_size,
xine_sarray_comparator_t comparator )

◆ xine_sarray_remove()

void * xine_sarray_remove ( xine_sarray_t * sarray,
unsigned int position )

◆ xine_sarray_remove_ptr()

int xine_sarray_remove_ptr ( xine_sarray_t * sarray,
void * ptr )

◆ xine_sarray_set_hash()

void xine_sarray_set_hash ( xine_sarray_t * sarray,
xine_sarray_hash_func_t hash_func,
unsigned int hash_size )

◆ xine_sarray_set_mode()

void xine_sarray_set_mode ( xine_sarray_t * sarray,
unsigned int mode )

◆ xine_sarray_size()

size_t xine_sarray_size ( const xine_sarray_t * sarray)