This should fix issue #101 by post-incrementing the iterator before erasing and not relying on map::erase returining a value.  This should also resolve merge request #102 because there are no defines and no invalid iterators.
Merge pull request #103 from ngbrown/issue_101

This should fix issue #101 and #102 by post-incrementing the iterator passed into map::erase instead of using the return value.