/* * LevelInformation.h * * Created on: 10.03.2011 * Author: dennis */ #ifndef LEVELINFORMATION_H_ #define LEVELINFORMATION_H_ #include class LevelInformation { public: LevelInformation() { levelInfos = new std::vector >(); } ~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(); } std::vector & GetLevel(unsigned level) { assert(level < levelInfos->size()); return (*levelInfos)[level]; } void Reset() { delete levelInfos; levelInfos = new std::vector >(); } private: std::vector > * levelInfos; }; #endif /* LEVELINFORMATION_H_ */