Nowadays, one of the most important challenges in programming is the
efficient usage of multicore processors. All modern programming languages
support multicore programming at native or library level. C++11, the next
standard of the C++ programming language, also supports multithreading at a
low level. In this paper we argue for some extensions of the C++ Standard
Template Library based on the features of C++11. These extensions enhance
the standard library to be more powerful in the multicore realm. Our
approach is based on functors and lambda expressions, which are major
extensions in the language. We contribute three case studies: how to
efficiently compose functors in pipelines, how to evaluate boolean operators
in parallel, and how to efficiently accumulate over associative functors.