summaryrefslogtreecommitdiff
path: root/mysql/queues.h
diff options
context:
space:
mode:
Diffstat (limited to 'mysql/queues.h')
-rw-r--r--mysql/queues.h93
1 files changed, 0 insertions, 93 deletions
diff --git a/mysql/queues.h b/mysql/queues.h
deleted file mode 100644
index 4ce6598..0000000
--- a/mysql/queues.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/* Copyright (c) 2000, 2014, 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 St, Fifth Floor, Boston, MA 02110-1301 USA */
-
-#ifndef QUEUES_INCLUDED
-#define QUEUES_INCLUDED
-
-/*
- Code for handling of priority Queues.
- Implemention of queues from "Algoritms in C" by Robert Sedgewick.
- By monty.
-*/
-
-#include "my_global.h" /* uchar */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-typedef struct st_queue {
- uchar **root;
- void *first_cmp_arg;
- uint elements;
- uint max_elements;
- uint offset_to_key; /* compare is done on element+offset */
- int max_at_top; /* Normally 1, set to -1 if queue_top gives max */
- int (*compare)(void *, uchar *,uchar *);
- uint auto_extent;
-} QUEUE;
-
-void _downheap(QUEUE *queue,uint idx);
-void queue_fix(QUEUE *queue);
-
-#define queue_top(queue) ((queue)->root[1])
-#define queue_element(queue,index) ((queue)->root[index+1])
-#define queue_end(queue) ((queue)->root[(queue)->elements])
-
-static inline void queue_replaced(QUEUE *queue)
-{
- _downheap(queue, 1);
-}
-
-static inline void queue_set_max_at_top(QUEUE *queue, int set_arg)
-{
- queue->max_at_top= set_arg ? -1 : 1;
-}
-
-typedef int (*queue_compare)(void *,uchar *, uchar *);
-
-int init_queue(QUEUE *queue,uint max_elements,uint offset_to_key,
- pbool max_at_top, queue_compare compare,
- void *first_cmp_arg);
-int init_queue_ex(QUEUE *queue,uint max_elements,uint offset_to_key,
- pbool max_at_top, queue_compare compare,
- void *first_cmp_arg, uint auto_extent);
-int reinit_queue(QUEUE *queue,uint max_elements,uint offset_to_key,
- pbool max_at_top, queue_compare compare,
- void *first_cmp_arg);
-void delete_queue(QUEUE *queue);
-void queue_insert(QUEUE *queue,uchar *element);
-uchar *queue_remove(QUEUE *queue,uint idx);
-
-static inline void queue_remove_all(QUEUE *queue)
-{
- queue->elements= 0;
-}
-
-static inline my_bool queue_is_full(QUEUE *queue)
-{
- return queue->elements == queue->max_elements;
-}
-
-static inline my_bool is_queue_inited(QUEUE *queue)
-{
- return queue->root != NULL;
-}
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif // QUEUES_INCLUDED