NB6_Hazards/Hazard/Hazard/PrimImplikantCollection.cpp
Jonny007-MKD 7da5e0ff86 Changed int to unsigned int where applicable
Für Indizes und solche Sachen brauchen wir meistens keine Vorzeichen.
Hiermit können wir doppelt so viele (65k statt 32k) PrimImplikanten
verwalten =)
2013-11-14 14:45:25 +01:00

63 lines
1.4 KiB
C++

#include "stdafx.h"
#include <string>
#include <vector>
#include "PrimImplikantCollection.h"
using namespace std;
void PrimImplikantCollection::add(PrimImplikant* &PI)
{
PIVector.push_back(PI);
}
void PrimImplikantCollection::add(string input)
{
PrimImplikant* PI = new PrimImplikant(input);
PIVector.push_back(PI);
}
void PrimImplikantCollection::add(unsigned int input)
{
PrimImplikant* PI = new PrimImplikant(input);
PIVector.push_back(PI);
}
void PrimImplikantCollection::add(unsigned int input1, unsigned int input2)
{
PrimImplikant* PI = new PrimImplikant(input1, input2);
PIVector.push_back(PI);
}
bool PrimImplikantCollection::valueAt(unsigned int position)
{
for (vector<PrimImplikant*>::iterator i = PIVector.begin(); i < PIVector.end(); i++)
if ((*i)->valueAt(position))
return true;
return false;
}
PrimImplikantCollection PrimImplikantCollection::primImplikantenAt(unsigned int position)
{
PrimImplikantCollection pic;
for (vector<PrimImplikant*>::iterator i = PIVector.begin(); i < PIVector.end(); i++)
if ((*i)->valueAt(position))
pic.add(*i);
return pic;
}
unsigned int PrimImplikantCollection::size()
{
return this->PIVector.size();
}
PrimImplikant* PrimImplikantCollection::back()
{
return this->PIVector.back();
}
PrimImplikant* PrimImplikantCollection::front()
{
return this->PIVector.front();
}
PrimImplikant* PrimImplikantCollection::at(unsigned int const &index)
{
return this->PIVector.at(index);
}