Sim-LIT  2.0
 All Classes Namespaces Files Functions Variables Typedefs
Package.h
Go to the documentation of this file.
1 
9 #ifndef CLASS_PACKAGE
10 #define CLASS_PACKAGE
11 
12 #include <iostream>
13 #include <vector>
14 
15 using namespace std;
16 
17 class Package
18 {
19 private:
20 
21  int ID;
22  double size;
23  vector<int> idElements;
24  vector<DataType *> elements;
25 
26 public:
27 
28  Package(double nSize, int id){
34  //cout <<"PKG creado\n";
35  size=nSize;
36  ID=id;
37  }
38 
39  ~Package(){}
40 
41  bool put(DataType* x, int pos){
48  //cout << "\t SIZE: "<< x->getSize() << "\n";
49  if((actualSize()+(x->getSize()))<=size){
50  elements.push_back(x);
51  idElements.push_back(pos);
52  return true;
53  }
54  else{
55  //cout << "NO HAY ESPACIO SUFICIENTE\n";
56  return false;
57  }
58  }
59 
60  vector<DataType *> getElements(){
61  return elements;
62  }
63 
64  int getID(){
69  return ID;
70  }
71 
72  vector<int> getIdElements(){
77  return idElements;
78  }
79 
80 
81  double actualSize(){
86  double size=0;
87  for(int i=0;i<elements.size();i++){
88  size+=elements[i]->getSize();
89  }
90  return size;
91  }
92 
93 };
94 
95 #endif
Clase que Implementa la estructura de un Paquete.
Definition: Package.h:17
vector< int > getIdElements()
Definition: Package.h:72
virtual double getSize()
Definition: DataType.h:33
int getID()
Definition: Package.h:64
Clase que representa un tipo de dato que serĂ¡ paquetizado.
Definition: DataType.h:18
bool put(DataType *x, int pos)
Definition: Package.h:41
double actualSize()
Definition: Package.h:81
Package(double nSize, int id)
Definition: Package.h:28