#pragma once #include "olcPixelGameEngine.h" //A class that has an initialization lock so that when the lock is activated, any further gets that are missing items in it will report themselves for easier debugging detection. template<typename T,typename O> class safemap{ std::map<T,O>map; bool initialized=false; public: O&operator[](T key){ if(initialized&&map.count(key)==0){ std::cout<<"WARNING! Trying to get non-existent key "<<key<<"!"<<std::endl; throw; } return map[key]; } void SetInitialized(){ initialized=true; } };