Intel Threading Building Blocks: Outfitting C++ for Multi-core Processor Parallelism