2011-03-14 14:01:02 -04:00
|
|
|
/*
|
|
|
|
* LevelInformation.h
|
|
|
|
*
|
|
|
|
* Created on: 10.03.2011
|
|
|
|
* Author: dennis
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef LEVELINFORMATION_H_
|
|
|
|
#define LEVELINFORMATION_H_
|
|
|
|
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
class LevelInformation {
|
|
|
|
public:
|
|
|
|
LevelInformation() {
|
|
|
|
levelInfos = new std::vector<std::vector<unsigned> >();
|
|
|
|
}
|
|
|
|
~LevelInformation() {
|
|
|
|
delete levelInfos;
|
|
|
|
}
|
|
|
|
|
|
|
|
void Add(const unsigned level, const unsigned entry) {
|
|
|
|
if(levelInfos->size() <= level)
|
|
|
|
levelInfos->resize(level+1);
|
|
|
|
assert(levelInfos->size() >= level);
|
|
|
|
(*levelInfos)[level].push_back(entry);
|
|
|
|
}
|
|
|
|
|
|
|
|
unsigned GetNumberOfLevels() const {
|
|
|
|
return levelInfos->size();
|
|
|
|
}
|
|
|
|
|
2011-04-15 12:36:12 -04:00
|
|
|
std::vector<unsigned> & GetLevel(unsigned level) {
|
2011-04-02 17:18:52 -04:00
|
|
|
if(levelInfos->size() <= level)
|
|
|
|
levelInfos->resize(level+1);
|
|
|
|
assert(levelInfos->size() >= level);
|
2011-03-14 14:01:02 -04:00
|
|
|
return (*levelInfos)[level];
|
|
|
|
}
|
|
|
|
|
|
|
|
void Reset() {
|
|
|
|
delete levelInfos;
|
|
|
|
levelInfos = new std::vector<std::vector<unsigned> >();
|
|
|
|
}
|
|
|
|
|
|
|
|
private:
|
|
|
|
std::vector<std::vector<unsigned> > * levelInfos;
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* LEVELINFORMATION_H_ */
|