]> git.sesse.net Git - casparcg/blobdiff - tbb/include/tbb/parallel_for_each.h
2.0. Updated tbb library.
[casparcg] / tbb / include / tbb / parallel_for_each.h
index e59ee76bf807c61139301ef085fef9e9de76e317..59200b1ebb1d33d8395abb817f3f7428a26b8aed 100644 (file)
@@ -43,7 +43,7 @@ namespace internal {
         parallel_for_each_body(const Function &_func) : my_func(_func) {}
         parallel_for_each_body(const parallel_for_each_body<Function, Iterator> &_caller) : my_func(_caller.my_func) {}
 
-        void operator() ( typename std::iterator_traits<Iterator>::value_type& value ) const {
+        void operator() ( typename std::iterator_traits<Iterator>::reference value ) const {
             my_func(value);
         }
     };
@@ -55,18 +55,18 @@ namespace internal {
 //@{
 //! Calls function f for all items from [first, last) interval using user-supplied context
 /** @ingroup algorithms */
+#if __TBB_TASK_GROUP_CONTEXT
 template<typename InputIterator, typename Function>
 void parallel_for_each(InputIterator first, InputIterator last, const Function& f, task_group_context &context) {
     internal::parallel_for_each_body<Function, InputIterator> body(f);
-
     tbb::parallel_do (first, last, body, context);
 }
+#endif /* __TBB_TASK_GROUP_CONTEXT */
 
 //! Uses default context
 template<typename InputIterator, typename Function>
 void parallel_for_each(InputIterator first, InputIterator last, const Function& f) {
     internal::parallel_for_each_body<Function, InputIterator> body(f);
-
     tbb::parallel_do (first, last, body);
 }