예제 #1
0
파일: planta.cpp 프로젝트: aaronson/AED2
Conj<unsigned int> Planta::verOrdenes() const{
	Conj<unsigned int> res;
	Secu<ordtars>::const_iterador it = this->terminadas.crearIt();
	while (it.hayMas()){
		res.agregar(it.actual().orden);
		it.avanzar();
	}
	return res;
}
예제 #2
0
파일: planta.cpp 프로젝트: aaronson/AED2
Conj<unsigned int> Planta::ordenesFinalizadas() const{
	Conj<unsigned int> res;
	Secu<ordtars>::const_iterador it = this->terminadas.crearIt();
	while (it.hayMas()){
		if (terminoOrden(it.actual().tareas, this->wkf.cantidadTareas())){
			res.agregar(it.actual().orden);
		}
		it.avanzar();
	}
	return res;
}
예제 #3
0
파일: planta.cpp 프로젝트: aaronson/AED2
Conj<actividad> Planta::actividades() const{
	Conj<actividad> res;
	unsigned int i = 0;
	unsigned int n = this->wkf.cantidadTareas();
	actividad act;
	Secu<ordtars>::const_iterador it = this->terminadas.crearIt();
	while (it.hayMas()){
		while (i < n){
			act.orden = it.actual().orden;
			act.tarea = i;
			res.agregar(act);
			i++;
		}
		it.avanzar();
	}
	return res;
}
예제 #4
0
파일: planta.cpp 프로젝트: aaronson/AED2
Conj<actividad> Planta::enEjecucion() const{
	Conj<actividad> res;
	Secu<ordtars>::const_iterador it = this->terminadas.crearIt();
	unsigned int i = 0;
	unsigned int n = this->wkf.cantidadTareas();
	actividad act;
	while (it.hayMas()){
		i = 0;
		while (i < n){
			if (!it.actual().tareas[i].termino && it.actual().tareas[i].predPendientes == 0){
				act.orden = it.actual().orden;
				act.tarea = i;
				if (!this->esperando.estaActiv(act)){
					res.agregar(act);
				}
			}
			i++;
		}
		it.avanzar();
	}
	return res;
}