MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ut0bh.cc File Reference
#include "ut0bh.h"
#include "ut0mem.h"
#include <string.h>
Include dependency graph for ut0bh.cc:

Go to the source code of this file.

Functions

UNIV_INTERN ib_bh_tib_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)

Detailed Description

Copyright (c) 2010, 2011, Oracle and/or its affiliates. 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 implementation.

Created 2010-05-28 by Sunny Bains

Definition in file ut0bh.cc.

Function Documentation

UNIV_INTERN ib_bh_t* ib_bh_create ( ib_bh_cmp_t  compare,
ulint  sizeof_elem,
ulint  max_elems 
)

Create a binary heap.

Returns
a new binary heap
Parameters
comparein: comparator
sizeof_elemin: size of one element
max_elemsin: max elements allowed

Definition at line 40 of file ut0bh.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

UNIV_INTERN void ib_bh_free ( ib_bh_t ib_bh)

Free a binary heap.

Returns
a new binary heap
Parameters
ib_bhin/own: instance

Definition at line 66 of file ut0bh.cc.

Here is the call graph for this function:

Here is the caller graph for this function:

UNIV_INTERN void ib_bh_pop ( ib_bh_t ib_bh)

Remove the first element from the binary heap.

Parameters
ib_bhin/out: instance

Definition at line 114 of file ut0bh.cc.

Here is the call graph for this function:

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.

Returns
pointer to added element or NULL if full.
Parameters
ib_bhin/out: instance
elemin: element to add

Definition at line 78 of file ut0bh.cc.

Here is the call graph for this function: