Main Page
Namespaces
Namespace List
Classes
Class List
Class Hierarchy
Class Members
All
a
b
c
d
e
f
g
i
l
m
n
o
p
q
r
s
t
u
w
x
y
z
~
Functions
b
c
d
e
g
i
m
o
p
r
s
u
w
~
Variables
a
b
c
d
g
l
m
n
o
p
q
r
s
t
u
x
y
z
Typedefs
Enumerations
Enumerator
Files
File List
File Members
All
Functions
Typedefs
Macros
include
dynamicEDT3D
bucketedqueue.h
Go to the documentation of this file.
1
9
/*
10
* Copyright (c) 2011-2012, C. Sprunk, B. Lau, W. Burgard, University of Freiburg
11
* All rights reserved.
12
*
13
* Redistribution and use in source and binary forms, with or without
14
* modification, are permitted provided that the following conditions are met:
15
*
16
* * Redistributions of source code must retain the above copyright
17
* notice, this list of conditions and the following disclaimer.
18
* * Redistributions in binary form must reproduce the above copyright
19
* notice, this list of conditions and the following disclaimer in the
20
* documentation and/or other materials provided with the distribution.
21
* * Neither the name of the University of Freiburg nor the names of its
22
* contributors may be used to endorse or promote products derived from
23
* this software without specific prior written permission.
24
*
25
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
26
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
29
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
30
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
31
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
32
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
34
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
35
* POSSIBILITY OF SUCH DAMAGE.
36
*/
37
38
#ifndef _PRIORITYQUEUE2_H_
39
#define _PRIORITYQUEUE2_H_
40
41
#include <vector>
42
#include <set>
43
#include <queue>
44
#include <assert.h>
45
#include "
point.h
"
46
#include <map>
47
49
56
template
<
typename
T>
57
class
BucketPrioQueue
{
58
59
public
:
61
64
BucketPrioQueue
();
65
66
void
clear
() {
buckets
.clear(); }
67
69
bool
empty
();
71
void
push
(
int
prio, T t);
73
T
pop
();
74
75
int
size
() {
return
count
; }
76
int
getNumBuckets
() {
return
buckets
.size(); }
77
78
private
:
79
80
int
count
;
81
82
typedef
std::map< int, std::queue<T> >
BucketType
;
83
BucketType
buckets
;
84
typename
BucketType::iterator
nextPop
;
85
};
86
87
#include "bucketedqueue.hxx"
88
89
#endif
90
point.h
BucketPrioQueue::pop
T pop()
return and pop the element with the lowest squared distance */
BucketPrioQueue::count
int count
Definition:
bucketedqueue.h:80
BucketPrioQueue::push
void push(int prio, T t)
push an element
BucketPrioQueue::clear
void clear()
Definition:
bucketedqueue.h:66
BucketPrioQueue::getNumBuckets
int getNumBuckets()
Definition:
bucketedqueue.h:76
BucketPrioQueue::nextPop
BucketType::iterator nextPop
Definition:
bucketedqueue.h:84
BucketPrioQueue::empty
bool empty()
Checks whether the Queue is empty.
BucketPrioQueue::BucketType
std::map< int, std::queue< T > > BucketType
Definition:
bucketedqueue.h:82
BucketPrioQueue::size
int size()
Definition:
bucketedqueue.h:75
BucketPrioQueue::buckets
BucketType buckets
Definition:
bucketedqueue.h:83
BucketPrioQueue::BucketPrioQueue
BucketPrioQueue()
Standard constructor.
BucketPrioQueue
Priority queue for integer coordinates with squared distances as priority.
Definition:
bucketedqueue.h:57
dynamicEDT3D
Author(s): Christoph Sprunk
autogenerated on Tue Dec 12 2023 03:39:46