Class Body implementing the concept of parallel_reduce body must define:
Body::Body( Body&, split ); 
  Splitting constructor. Must be able to run concurrently with operator() and method join  
-  Destructor
 
void Body::operator()( Range& r ); 
  Function call operator applying body to range r and accumulating the result 
void Body::join( Body& b ); 
  Join results. The result in b should be merged into the result of this