BFLibCPP
0.1
CPP Library
Loading...
Searching...
No Matches
queue.hpp
Go to the documentation of this file.
1
6
#ifndef QUEUE_HPP
7
#define QUEUE_HPP
8
9
#include "
access.hpp
"
10
#include "
list.hpp
"
11
12
namespace
BF
{
13
14
template
<
typename
T,
typename
S =
int
>
15
class
Queue
:
protected
List
<T,S> {
16
public
:
17
Queue
() :
List
<T,S>() {
18
19
}
20
21
~Queue
() {
22
23
}
24
25
int
push
(T
object
) {
26
return
this->
add
(
object
);
27
}
28
29
int
pop
() {
30
return
this->
deleteNode
(this->
first
());
31
}
32
33
T
front
()
const
{
34
typename
List<T,S>::Node
* n = this->
first
();
35
if
(n)
return
n->
object
();
36
return
0;
37
}
38
39
T
back
()
const
{
40
typename
List<T,S>::Node
* n = this->
last
();
41
if
(n)
return
n->
object
();
42
return
0;
43
}
44
45
S
size
() {
return
this->
count
(); }
46
47
bool
empty
() {
return
this->
count
() == 0; };
48
};
49
50
}
// namespace BF
51
52
#endif
// QUEUE_HPP
53
access.hpp
BF::List::Node
Definition
list.hpp:47
BF::List::Node::object
L object() const
Definition
list.hpp:58
BF::List
Definition
list.hpp:41
BF::List< T, int >::count
int count() const
Definition
list.hpp:104
BF::List< T, int >::last
Node * last() const
Definition
list.hpp:229
BF::List< T, int >::add
int add(T obj)
Definition
list.hpp:107
BF::List< T, int >::first
Node * first() const
Definition
list.hpp:225
BF::List< T, int >::deleteNode
int deleteNode(Node *node)
Definition
list.hpp:288
BF::Queue
Definition
queue.hpp:15
BF::Queue::back
T back() const
Definition
queue.hpp:39
BF::Queue::size
S size()
Definition
queue.hpp:45
BF::Queue::Queue
Queue()
Definition
queue.hpp:17
BF::Queue::~Queue
~Queue()
Definition
queue.hpp:21
BF::Queue::empty
bool empty()
Definition
queue.hpp:47
BF::Queue::pop
int pop()
Definition
queue.hpp:29
BF::Queue::push
int push(T object)
Definition
queue.hpp:25
BF::Queue::front
T front() const
Definition
queue.hpp:33
list.hpp
BF
Definition
array.hpp:18
libs
bflibcpp
src
queue.hpp
Generated by
1.11.0