/* Check cf5-opt.vim defs. VIM: let g:lcppflags="-std=c++11 -O2" VIM: let g:cppflags=g:tbb." -ltbbmalloc -ltbbmalloc_proxy" VIM: let g:ldlibpath=g:tbbld */ #include #include #include #include #include #include int main ( void ) {try{ std::vector v(1024*1024*1024); tbb::task_scheduler_init init3(20); tbb::task_scheduler_init init(10); tbb::task_scheduler_init init2(1); tbb::enumerable_thread_specific count; tbb::parallel_for_each( v.begin(), v.end(), [&count](int& v){ ++count.local(); }); int i = 0; for ( int c : count ) { std::cout << "Thread: " << ++i << " counted " << c << std::endl; } return 0; } catch ( const std::exception& e ) { std::cerr << std::endl << "std::exception(\"" << e.what() << "\")." << std::endl; return 2; } catch ( ... ) { std::cerr << std::endl << "unknown exception." << std::endl; return 1; }}