Skip to content

Instantly share code, notes, and snippets.

@solkar
Created April 19, 2014 13:14
Show Gist options
  • Save solkar/11084097 to your computer and use it in GitHub Desktop.
Save solkar/11084097 to your computer and use it in GitHub Desktop.
Filter and remove objects from a std::vector
// filter collidable tiles
std::vector<Point> toRemove;
for (size_t q = 0; q < freeTileCandidates.size(); ++q)
{
Point testTile = freeTileCandidates[q];
if( this->tileIsCollidable( testTile ) )
toRemove.push_back(testTile);
}
// erase filtered tiles
for (size_t q = 0; q < toRemove.size(); ++q)
{
freeTileCandidates.erase( std::remove(
freeTileCandidates.begin(),
freeTileCandidates.end(),
toRemove[q] ) );
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment