mirror of https://github.com/stella-emu/stella.git
4c790bcbd5
occur in libraries, so there's not much I can do about those. Eliminated memory leaks in DebuggerParser by using the GUI::Array class. This is basically a dynamically sized array implementation. As a result, there's no longer a hardcoded limit on the # of arguments or watches. Brian, this new array class is a bit different than raw arrays in the following ways: 1) You add to it with push_back(). You *can* add to it with index notation, but it will assert and exit if you attempt to walk past the end of it. 2) Because it's dynamically sized, you can't assume it has 100 elements (or even 1 element). That's why push_back() should be used for assignment, unless you check the bound of the index first. 2) It has a size() method, so you always know how far to walk it. 3) You can erase all items with clear(). 4) It makes use of templates, so is quite fast. 5) The syntax is close to STL containers. so when we eventually move to a faster container (hashmap, etc), minimal syntax changes will be required. 6) And finally, it frees you from having to deal with memory issues (new/delete or malloc/free). Have a look at gui/Array.hxx (which probably should be moved to common/Array.hxx at some point). git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@541 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba |
||
---|---|---|
CVSROOT | ||
stella |