qbarray.h man page on Scientific

Man page or keyword search:  
man Server   26626 pages
apropos Keyword Search (all sections)
Output format
Scientific logo
[printable version]

qbarray.h(3)			     libqb			  qbarray.h(3)

NAME
       qbarray.h -

       This is a dynamic array (it can grow, but without moving memory).

SYNOPSIS
       #include <stdint.h>
       #include <unistd.h>
       #include <qb/qbdefs.h>

   Typedefs
       typedef struct qb_array qb_array_t
	   This is an opaque data type representing an instance of an array.
       typedef void(* qb_array_new_bin_cb_fn )(qb_array_t *a, uint32_t bin)

   Functions
       qb_array_t * qb_array_create (size_t max_elements, size_t element_size)
	   Create an array with fixed sized elements.
       qb_array_t * qb_array_create_2 (size_t max_elements, size_t
	   element_size, size_t autogrow_elements)
	   Create an array with fixed sized elements.
       int32_t qb_array_index (qb_array_t *a, int32_t idx, void **element_out)
	   Get an element at a particular index.
       int32_t qb_array_grow (qb_array_t *a, size_t max_elements)
	   Grow the array.
       size_t qb_array_num_bins_get (qb_array_t *a)
	   Get the number of bins used or the array.
       size_t qb_array_elems_per_bin_get (qb_array_t *a)
	   Get the number of elements per bin.
       int32_t qb_array_new_bin_cb_set (qb_array_t *a, qb_array_new_bin_cb_fn
	   fn)
	   Get a callback when a new bin is allocated.
       void qb_array_free (qb_array_t *a)
	   Free all the memory used by the array.

Detailed Description
       This is a dynamic array (it can grow, but without moving memory).

	arr = qb_array_create_2(64, sizeof(struct my_struct), 256);
	...
	res = qb_array_index(arr, idx, (void**)&my_ptr);
	if (res < 0) {
	       return res;
	}
	// use my_ptr, now even if there is a grow, this pointer will be valid.

Typedef Documentation
   typedef void(* qb_array_new_bin_cb_fn)(qb_array_t *a, uint32_t bin)
   typedef struct qb_array qb_array_t
       This is an opaque data type representing an instance of an array.

Function Documentation
   qb_array_t* qb_array_create (size_t max_elements, size_t element_size)
       Create an array with fixed sized elements. Parameters:
	   max_elements initial max elements.
	   element_size size of each element.

       Returns:
	   array instance.

   qb_array_t* qb_array_create_2 (size_t max_elements, size_t element_size,
       size_t autogrow_elements)
       Create an array with fixed sized elements. Parameters:
	   max_elements initial max elements.
	   element_size size of each element.
	   autogrow_elements the number of elements to grow automatically by.

       Returns:
	   array instance.

   size_t qb_array_elems_per_bin_get (qb_array_t * a)
       Get the number of elements per bin.

   void qb_array_free (qb_array_t * a)
       Free all the memory used by the array. Parameters:
	   a array instance.

   int32_t qb_array_grow (qb_array_t * a, size_t max_elements)
       Grow the array. Parameters:
	   a array instance.
	   max_elements the new maximum size of the array.

       Returns:
	   (0 == success, else -errno)

   int32_t qb_array_index (qb_array_t * a, int32_t idx, void ** element_out)
       Get an element at a particular index. Parameters:
	   a array instance.
	   idx the index
	   element_out the pointer to the element data.

       Returns:
	   (0 == success, else -errno)

   int32_t qb_array_new_bin_cb_set (qb_array_t * a, qb_array_new_bin_cb_fn fn)
       Get a callback when a new bin is allocated.

   size_t qb_array_num_bins_get (qb_array_t * a)
       Get the number of bins used or the array.

Author
       Generated automatically by Doxygen for libqb from the source code.

Version 0.16.0			  21 Nov 2013			  qbarray.h(3)
[top]

List of man pages available for Scientific

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net