Using own search predicate in C++ find_if() for finding attributes in collections of data structures

If you want to find a complex data structure in a collection but looking only for a single attribute, e.g. the ID of a monster in a collection of monsters.

You need to write your own search predicate:

struct find_monster
    DWORD id;
    find_monster(DWORD id) : id(id) {}
    bool operator () ( const monster& m ) const
        return == id;

it = std::find_if( monsters.begin(), monsters.end(), find_monster(monsterID));

Thanks to:

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s