|
MySQL 5.6.14 Source Code Document
|
#include "univ.i"#include "ut0bh.ic"

Go to the source code of this file.
Classes | |
| 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, 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
Definition in file ut0bh.h.
| typedef int(* ib_bh_cmp_t)(const void *p1, const void *p2) |
| UNIV_INTERN ib_bh_t* ib_bh_create | ( | ib_bh_cmp_t | compare, |
| ulint | sizeof_elem, | ||
| ulint | max_elems | ||
| ) |
Create a binary heap.
Create a binary heap.
| compare | in: comparator |
| sizeof_elem | in: size of one element |
| max_elems | in: max elements allowed |
Definition at line 40 of file ut0bh.cc.


| UNIV_INLINE void* ib_bh_first | ( | ib_bh_t * | ib_bh | ) |
Return the first element from the binary heap.

| UNIV_INTERN void ib_bh_free | ( | ib_bh_t * | ib_bh | ) |
| UNIV_INLINE void* ib_bh_get | ( | ib_bh_t * | ib_bh, |
| ulint | i | ||
| ) |
Get a pointer to the element.
| ib_bh | in: instance |

| UNIV_INLINE ibool ib_bh_is_empty | ( | const ib_bh_t * | ib_bh | ) |
Test if binary heap is empty.

| UNIV_INLINE ibool ib_bh_is_full | ( | const ib_bh_t * | ib_bh | ) |
Test if binary heap is full.

| UNIV_INLINE void* ib_bh_last | ( | ib_bh_t * | ib_bh | ) |
Return the last element from the binary heap.

| UNIV_INTERN void ib_bh_pop | ( | ib_bh_t * | ib_bh | ) |
| 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.
Add an element to the binary heap. Note: The element is copied.
| ib_bh | in/out: instance |
| elem | in: element to add |
Definition at line 78 of file ut0bh.cc.

| UNIV_INLINE void* ib_bh_set | ( | ib_bh_t * | ib_bh, |
| ulint | i, | ||
| const void * | elem | ||
| ) |
Copy an element to the binary heap.
| ib_bh | in/out: instance |
| i | in: index |

| UNIV_INLINE ulint ib_bh_size | ( | const ib_bh_t * | ib_bh | ) |
Get the number of elements in the binary heap.
