#include "error.hh"
#include "sync.hh"
#include <queue>
#include <functional>
#include <thread>
#include <map>
#include <atomic>
Go to the source code of this file.
|
| nix::MakeError (ThreadPoolShutDown, Error) |
|
template<typename T> |
void | nix::processGraph (const std::set< T > &nodes, std::function< std::set< T >(const T &)> getEdges, std::function< void(const T &)> processNode) |
|
◆ processGraph()
template<typename T>
void nix::processGraph |
( |
const std::set< T > & | nodes, |
|
|
std::function< std::set< T >(const T &)> | getEdges, |
|
|
std::function< void(const T &)> | processNode ) |
Process in parallel a set of items of type T that have a partial ordering between them. Thus, any item is only processed after all its dependencies have been processed.