-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathArquivo_de_voo.h
100 lines (82 loc) · 1.9 KB
/
Arquivo_de_voo.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
/*
* Arquivo_de_voo.h
*
* Created on: 18 de Dez de 2010
* Author: pedroborges
*/
#include <iostream>
#include "BST.h"
#include "Plano_de_voo.h"
#include "Companhia.h"
#ifndef ARQUIVO_DE_VOO_H_
#define ARQUIVO_DE_VOO_H_
namespace std {
class Arquivo_de_voo {
BST<Plano_de_voo> arquivo;
public:
/**
* creates a new flight archive
* @name Arquivo_de_voo
*/
Arquivo_de_voo();
/**
* inserts a new flight plan into the archive
* @name insert
* @param Plano_de_voo & a
*
*/
void insert(Plano_de_voo & a);
/**
* removes a flight plan from the archive
* @name remove
* @param Plano_de_voo & a
*/
void remove(Plano_de_voo & a);
/**
* gives the flight plans whose departures are between d1 and d2
* @name pesquisa
* @param d1
* @param d2
* @return planos
*/
vector<Plano_de_voo> pesquisa(horas_data d1, horas_data d2);
/**
*gives the flight plans whose departures are between d1 and d2 and that are related to a specified air company
*@name pesquisa
*@param d1
*@param d2
*@param Companhia_aerea * comp
*@return planos
*/
vector<Plano_de_voo> pesquisa(horas_data d1, horas_data d2, Companhia_aerea * comp);
/**
* gives the flight plans corresponding to the searched air company
* @name pesquisa
* @param Companhia_aerea * comp
* @return vector<Plano_de_voo>
*/
vector<Plano_de_voo> pesquisa(Companhia_aerea * comp);
/**
* class destructor for flightplans
* @name ~Arquivo_de_voo
*
*/
virtual ~Arquivo_de_voo();
/**
* Allows the function to display in the screen flight archives
* @name <<
* @param ostream & out
* @param Arquivo_de_voo x
* @return a display in the screen
*/
friend ostream & operator<<(ostream & out, Arquivo_de_voo x) {
BSTItrIn<Plano_de_voo> itr(x.arquivo);
for(;!(itr.isAtEnd());itr.advance()){
Plano_de_voo temp=itr.retrieve();
out<<temp<<endl;
}
return out;
}
};
}
#endif /** ARQUIVO_DE_VOO_H_ */