tree 31bd978e54e8b116e8a76e2d18d7764bd84905a6
parent 0688545ba47676829d52aebed21f4ed290c5643a
author Matt Spinler <spinler@us.ibm.com> 1572631499 -0500
committer Matt Spinler <spinler@us.ibm.com> 1573575282 +0000

PEL: Run a user defined function on every PEL

Add a for_each() function to the PEL repository that takes a user
defined function that will be run on every PEL, unless that function
says to stop early.

The user defined function is a std::function<bool>(const PEL&);

For example, to save up to 100 IDs in the repo into a vector:
      std::vector<uint32_t> ids;
      ForEachFunc f = [&ids](const PEL& pel) {
          ids.push_back(pel.id());
          return ids.size() == 100 ? true : false;
      };

      repo.for_each(f);

This will be used to find which PELs still need to be sent up to the
host after a reboot, among other things.

Signed-off-by: Matt Spinler <spinler@us.ibm.com>
Change-Id: Ic60525a8ab3dd593ba37e43a6cb0b3db8dda7cee
