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 |