|
InnoDB Plugin
1.0
|


Go to the source code of this file.
Data Structures | |
| struct | ib_bh_t |
Typedefs | |
| typedef int(* | ib_bh_cmp_t )(const void *p1, const void *p2) |
Functions | |
| UNIV_INLINE ulint | ib_bh_size (const ib_bh_t *ib_bh) |
| UNIV_INLINE ibool | ib_bh_is_empty (const ib_bh_t *ib_bh) |
| UNIV_INLINE ibool | ib_bh_is_full (const ib_bh_t *ib_bh) |
| UNIV_INLINE void * | ib_bh_get (ib_bh_t *ib_bh, ulint i) |
| UNIV_INLINE void * | ib_bh_set (ib_bh_t *ib_bh, ulint i, const void *elem) |
| UNIV_INLINE void * | ib_bh_first (ib_bh_t *ib_bh) |
| UNIV_INLINE void * | ib_bh_last (ib_bh_t *ib_bh) |
| UNIV_INTERN ib_bh_t * | ib_bh_create (ib_bh_cmp_t compare, ulint sizeof_elem, ulint max_elems) |
| UNIV_INTERN void | ib_bh_free (ib_bh_t *ib_bh) |
| UNIV_INTERN void * | ib_bh_push (ib_bh_t *ib_bh, const void *elem) |
| UNIV_INTERN void | ib_bh_pop (ib_bh_t *ib_bh) |
Copyright (c) 2011, 2013, Oracle Corpn. All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA
Binary min-heap interface.
Created 2010-05-28 by Sunny Bains
| typedef int(* ib_bh_cmp_t)(const void *p1, const void *p2) |
Comparison function for objects in the binary heap.
| UNIV_INTERN ib_bh_t* ib_bh_create | ( | ib_bh_cmp_t | compare, |
| ulint | sizeof_elem, | ||
| ulint | max_elems | ||
| ) |
Create a binary heap.
| compare | in: comparator |
| sizeof_elem | in: size of one element |
| UNIV_INLINE void* ib_bh_first | ( | ib_bh_t * | ib_bh | ) |
Return the first element from the binary heap.
Return the first element from the binary heap.
| ib_bh | in: instance |
| UNIV_INTERN void ib_bh_free | ( | ib_bh_t * | ib_bh | ) |
Free a binary heap.
| UNIV_INLINE void* ib_bh_get | ( | ib_bh_t * | ib_bh, |
| ulint | i | ||
| ) |
Get a pointer to the element.
Get a pointer to the element.
| ib_bh | in: instance |
| i | in: index |
Test if binary heap is empty.
Test if binary heap is empty.
| ib_bh | in: instance |
Test if binary heap is full.
Test if binary heap is full.
| ib_bh | in: instance |
| UNIV_INLINE void* ib_bh_last | ( | ib_bh_t * | ib_bh | ) |
Return the last element from the binary heap.
Return the last element from the binary heap.
| ib_bh | in/out: instance |
| UNIV_INTERN void ib_bh_pop | ( | ib_bh_t * | ib_bh | ) |
Remove the first element from the binary heap. in/out: instance
| UNIV_INTERN void* ib_bh_push | ( | ib_bh_t * | ib_bh, |
| const void * | elem | ||
| ) |
Add an element to the binary heap. Note: The element is copied.
| ib_bh | in/out: instance |
| UNIV_INLINE void* ib_bh_set | ( | ib_bh_t * | ib_bh, |
| ulint | i, | ||
| const void * | elem | ||
| ) |
Copy an element to the binary heap.
Copy an element to the binary heap.
| ib_bh | in/out: instance |
| i | in: index |
| elem | in: element to add |
| UNIV_INLINE ulint ib_bh_size | ( | const ib_bh_t * | ib_bh | ) |
Get the number of elements in the binary heap.
Get the number of elements in the binary heap.
| ib_bh | in: instance |
1.8.1.2