You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
672 lines
93 KiB
672 lines
93 KiB
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
|
|
<title>tbb Namespace Reference</title>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css">
|
|
<link href="tabs.css" rel="stylesheet" type="text/css">
|
|
</head><body>
|
|
<!-- Generated by Doxygen 1.4.7 -->
|
|
<div class="tabs">
|
|
<ul>
|
|
<li><a href="index.html"><span>Main Page</span></a></li>
|
|
<li><a href="modules.html"><span>Modules</span></a></li>
|
|
<li id="current"><a href="namespaces.html"><span>Namespaces</span></a></li>
|
|
<li><a href="annotated.html"><span>Classes</span></a></li>
|
|
<li><a href="files.html"><span>Files</span></a></li>
|
|
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
|
</ul></div>
|
|
<div class="tabs">
|
|
<ul>
|
|
<li><a href="namespaces.html"><span>Namespace List</span></a></li>
|
|
<li><a href="namespacemembers.html"><span>Namespace Members</span></a></li>
|
|
</ul></div>
|
|
<h1>tbb Namespace Reference</h1>The namespace tbb contains all components of the library.
|
|
<a href="#_details">More...</a>
|
|
<p>
|
|
<table border="0" cellpadding="0" cellspacing="0">
|
|
<tr><td></td></tr>
|
|
<tr><td colspan="2"><br><h2>Classes</h2></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00265.html">aligned_space</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Block of space aligned sufficiently to construct an array T with N elements. <a href="a00265.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00266.html">atomic</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Primary template for atomic. <a href="a00266.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00267.html">atomic< void * ></a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Specialization for <a class="el" href="a00267.html">atomic<void*></a>, for sake of not allowing arithmetic or operator->. <a href="a00267.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00271.html">blocked_range</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">A range over which to iterate. <a href="a00271.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00272.html">blocked_range2d</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">A 2-dimensional range that models the Range concept. <a href="a00272.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00273.html">blocked_range3d</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">A 3-dimensional range that models the Range concept. <a href="a00273.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00276.html">cache_aligned_allocator</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. <a href="a00276.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00277.html">cache_aligned_allocator< void ></a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. <a href="a00277.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00279.html">combinable</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Thread-local storage with optional reduction. <a href="a00279.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00360.html">tbb_hash_compare</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">hash_compare that is default argument for concurrent_hash_map <a href="a00360.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00280.html">concurrent_bounded_queue</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">A high-performance thread-safe blocking concurrent bounded queue. <a href="a00280.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00288.html">concurrent_vector</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Concurrent vector container. <a href="a00288.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00313.html">mutex</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Wrapper around the platform's native reader-writer lock. <a href="a00313.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00315.html">null_mutex</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">A mutex which does nothing. <a href="a00315.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00317.html">null_rw_mutex</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">A rw mutex which does nothing. <a href="a00317.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00319.html">parallel_do_feeder</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Class the user supplied algorithm body uses to add new tasks. <a href="a00319.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00353.html">task_group_context</a></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00323.html">pre_scan_tag</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Used to indicate that the initial scan is being performed. <a href="a00323.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct </td><td class="memItemRight" valign="bottom"><a class="el" href="a00296.html">final_scan_tag</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Used to indicate that the final scan is being performed. <a href="a00296.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00320.html">parallel_while</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over a stream, with optional addition of more work. <a href="a00320.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00341.html">simple_partitioner</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">A simple partitioner. <a href="a00341.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00269.html">auto_partitioner</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">An auto partitioner. <a href="a00269.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00261.html">affinity_partitioner</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">An affinity partitioner. <a href="a00261.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00294.html">filter</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">A stage in a pipeline. <a href="a00294.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00361.html">thread_bound_filter</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">A stage in a pipeline served by a user thread. <a href="a00361.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00322.html">pipeline</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">A processing pipeline that applies filters to items. <a href="a00322.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00326.html">queuing_mutex</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Queuing mutex with local-only spinning. <a href="a00326.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00328.html">queuing_rw_mutex</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Queuing reader-writer mutex with local-only spinning. <a href="a00328.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00334.html">recursive_mutex</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Mutex that allows recursive mutex acquisition. <a href="a00334.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00337.html">scalable_allocator</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. <a href="a00337.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00338.html">scalable_allocator< void ></a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. <a href="a00338.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00343.html">spin_mutex</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">A lock that occupies a single byte. <a href="a00343.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00345.html">spin_rw_mutex_v3</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Fast, unfair, spinning reader-writer lock with backoff and writer-preference. <a href="a00345.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00349.html">task</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Base class for user-defined tasks. <a href="a00349.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00292.html">empty_task</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">task that does nothing. Useful for synchronization. <a href="a00292.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00354.html">task_list</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">A list of children. <a href="a00354.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><b>task_handle</b></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><b>task_group</b></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><b>structured_task_group</b></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00355.html">task_scheduler_init</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Class delimiting the scope of task scheduler activity. <a href="a00355.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00356.html">tbb_allocator</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. <a href="a00356.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00357.html">tbb_allocator< void ></a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. <a href="a00357.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00366.html">zero_allocator</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. <a href="a00366.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00367.html">zero_allocator< void, Allocator ></a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. <a href="a00367.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00270.html">bad_last_alloc</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Exception for concurrent containers. <a href="a00270.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00302.html">improper_lock</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Exception for PPL locks. <a href="a00302.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00364.html">user_abort</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Exception for user-initiated abort. <a href="a00364.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00310.html">missing_wait</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Exception for missing wait on structured_task_group. <a href="a00310.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00303.html">invalid_multiple_scheduling</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Exception for repeated scheduling of the same task_handle. <a href="a00303.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00358.html">tbb_exception</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Interface to be implemented by all exceptions TBB recognizes and propagates across the threads. <a href="a00358.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00278.html">captured_exception</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">This class is used by TBB to propagate information about unhandled exceptions into the root thread. <a href="a00278.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00311.html">movable_exception</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Template that can be used to implement exception that transfers arbitrary ExceptionData to the root thread. <a href="a00311.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00347.html">split</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Dummy type that distinguishes splitting constructor from copy constructor. <a href="a00347.html#_details">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00362.html">tick_count</a></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Absolute timestamp. <a href="a00362.html#_details">More...</a><br></td></tr>
|
|
<tr><td colspan="2"><br><h2>parallel_do</h2></td></tr>
|
|
<tr><td colspan="2">See also requirements on <a class="el" href="parallel_do_body_req.html">parallel_do Body</a>. <br><br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g3383e2703977012b6f384d673410f1f7"></a><!-- doxytag: member="tbb::parallel_do" ref="g3383e2703977012b6f384d673410f1f7" args="(Iterator first, Iterator last, const Body &body)" -->
|
|
template<typename Iterator, typename Body> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g3383e2703977012b6f384d673410f1f7">parallel_do</a> (Iterator first, Iterator last, const Body &body)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over a range, with optional addition of more work. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g2617dc9b88b3285a7212599d49f74228"></a><!-- doxytag: member="tbb::parallel_do" ref="g2617dc9b88b3285a7212599d49f74228" args="(Iterator first, Iterator last, const Body &body, task_group_context &context)" -->
|
|
template<typename Iterator, typename Body> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g2617dc9b88b3285a7212599d49f74228">parallel_do</a> (Iterator first, Iterator last, const Body &body, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over a range, with optional addition of more work and user-supplied context. <br></td></tr>
|
|
<tr><td colspan="2"><br><h2>parallel_for</h2></td></tr>
|
|
<tr><td colspan="2">See also requirements on <a class="el" href="range_req.html">Range</a> and <a class="el" href="parallel_for_body_req.html">parallel_for Body</a>. <br><br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g68cc046ef72c42ce205fccbc435a0d81"></a><!-- doxytag: member="tbb::parallel_for" ref="g68cc046ef72c42ce205fccbc435a0d81" args="(const Range &range, const Body &body)" -->
|
|
template<typename Range, typename Body> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g68cc046ef72c42ce205fccbc435a0d81">parallel_for</a> (const Range &range, const Body &body)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with default partitioner. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g13cac5dd55c7533bccea43a51c33d0e5"></a><!-- doxytag: member="tbb::parallel_for" ref="g13cac5dd55c7533bccea43a51c33d0e5" args="(const Range &range, const Body &body, const simple_partitioner &partitioner)" -->
|
|
template<typename Range, typename Body> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g13cac5dd55c7533bccea43a51c33d0e5">parallel_for</a> (const Range &range, const Body &body, const <a class="el" href="a00341.html">simple_partitioner</a> &partitioner)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with simple partitioner. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ga7ac75d532389b55b9247f3fdb0b00d1"></a><!-- doxytag: member="tbb::parallel_for" ref="ga7ac75d532389b55b9247f3fdb0b00d1" args="(const Range &range, const Body &body, const auto_partitioner &partitioner)" -->
|
|
template<typename Range, typename Body> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#ga7ac75d532389b55b9247f3fdb0b00d1">parallel_for</a> (const Range &range, const Body &body, const <a class="el" href="a00269.html">auto_partitioner</a> &partitioner)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with <a class="el" href="a00269.html">auto_partitioner</a>. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g9cd1b210ceb1c040f30e390b4a21bde8"></a><!-- doxytag: member="tbb::parallel_for" ref="g9cd1b210ceb1c040f30e390b4a21bde8" args="(const Range &range, const Body &body, affinity_partitioner &partitioner)" -->
|
|
template<typename Range, typename Body> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g9cd1b210ceb1c040f30e390b4a21bde8">parallel_for</a> (const Range &range, const Body &body, <a class="el" href="a00261.html">affinity_partitioner</a> &partitioner)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with <a class="el" href="a00261.html">affinity_partitioner</a>. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g8a1bab34022d4990e49e287a129529fa"></a><!-- doxytag: member="tbb::parallel_for" ref="g8a1bab34022d4990e49e287a129529fa" args="(const Range &range, const Body &body, task_group_context &context)" -->
|
|
template<typename Range, typename Body> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g8a1bab34022d4990e49e287a129529fa">parallel_for</a> (const Range &range, const Body &body, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with default partitioner and user-supplied context. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g2d317a5e0078cd193125439fed60dfdc"></a><!-- doxytag: member="tbb::parallel_for" ref="g2d317a5e0078cd193125439fed60dfdc" args="(const Range &range, const Body &body, const simple_partitioner &partitioner, task_group_context &context)" -->
|
|
template<typename Range, typename Body> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g2d317a5e0078cd193125439fed60dfdc">parallel_for</a> (const Range &range, const Body &body, const <a class="el" href="a00341.html">simple_partitioner</a> &partitioner, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with simple partitioner and user-supplied context. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g1c0700e3f85e83a788ff3ede88ebb7e9"></a><!-- doxytag: member="tbb::parallel_for" ref="g1c0700e3f85e83a788ff3ede88ebb7e9" args="(const Range &range, const Body &body, const auto_partitioner &partitioner, task_group_context &context)" -->
|
|
template<typename Range, typename Body> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g1c0700e3f85e83a788ff3ede88ebb7e9">parallel_for</a> (const Range &range, const Body &body, const <a class="el" href="a00269.html">auto_partitioner</a> &partitioner, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with <a class="el" href="a00269.html">auto_partitioner</a> and user-supplied context. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g04b4696b67370c01353ff5974c8f1196"></a><!-- doxytag: member="tbb::parallel_for" ref="g04b4696b67370c01353ff5974c8f1196" args="(const Range &range, const Body &body, affinity_partitioner &partitioner, task_group_context &context)" -->
|
|
template<typename Range, typename Body> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g04b4696b67370c01353ff5974c8f1196">parallel_for</a> (const Range &range, const Body &body, <a class="el" href="a00261.html">affinity_partitioner</a> &partitioner, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration over range with <a class="el" href="a00261.html">affinity_partitioner</a> and user-supplied context. <br></td></tr>
|
|
<tr><td colspan="2"><br><h2>parallel_for_each</h2></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gcd40c32f319747e61a8f73fcfc452001"></a><!-- doxytag: member="tbb::parallel_for_each" ref="gcd40c32f319747e61a8f73fcfc452001" args="(InputIterator first, InputIterator last, const Function &f, task_group_context &context)" -->
|
|
template<typename InputIterator, typename Function> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gcd40c32f319747e61a8f73fcfc452001">parallel_for_each</a> (InputIterator first, InputIterator last, const Function &f, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Calls function f for all items from [first, last) interval using user-supplied context. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gc2d710ca573f0a9bd94379cba3772def"></a><!-- doxytag: member="tbb::parallel_for_each" ref="gc2d710ca573f0a9bd94379cba3772def" args="(InputIterator first, InputIterator last, const Function &f)" -->
|
|
template<typename InputIterator, typename Function> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gc2d710ca573f0a9bd94379cba3772def">parallel_for_each</a> (InputIterator first, InputIterator last, const Function &f)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Uses default context. <br></td></tr>
|
|
<tr><td colspan="2"><br><h2>parallel_invoke</h2></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gd3e2998f171494f94c2103f4eb924084"></a><!-- doxytag: member="tbb::parallel_invoke" ref="gd3e2998f171494f94c2103f4eb924084" args="(const F0 &f0, const F1 &f1, tbb::task_group_context &context)" -->
|
|
template<typename F0, typename F1> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gd3e2998f171494f94c2103f4eb924084">parallel_invoke</a> (const F0 &f0, const F1 &f1, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Executes a list of tasks in parallel and waits for all tasks to complete. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g4eb73562e4145c8343ed9f996267f039"></a><!-- doxytag: member="tbb::parallel_invoke" ref="g4eb73562e4145c8343ed9f996267f039" args="(const F0 &f0, const F1 &f1, const F2 &f2, tbb::task_group_context &context)" -->
|
|
template<typename F0, typename F1, typename F2> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gd1335c4b54fbf8d3f5be6a5c255c8c60"></a><!-- doxytag: member="tbb::parallel_invoke" ref="gd1335c4b54fbf8d3f5be6a5c255c8c60" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, tbb::task_group_context &context)" -->
|
|
template<typename F0, typename F1, typename F2, typename F3> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g40b88e3db7ecb09cbfe0230ea1c24030"></a><!-- doxytag: member="tbb::parallel_invoke" ref="g40b88e3db7ecb09cbfe0230ea1c24030" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, tbb::task_group_context &context)" -->
|
|
template<typename F0, typename F1, typename F2, typename F3, typename F4> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g98a8b388f7e0b7621a964a8c23752d1d"></a><!-- doxytag: member="tbb::parallel_invoke" ref="g98a8b388f7e0b7621a964a8c23752d1d" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, tbb::task_group_context &context)" -->
|
|
template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gb95f31638bdde9d909361ad2e96a93eb"></a><!-- doxytag: member="tbb::parallel_invoke" ref="gb95f31638bdde9d909361ad2e96a93eb" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, tbb::task_group_context &context)" -->
|
|
template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5, typename F6> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g1655b24786f010ee0a008907a07bb61d"></a><!-- doxytag: member="tbb::parallel_invoke" ref="g1655b24786f010ee0a008907a07bb61d" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, tbb::task_group_context &context)" -->
|
|
template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5, typename F6, typename F7> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g105220f1c95f9888b696a3e47027527b"></a><!-- doxytag: member="tbb::parallel_invoke" ref="g105220f1c95f9888b696a3e47027527b" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, tbb::task_group_context &context)" -->
|
|
template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5, typename F6, typename F7, typename F8> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g1ef1774e0fcc4f632fe0af2591781c4c"></a><!-- doxytag: member="tbb::parallel_invoke" ref="g1ef1774e0fcc4f632fe0af2591781c4c" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, const F9 &f9, tbb::task_group_context &context)" -->
|
|
template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5, typename F6, typename F7, typename F8, typename F9> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, const F9 &f9, <a class="el" href="a00353.html">tbb::task_group_context</a> &context)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ge832d8ad8b246c884e3c897ed63f8216"></a><!-- doxytag: member="tbb::parallel_invoke" ref="ge832d8ad8b246c884e3c897ed63f8216" args="(const F0 &f0, const F1 &f1)" -->
|
|
template<typename F0, typename F1> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gb91fec4e7ba49754ad583ccb127afc66"></a><!-- doxytag: member="tbb::parallel_invoke" ref="gb91fec4e7ba49754ad583ccb127afc66" args="(const F0 &f0, const F1 &f1, const F2 &f2)" -->
|
|
template<typename F0, typename F1, typename F2> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g421d0f66ee69eea134a35d1ae371d8d6"></a><!-- doxytag: member="tbb::parallel_invoke" ref="g421d0f66ee69eea134a35d1ae371d8d6" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3)" -->
|
|
template<typename F0, typename F1, typename F2, typename F3> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g8aacce74d691b4f44a0f7becadd9578c"></a><!-- doxytag: member="tbb::parallel_invoke" ref="g8aacce74d691b4f44a0f7becadd9578c" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4)" -->
|
|
template<typename F0, typename F1, typename F2, typename F3, typename F4> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g8cc6994f7cd6eaf25feb5d7cc04a2e64"></a><!-- doxytag: member="tbb::parallel_invoke" ref="g8cc6994f7cd6eaf25feb5d7cc04a2e64" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5)" -->
|
|
template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g995ba9583ae24bddb8bd9a599cc8b4c7"></a><!-- doxytag: member="tbb::parallel_invoke" ref="g995ba9583ae24bddb8bd9a599cc8b4c7" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6)" -->
|
|
template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5, typename F6> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g34341a4c24c6f548886cd14077374c5c"></a><!-- doxytag: member="tbb::parallel_invoke" ref="g34341a4c24c6f548886cd14077374c5c" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7)" -->
|
|
template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5, typename F6, typename F7> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g2a11342753488d460866d48370a69517"></a><!-- doxytag: member="tbb::parallel_invoke" ref="g2a11342753488d460866d48370a69517" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8)" -->
|
|
template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5, typename F6, typename F7, typename F8> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gffcf6835ceee43455f310352a3b4faa5"></a><!-- doxytag: member="tbb::parallel_invoke" ref="gffcf6835ceee43455f310352a3b4faa5" args="(const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, const F9 &f9)" -->
|
|
template<typename F0, typename F1, typename F2, typename F3, typename F4, typename F5, typename F6, typename F7, typename F8, typename F9> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>parallel_invoke</b> (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, const F6 &f6, const F7 &f7, const F8 &f8, const F9 &f9)</td></tr>
|
|
|
|
<tr><td colspan="2"><br><h2>parallel_reduce</h2></td></tr>
|
|
<tr><td colspan="2">See also requirements on <a class="el" href="range_req.html">Range</a> and <a class="el" href="parallel_reduce_body_req.html">parallel_reduce Body</a>. <br><br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g1b3d59c5eb62683c5754db6970392fa3"></a><!-- doxytag: member="tbb::parallel_reduce" ref="g1b3d59c5eb62683c5754db6970392fa3" args="(const Range &range, Body &body)" -->
|
|
template<typename Range, typename Body> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g1b3d59c5eb62683c5754db6970392fa3">parallel_reduce</a> (const Range &range, Body &body)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and default partitioner. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gec1b7c03f9da909bef5db12e3d41bed3"></a><!-- doxytag: member="tbb::parallel_reduce" ref="gec1b7c03f9da909bef5db12e3d41bed3" args="(const Range &range, Body &body, const simple_partitioner &partitioner)" -->
|
|
template<typename Range, typename Body> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gec1b7c03f9da909bef5db12e3d41bed3">parallel_reduce</a> (const Range &range, Body &body, const <a class="el" href="a00341.html">simple_partitioner</a> &partitioner)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and <a class="el" href="a00341.html">simple_partitioner</a>. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g18a19157e6245992fc00ca0adeb7dd37"></a><!-- doxytag: member="tbb::parallel_reduce" ref="g18a19157e6245992fc00ca0adeb7dd37" args="(const Range &range, Body &body, const auto_partitioner &partitioner)" -->
|
|
template<typename Range, typename Body> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g18a19157e6245992fc00ca0adeb7dd37">parallel_reduce</a> (const Range &range, Body &body, const <a class="el" href="a00269.html">auto_partitioner</a> &partitioner)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and <a class="el" href="a00269.html">auto_partitioner</a>. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gc61e73fcc36c92d79a217fc355ff4a6b"></a><!-- doxytag: member="tbb::parallel_reduce" ref="gc61e73fcc36c92d79a217fc355ff4a6b" args="(const Range &range, Body &body, affinity_partitioner &partitioner)" -->
|
|
template<typename Range, typename Body> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gc61e73fcc36c92d79a217fc355ff4a6b">parallel_reduce</a> (const Range &range, Body &body, <a class="el" href="a00261.html">affinity_partitioner</a> &partitioner)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and <a class="el" href="a00261.html">affinity_partitioner</a>. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g45cb00c42a18e334bbde8b7535afe460"></a><!-- doxytag: member="tbb::parallel_reduce" ref="g45cb00c42a18e334bbde8b7535afe460" args="(const Range &range, Body &body, const simple_partitioner &partitioner, task_group_context &context)" -->
|
|
template<typename Range, typename Body> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g45cb00c42a18e334bbde8b7535afe460">parallel_reduce</a> (const Range &range, Body &body, const <a class="el" href="a00341.html">simple_partitioner</a> &partitioner, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, simple partitioner and user-supplied context. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g1c1ea1d7c61b3c225e92c70d669a53a5"></a><!-- doxytag: member="tbb::parallel_reduce" ref="g1c1ea1d7c61b3c225e92c70d669a53a5" args="(const Range &range, Body &body, const auto_partitioner &partitioner, task_group_context &context)" -->
|
|
template<typename Range, typename Body> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g1c1ea1d7c61b3c225e92c70d669a53a5">parallel_reduce</a> (const Range &range, Body &body, const <a class="el" href="a00269.html">auto_partitioner</a> &partitioner, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, <a class="el" href="a00269.html">auto_partitioner</a> and user-supplied context. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gd9ac3a3811060314695f33b703c6e11b"></a><!-- doxytag: member="tbb::parallel_reduce" ref="gd9ac3a3811060314695f33b703c6e11b" args="(const Range &range, Body &body, affinity_partitioner &partitioner, task_group_context &context)" -->
|
|
template<typename Range, typename Body> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gd9ac3a3811060314695f33b703c6e11b">parallel_reduce</a> (const Range &range, Body &body, <a class="el" href="a00261.html">affinity_partitioner</a> &partitioner, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, <a class="el" href="a00261.html">affinity_partitioner</a> and user-supplied context. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gc9412e09fb01fcad8c018ea9cffb28ef"></a><!-- doxytag: member="tbb::parallel_reduce" ref="gc9412e09fb01fcad8c018ea9cffb28ef" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)" -->
|
|
template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gc9412e09fb01fcad8c018ea9cffb28ef">parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and default partitioner. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gaddffeec0e892ac3d6fc7fc2053e1eca"></a><!-- doxytag: member="tbb::parallel_reduce" ref="gaddffeec0e892ac3d6fc7fc2053e1eca" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner)" -->
|
|
template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gaddffeec0e892ac3d6fc7fc2053e1eca">parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const <a class="el" href="a00341.html">simple_partitioner</a> &partitioner)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and <a class="el" href="a00341.html">simple_partitioner</a>. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gb175401f0729e40dd2c5860a17c14385"></a><!-- doxytag: member="tbb::parallel_reduce" ref="gb175401f0729e40dd2c5860a17c14385" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner)" -->
|
|
template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gb175401f0729e40dd2c5860a17c14385">parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const <a class="el" href="a00269.html">auto_partitioner</a> &partitioner)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and <a class="el" href="a00269.html">auto_partitioner</a>. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gb7f1f1828ae2b330ce05b8513a495154"></a><!-- doxytag: member="tbb::parallel_reduce" ref="gb7f1f1828ae2b330ce05b8513a495154" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner)" -->
|
|
template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gb7f1f1828ae2b330ce05b8513a495154">parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, <a class="el" href="a00261.html">affinity_partitioner</a> &partitioner)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction and <a class="el" href="a00261.html">affinity_partitioner</a>. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gfbc0cc2026d87f11a96bcd62788f5bb5"></a><!-- doxytag: member="tbb::parallel_reduce" ref="gfbc0cc2026d87f11a96bcd62788f5bb5" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner, task_group_context &context)" -->
|
|
template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gfbc0cc2026d87f11a96bcd62788f5bb5">parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const <a class="el" href="a00341.html">simple_partitioner</a> &partitioner, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, simple partitioner and user-supplied context. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g630c90a399937d9d4ae70ff883186dfd"></a><!-- doxytag: member="tbb::parallel_reduce" ref="g630c90a399937d9d4ae70ff883186dfd" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner, task_group_context &context)" -->
|
|
template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g630c90a399937d9d4ae70ff883186dfd">parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const <a class="el" href="a00269.html">auto_partitioner</a> &partitioner, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, <a class="el" href="a00269.html">auto_partitioner</a> and user-supplied context. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g496bd7eadb3b97495ccb5655ef90319e"></a><!-- doxytag: member="tbb::parallel_reduce" ref="g496bd7eadb3b97495ccb5655ef90319e" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner, task_group_context &context)" -->
|
|
template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g496bd7eadb3b97495ccb5655ef90319e">parallel_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, <a class="el" href="a00261.html">affinity_partitioner</a> &partitioner, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with reduction, <a class="el" href="a00261.html">affinity_partitioner</a> and user-supplied context. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g873006cc80868b5b4604822bf100ddeb"></a><!-- doxytag: member="tbb::parallel_deterministic_reduce" ref="g873006cc80868b5b4604822bf100ddeb" args="(const Range &range, Body &body)" -->
|
|
template<typename Range, typename Body> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g873006cc80868b5b4604822bf100ddeb">parallel_deterministic_reduce</a> (const Range &range, Body &body)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with deterministic reduction and default partitioner. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gfd08c56b3a98d4437dadc5365326928a"></a><!-- doxytag: member="tbb::parallel_deterministic_reduce" ref="gfd08c56b3a98d4437dadc5365326928a" args="(const Range &range, Body &body, task_group_context &context)" -->
|
|
template<typename Range, typename Body> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gfd08c56b3a98d4437dadc5365326928a">parallel_deterministic_reduce</a> (const Range &range, Body &body, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g3edb17bb1967c291d227556e0e47e507"></a><!-- doxytag: member="tbb::parallel_deterministic_reduce" ref="g3edb17bb1967c291d227556e0e47e507" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)" -->
|
|
template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g3edb17bb1967c291d227556e0e47e507">parallel_deterministic_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with deterministic reduction and default partitioner. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g0a66bc67567b2d01d709b59b9bddf84a"></a><!-- doxytag: member="tbb::parallel_deterministic_reduce" ref="g0a66bc67567b2d01d709b59b9bddf84a" args="(const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, task_group_context &context)" -->
|
|
template<typename Range, typename Value, typename RealBody, typename Reduction> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">Value </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g0a66bc67567b2d01d709b59b9bddf84a">parallel_deterministic_reduce</a> (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, <a class="el" href="a00353.html">task_group_context</a> &context)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. <br></td></tr>
|
|
<tr><td colspan="2"><br><h2>parallel_scan</h2></td></tr>
|
|
<tr><td colspan="2">See also requirements on <a class="el" href="range_req.html">Range</a> and <a class="el" href="parallel_scan_body_req.html">parallel_scan Body</a>. <br><br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ged143f31dd3d96ded02ab3db915b91c7"></a><!-- doxytag: member="tbb::parallel_scan" ref="ged143f31dd3d96ded02ab3db915b91c7" args="(const Range &range, Body &body)" -->
|
|
template<typename Range, typename Body> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#ged143f31dd3d96ded02ab3db915b91c7">parallel_scan</a> (const Range &range, Body &body)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel prefix with default partitioner. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gc9fac8870b2e6365fb337014404529df"></a><!-- doxytag: member="tbb::parallel_scan" ref="gc9fac8870b2e6365fb337014404529df" args="(const Range &range, Body &body, const simple_partitioner &partitioner)" -->
|
|
template<typename Range, typename Body> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gc9fac8870b2e6365fb337014404529df">parallel_scan</a> (const Range &range, Body &body, const <a class="el" href="a00341.html">simple_partitioner</a> &partitioner)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel prefix with <a class="el" href="a00341.html">simple_partitioner</a>. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g62fde400a37bbca1a2fddc8e3d22f556"></a><!-- doxytag: member="tbb::parallel_scan" ref="g62fde400a37bbca1a2fddc8e3d22f556" args="(const Range &range, Body &body, const auto_partitioner &partitioner)" -->
|
|
template<typename Range, typename Body> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g62fde400a37bbca1a2fddc8e3d22f556">parallel_scan</a> (const Range &range, Body &body, const <a class="el" href="a00269.html">auto_partitioner</a> &partitioner)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Parallel prefix with <a class="el" href="a00269.html">auto_partitioner</a>. <br></td></tr>
|
|
<tr><td colspan="2"><br><h2>parallel_sort</h2></td></tr>
|
|
<tr><td colspan="2">See also requirements on <a class="el" href="parallel_sort_iter_req.html">iterators for parallel_sort</a>. <br><br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2">template<typename RandomAccessIterator, typename Compare> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g49edcf9447cd91a9527a3f8e8512b7aa">parallel_sort</a> (RandomAccessIterator begin, RandomAccessIterator end, const Compare &comp)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sorts the data in [begin,end) using the given comparator. <a href="a00441.html#g49edcf9447cd91a9527a3f8e8512b7aa"></a><br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="g16c3eb77d0e530834c51ce3857f01012"></a><!-- doxytag: member="tbb::parallel_sort" ref="g16c3eb77d0e530834c51ce3857f01012" args="(RandomAccessIterator begin, RandomAccessIterator end)" -->
|
|
template<typename RandomAccessIterator> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#g16c3eb77d0e530834c51ce3857f01012">parallel_sort</a> (RandomAccessIterator begin, RandomAccessIterator end)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sorts the data in [begin,end) with a default comparator <code>std::less<RandomAccessIterator></code>. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="gc7576f82fdedc8a701a6c17ad9415926"></a><!-- doxytag: member="tbb::parallel_sort" ref="gc7576f82fdedc8a701a6c17ad9415926" args="(T *begin, T *end)" -->
|
|
template<typename T> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00441.html#gc7576f82fdedc8a701a6c17ad9415926">parallel_sort</a> (T *begin, T *end)</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sorts the data in the range <code></code>[begin,end) with a default comparator <code>std::less<T></code>. <br></td></tr>
|
|
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bf4486f36580f7d4bf95aed2e052a380"></a><!-- doxytag: member="tbb::critical_section" ref="bf4486f36580f7d4bf95aed2e052a380" args="" -->
|
|
typedef internal::critical_section_v4 </td><td class="memItemRight" valign="bottom"><b>critical_section</b></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7fdc2b067a243747d4c3dfe6f3d28476"></a><!-- doxytag: member="tbb::spin_rw_mutex" ref="7fdc2b067a243747d4c3dfe6f3d28476" args="" -->
|
|
typedef <a class="el" href="a00345.html">spin_rw_mutex_v3</a> </td><td class="memItemRight" valign="bottom"><b>spin_rw_mutex</b></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="a3d457eb737199125df5ab0cf2f44094"></a><!-- doxytag: member="tbb::stack_size_type" ref="a3d457eb737199125df5ab0cf2f44094" args="" -->
|
|
typedef std::size_t </td><td class="memItemRight" valign="bottom"><b>stack_size_type</b></td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="621a403f1b13bcec95297344f205d922"></a><!-- doxytag: member="tbb::task_scheduler_observer" ref="621a403f1b13bcec95297344f205d922" args="" -->
|
|
typedef tbb::internal::task_scheduler_observer_v3 </td><td class="memItemRight" valign="bottom"><b>task_scheduler_observer</b></td></tr>
|
|
|
|
<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a8686246bb5d3664bd07563749970fef">memory_semantics</a> { <a class="el" href="a00428.html#a8686246bb5d3664bd07563749970fef07b959f69a4f70d821c67b85316803ff">full_fence</a>,
|
|
<a class="el" href="a00428.html#a8686246bb5d3664bd07563749970fef5f1fafe8d229d348ff91d937f64e79c7">acquire</a>,
|
|
<a class="el" href="a00428.html#a8686246bb5d3664bd07563749970fefaa1fa107db0245c41fb109d976ae8d70">release</a>,
|
|
<a class="el" href="a00428.html#a8686246bb5d3664bd07563749970fefaba4b1574646947f1b519188a93c1900">relaxed</a>
|
|
}</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Specifies memory semantics. <a href="a00428.html#a8686246bb5d3664bd07563749970fef">More...</a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a8622ae61b7e7737dac26542e181178e">ets_key_usage_type</a> { <b>ets_key_per_instance</b>,
|
|
<b>ets_no_key</b>
|
|
}</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">enum for selecting between single key and key-per-instance versions <br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><b>priority_t</b> { <b>priority_normal</b> = internal::priority_stride_v4 * 2,
|
|
<b>priority_low</b> = priority_normal - internal::priority_stride_v4,
|
|
<b>priority_high</b> = priority_normal + internal::priority_stride_v4
|
|
}</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum </td><td class="memItemRight" valign="bottom"><b>task_group_status</b> { <b>not_complete</b>,
|
|
<b>complete</b>,
|
|
<b>canceled</b>
|
|
}</td></tr>
|
|
|
|
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2e067bc86f20023cf3034f2ac310927b"></a><!-- doxytag: member="tbb::__TBB_DECL_ATOMIC" ref="2e067bc86f20023cf3034f2ac310927b" args="(__TBB_LONG_LONG) __TBB_DECL_ATOMIC(unsigned __TBB_LONG_LONG) __TBB_DECL_ATOMIC(long) __TBB_DECL_ATOMIC(unsigned long) __TBB_DECL_ATOMIC_ALT(unsigned" -->
|
|
</td><td class="memItemRight" valign="bottom"><b>__TBB_DECL_ATOMIC</b> (__TBB_LONG_LONG) __TBB_DECL_ATOMIC(unsigned __TBB_LONG_LONG) __TBB_DECL_ATOMIC(long) __TBB_DECL_ATOMIC(unsigned long) __TBB_DECL_ATOMIC_ALT(unsigned</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ad165cf61abbe349d413df2589679add"></a><!-- doxytag: member="tbb::__TBB_DECL_ATOMIC_ALT" ref="ad165cf61abbe349d413df2589679add" args="(int, ptrdiff_t) __TBB_DECL_ATOMIC(unsigned) __TBB_DECL_ATOMIC(int) __TBB_DECL_ATOMIC(unsigned short) __TBB_DECL_ATOMIC(short) __TBB_DECL_ATOMIC(char) __TBB_DECL_ATOMIC(signed char) __TBB_DECL_ATOMIC(unsigned char) __TBB_DECL_ATOMIC(wchar_t) template< typename T > struct atomic< T * >" -->
|
|
size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#ad165cf61abbe349d413df2589679add">__TBB_DECL_ATOMIC_ALT</a> (int, ptrdiff_t) __TBB_DECL_ATOMIC(unsigned) __TBB_DECL_ATOMIC(int) __TBB_DECL_ATOMIC(unsigned short) __TBB_DECL_ATOMIC(short) __TBB_DECL_ATOMIC(char) __TBB_DECL_ATOMIC(signed char) __TBB_DECL_ATOMIC(unsigned char) __TBB_DECL_ATOMIC(wchar_t) template< typename T > struct <a class="el" href="a00266.html">atomic</a>< T * ></td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Specialization for atomic<T*> with arithmetic and operator->. <br></td></tr>
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="1ef5059a6b85fad2e4d510a5a095f2a1"></a><!-- doxytag: member="tbb::load" ref="1ef5059a6b85fad2e4d510a5a095f2a1" args="(const atomic< T > &a)" -->
|
|
template<memory_semantics M, typename T> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">T </td><td class="memTemplItemRight" valign="bottom"><b>load</b> (const <a class="el" href="a00266.html">atomic</a>< T > &a)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="0fc5e34a898372157343886babe84045"></a><!-- doxytag: member="tbb::store" ref="0fc5e34a898372157343886babe84045" args="(atomic< T > &a, T value)" -->
|
|
template<memory_semantics M, typename T> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>store</b> (<a class="el" href="a00266.html">atomic</a>< T > &a, T value)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="7af9509624a62ea848afe775f892ed12"></a><!-- doxytag: member="tbb::operator==" ref="7af9509624a62ea848afe775f892ed12" args="(const cache_aligned_allocator< T > &, const cache_aligned_allocator< U > &)" -->
|
|
template<typename T, typename U> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a00276.html">cache_aligned_allocator</a>< T > &, const <a class="el" href="a00276.html">cache_aligned_allocator</a>< U > &)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="426abbf5243087148f5e3767e68c286b"></a><!-- doxytag: member="tbb::operator!=" ref="426abbf5243087148f5e3767e68c286b" args="(const cache_aligned_allocator< T > &, const cache_aligned_allocator< U > &)" -->
|
|
template<typename T, typename U> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a00276.html">cache_aligned_allocator</a>< T > &, const <a class="el" href="a00276.html">cache_aligned_allocator</a>< U > &)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="f3609fc523a99c101572fdc68f918d66"></a><!-- doxytag: member="tbb::operator==" ref="f3609fc523a99c101572fdc68f918d66" args="(const concurrent_hash_map< Key, T, HashCompare, A1 > &a, const concurrent_hash_map< Key, T, HashCompare, A2 > &b)" -->
|
|
template<typename Key, typename T, typename HashCompare, typename A1, typename A2> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a00281.html">concurrent_hash_map</a>< Key, T, HashCompare, A1 > &a, const <a class="el" href="a00281.html">concurrent_hash_map</a>< Key, T, HashCompare, A2 > &b)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="2da30ff86b9a39722f45bc35e1c6934d"></a><!-- doxytag: member="tbb::operator!=" ref="2da30ff86b9a39722f45bc35e1c6934d" args="(const concurrent_hash_map< Key, T, HashCompare, A1 > &a, const concurrent_hash_map< Key, T, HashCompare, A2 > &b)" -->
|
|
template<typename Key, typename T, typename HashCompare, typename A1, typename A2> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a00281.html">concurrent_hash_map</a>< Key, T, HashCompare, A1 > &a, const <a class="el" href="a00281.html">concurrent_hash_map</a>< Key, T, HashCompare, A2 > &b)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="817c20df80fe1a933a8557eb76113e24"></a><!-- doxytag: member="tbb::swap" ref="817c20df80fe1a933a8557eb76113e24" args="(concurrent_hash_map< Key, T, HashCompare, A > &a, concurrent_hash_map< Key, T, HashCompare, A > &b)" -->
|
|
template<typename Key, typename T, typename HashCompare, typename A> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>swap</b> (<a class="el" href="a00281.html">concurrent_hash_map</a>< Key, T, HashCompare, A > &a, <a class="el" href="a00281.html">concurrent_hash_map</a>< Key, T, HashCompare, A > &b)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="11419db87ac98110907dda08a24f0949"></a><!-- doxytag: member="tbb::operator==" ref="11419db87ac98110907dda08a24f0949" args="(const concurrent_vector< T, A1 > &a, const concurrent_vector< T, A2 > &b)" -->
|
|
template<typename T, class A1, class A2> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a00288.html">concurrent_vector</a>< T, A1 > &a, const <a class="el" href="a00288.html">concurrent_vector</a>< T, A2 > &b)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="aa9e09f2e9154ffd6658fad8355fb491"></a><!-- doxytag: member="tbb::operator!=" ref="aa9e09f2e9154ffd6658fad8355fb491" args="(const concurrent_vector< T, A1 > &a, const concurrent_vector< T, A2 > &b)" -->
|
|
template<typename T, class A1, class A2> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a00288.html">concurrent_vector</a>< T, A1 > &a, const <a class="el" href="a00288.html">concurrent_vector</a>< T, A2 > &b)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="33267dd805415351956d45b4b5347190"></a><!-- doxytag: member="tbb::operator<" ref="33267dd805415351956d45b4b5347190" args="(const concurrent_vector< T, A1 > &a, const concurrent_vector< T, A2 > &b)" -->
|
|
template<typename T, class A1, class A2> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator<</b> (const <a class="el" href="a00288.html">concurrent_vector</a>< T, A1 > &a, const <a class="el" href="a00288.html">concurrent_vector</a>< T, A2 > &b)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="14e2968ab20cb714bef1f0352fc152f0"></a><!-- doxytag: member="tbb::operator>" ref="14e2968ab20cb714bef1f0352fc152f0" args="(const concurrent_vector< T, A1 > &a, const concurrent_vector< T, A2 > &b)" -->
|
|
template<typename T, class A1, class A2> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator></b> (const <a class="el" href="a00288.html">concurrent_vector</a>< T, A1 > &a, const <a class="el" href="a00288.html">concurrent_vector</a>< T, A2 > &b)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="0042a36a670a397fb52e713edbaecd0e"></a><!-- doxytag: member="tbb::operator<=" ref="0042a36a670a397fb52e713edbaecd0e" args="(const concurrent_vector< T, A1 > &a, const concurrent_vector< T, A2 > &b)" -->
|
|
template<typename T, class A1, class A2> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator<=</b> (const <a class="el" href="a00288.html">concurrent_vector</a>< T, A1 > &a, const <a class="el" href="a00288.html">concurrent_vector</a>< T, A2 > &b)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="f70eb1d931473b69ba4bcf93af8baa33"></a><!-- doxytag: member="tbb::operator>=" ref="f70eb1d931473b69ba4bcf93af8baa33" args="(const concurrent_vector< T, A1 > &a, const concurrent_vector< T, A2 > &b)" -->
|
|
template<typename T, class A1, class A2> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator>=</b> (const <a class="el" href="a00288.html">concurrent_vector</a>< T, A1 > &a, const <a class="el" href="a00288.html">concurrent_vector</a>< T, A2 > &b)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="4a3897ea8d8a48e885d764bd7d370d50"></a><!-- doxytag: member="tbb::swap" ref="4a3897ea8d8a48e885d764bd7d370d50" args="(concurrent_vector< T, A > &a, concurrent_vector< T, A > &b)" -->
|
|
template<typename T, class A> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><b>swap</b> (<a class="el" href="a00288.html">concurrent_vector</a>< T, A > &a, <a class="el" href="a00288.html">concurrent_vector</a>< T, A > &b)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="906ebb461ecb0446989739fd0399e4b8"></a><!-- doxytag: member="tbb::operator==" ref="906ebb461ecb0446989739fd0399e4b8" args="(const scalable_allocator< T > &, const scalable_allocator< U > &)" -->
|
|
template<typename T, typename U> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a00337.html">scalable_allocator</a>< T > &, const <a class="el" href="a00337.html">scalable_allocator</a>< U > &)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="a92757aca0a69082eb8dc223eb257433"></a><!-- doxytag: member="tbb::operator!=" ref="a92757aca0a69082eb8dc223eb257433" args="(const scalable_allocator< T > &, const scalable_allocator< U > &)" -->
|
|
template<typename T, typename U> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a00337.html">scalable_allocator</a>< T > &, const <a class="el" href="a00337.html">scalable_allocator</a>< U > &)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7e2f5baabe173fbf48e94fb9058f1b41"></a><!-- doxytag: member="tbb::is_current_task_group_canceling" ref="7e2f5baabe173fbf48e94fb9058f1b41" args="()" -->
|
|
bool </td><td class="memItemRight" valign="bottom"><b>is_current_task_group_canceling</b> ()</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="3bb9a8b837a9b7c4b5107caf01e81329"></a><!-- doxytag: member="tbb::make_task" ref="3bb9a8b837a9b7c4b5107caf01e81329" args="(const F &f)" -->
|
|
template<class F> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">task_handle< F > </td><td class="memTemplItemRight" valign="bottom"><b>make_task</b> (const F &f)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="c8a46d6c0fe474eb399d0d09c27a4685"></a><!-- doxytag: member="tbb::operator==" ref="c8a46d6c0fe474eb399d0d09c27a4685" args="(const tbb_allocator< T > &, const tbb_allocator< U > &)" -->
|
|
template<typename T, typename U> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a00356.html">tbb_allocator</a>< T > &, const <a class="el" href="a00356.html">tbb_allocator</a>< U > &)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="3d9665c21c894f06f1614947103dc9d6"></a><!-- doxytag: member="tbb::operator!=" ref="3d9665c21c894f06f1614947103dc9d6" args="(const tbb_allocator< T > &, const tbb_allocator< U > &)" -->
|
|
template<typename T, typename U> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a00356.html">tbb_allocator</a>< T > &, const <a class="el" href="a00356.html">tbb_allocator</a>< U > &)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="b64fb7e52f0049b5a103cbb6fb5814f0"></a><!-- doxytag: member="tbb::operator==" ref="b64fb7e52f0049b5a103cbb6fb5814f0" args="(const zero_allocator< T1, B1 > &a, const zero_allocator< T2, B2 > &b)" -->
|
|
template<typename T1, template< typename X1 > class B1, typename T2, template< typename X2 > class B2> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="a00366.html">zero_allocator</a>< T1, B1 > &a, const <a class="el" href="a00366.html">zero_allocator</a>< T2, B2 > &b)</td></tr>
|
|
|
|
<tr><td class="memTemplParams" nowrap colspan="2"><a class="anchor" name="ae43b5151d0220fe3ade0b447cd64f0d"></a><!-- doxytag: member="tbb::operator!=" ref="ae43b5151d0220fe3ade0b447cd64f0d" args="(const zero_allocator< T1, B1 > &a, const zero_allocator< T2, B2 > &b)" -->
|
|
template<typename T1, template< typename X1 > class B1, typename T2, template< typename X2 > class B2> </td></tr>
|
|
<tr><td class="memTemplItemLeft" nowrap align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="a00366.html">zero_allocator</a>< T1, B1 > &a, const <a class="el" href="a00366.html">zero_allocator</a>< T2, B2 > &b)</td></tr>
|
|
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="250275615f10d5b5de6ad466ae2f54de"></a><!-- doxytag: member="tbb::atomic_fence" ref="250275615f10d5b5de6ad466ae2f54de" args="()" -->
|
|
void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#250275615f10d5b5de6ad466ae2f54de">atomic_fence</a> ()</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">Sequentially consistent full memory fence. <br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top">int __TBB_EXPORTED_FUNC </td><td class="memItemRight" valign="bottom"><a class="el" href="a00428.html#a6858b22e90041c9c4669674ff39b056">TBB_runtime_interface_version</a> ()</td></tr>
|
|
|
|
<tr><td class="mdescLeft"> </td><td class="mdescRight">The function returns the interface version of the TBB shared library being used. <a href="#a6858b22e90041c9c4669674ff39b056"></a><br></td></tr>
|
|
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6a42aa5dbcf06ba86c71efb73d8311c3"></a><!-- doxytag: member="tbb::operator-" ref="6a42aa5dbcf06ba86c71efb73d8311c3" args="(const tick_count &t1, const tick_count &t0)" -->
|
|
<a class="el" href="a00363.html">tick_count::interval_t</a> </td><td class="memItemRight" valign="bottom"><b>operator-</b> (const <a class="el" href="a00362.html">tick_count</a> &t1, const <a class="el" href="a00362.html">tick_count</a> &t0)</td></tr>
|
|
|
|
</table>
|
|
<hr><a name="_details"></a><h2>Detailed Description</h2>
|
|
The namespace tbb contains all components of the library.
|
|
<p>
|
|
This header provides basic platform abstraction layer by hooking up appropriate architecture/OS/compiler specific headers from the /include/tbb/machine directory. If a plug-in header does not implement all the required APIs, it must specify the missing ones by setting one or more of the following macros:<p>
|
|
__TBB_USE_GENERIC_PART_WORD_CAS __TBB_USE_GENERIC_PART_WORD_FETCH_ADD __TBB_USE_GENERIC_PART_WORD_FETCH_STORE __TBB_USE_GENERIC_FETCH_ADD __TBB_USE_GENERIC_FETCH_STORE __TBB_USE_GENERIC_DWORD_FETCH_ADD __TBB_USE_GENERIC_DWORD_FETCH_STORE __TBB_USE_GENERIC_HALF_FENCED_LOAD_STORE __TBB_USE_GENERIC_FULL_FENCED_LOAD_STORE __TBB_USE_GENERIC_RELAXED_LOAD_STORE __TBB_USE_FETCHSTORE_AS_FULL_FENCED_STORE<p>
|
|
In this case tbb_machine.h will add missing functionality based on a minimal set of APIs that are required to be implemented by all plug-n headers as described further. Note that these generic implementations may be sub-optimal for a particular architecture, and thus should be relied upon only after careful evaluation or as the last resort.<p>
|
|
Additionally __TBB_64BIT_ATOMICS can be set to 0 on a 32-bit architecture to indicate that the port is not going to support double word atomics. It may also be set to 1 explicitly, though normally this is not necessary as tbb_machine.h will set it automatically.<p>
|
|
__TBB_BIG_ENDIAN macro can be defined by the implementation as well. It is used only if the __TBB_USE_GENERIC_PART_WORD_CAS is set. Possible values are:<ul>
|
|
<li>1 if the system is big endian,</li><li>0 if it is little endian,</li><li>or -1 to explicitly state that __TBB_USE_GENERIC_PART_WORD_CAS can not be used. -1 should be used when it is known in advance that endianness can change in run time or it is not simple big or little but something more complex. The system will try to detect it in run time if it is not set(in assumption that it is either a big or little one).</li></ul>
|
|
<p>
|
|
Prerequisites for each architecture port ---------------------------------------- The following functions and macros have no generic implementation. Therefore they must be implemented in each machine architecture specific header either as a conventional function or as a functional macro.<p>
|
|
__TBB_WORDSIZE This is the size of machine word in bytes, i.e. for 32 bit systems it should be defined to 4.<p>
|
|
__TBB_Yield() Signals OS that the current thread is willing to relinquish the remainder of its time quantum.<p>
|
|
__TBB_full_memory_fence() Must prevent all memory operations from being reordered across it (both by hardware and compiler). All such fences must be totally ordered (or sequentially consistent).<p>
|
|
__TBB_machine_cmpswp4( volatile void *ptr, int32_t value, int32_t comparand ) Must be provided if __TBB_USE_FENCED_ATOMICS is not set.<p>
|
|
__TBB_machine_cmpswp8( volatile void *ptr, int32_t value, int64_t comparand ) Must be provided for 64-bit architectures if __TBB_USE_FENCED_ATOMICS is not set, and for 32-bit architectures if __TBB_64BIT_ATOMICS is set<p>
|
|
__TBB_machine_<op><S><fence>(...), where <op> = {cmpswp, fetchadd, fetchstore} <S> = {1, 2, 4, 8} <fence> = {full_fence, acquire, release, relaxed} Must be provided if __TBB_USE_FENCED_ATOMICS is set.<p>
|
|
__TBB_control_consistency_helper() Bridges the memory-semantics gap between architectures providing only implicit C++0x "consume" semantics (like Power Architecture) and those also implicitly obeying control dependencies (like IA-64). It must be used only in conditional code where the condition is itself data-dependent, and will then make subsequent code behave as if the original data dependency were acquired. It needs only a compiler fence where implied by the architecture either specifically (like IA-64) or because generally stronger "acquire" semantics are enforced (like x86). It is always valid, though potentially suboptimal, to replace control with acquire on the load and then remove the helper.<p>
|
|
__TBB_acquire_consistency_helper(), __TBB_release_consistency_helper() Must be provided if __TBB_USE_GENERIC_HALF_FENCED_LOAD_STORE is set. Enforce acquire and release semantics in generic implementations of fenced store and load operations. Depending on the particular architecture/compiler combination they may be a hardware fence, a compiler fence, both or nothing.
|
|
<p>
|
|
<hr><h2>Enumeration Type Documentation</h2>
|
|
<a class="anchor" name="a8686246bb5d3664bd07563749970fef"></a><!-- doxytag: member="tbb::memory_semantics" ref="a8686246bb5d3664bd07563749970fef" args="" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">enum <a class="el" href="a00428.html#a8686246bb5d3664bd07563749970fef">tbb::memory_semantics</a> </td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
Specifies memory semantics.
|
|
<p>
|
|
<dl compact><dt><b>Enumerator: </b></dt><dd>
|
|
<table border="0" cellspacing="2" cellpadding="0">
|
|
<tr><td valign="top"><em><a class="anchor" name="a8686246bb5d3664bd07563749970fef07b959f69a4f70d821c67b85316803ff"></a><!-- doxytag: member="full_fence" ref="a8686246bb5d3664bd07563749970fef07b959f69a4f70d821c67b85316803ff" args="" -->full_fence</em> </td><td>
|
|
Sequential consistency. </td></tr>
|
|
<tr><td valign="top"><em><a class="anchor" name="a8686246bb5d3664bd07563749970fef5f1fafe8d229d348ff91d937f64e79c7"></a><!-- doxytag: member="acquire" ref="a8686246bb5d3664bd07563749970fef5f1fafe8d229d348ff91d937f64e79c7" args="" -->acquire</em> </td><td>
|
|
Acquire. </td></tr>
|
|
<tr><td valign="top"><em><a class="anchor" name="a8686246bb5d3664bd07563749970fefaa1fa107db0245c41fb109d976ae8d70"></a><!-- doxytag: member="release" ref="a8686246bb5d3664bd07563749970fefaa1fa107db0245c41fb109d976ae8d70" args="" -->release</em> </td><td>
|
|
Release. </td></tr>
|
|
<tr><td valign="top"><em><a class="anchor" name="a8686246bb5d3664bd07563749970fefaba4b1574646947f1b519188a93c1900"></a><!-- doxytag: member="relaxed" ref="a8686246bb5d3664bd07563749970fefaba4b1574646947f1b519188a93c1900" args="" -->relaxed</em> </td><td>
|
|
No ordering. </td></tr>
|
|
</table>
|
|
</dl>
|
|
|
|
</div>
|
|
</div><p>
|
|
<hr><h2>Function Documentation</h2>
|
|
<a class="anchor" name="a6858b22e90041c9c4669674ff39b056"></a><!-- doxytag: member="tbb::TBB_runtime_interface_version" ref="a6858b22e90041c9c4669674ff39b056" args="()" -->
|
|
<div class="memitem">
|
|
<div class="memproto">
|
|
<table class="memname">
|
|
<tr>
|
|
<td class="memname">int __TBB_EXPORTED_FUNC tbb::TBB_runtime_interface_version </td>
|
|
<td>(</td>
|
|
<td class="paramname"> </td>
|
|
<td> ) </td>
|
|
<td width="100%"></td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<div class="memdoc">
|
|
|
|
<p>
|
|
The function returns the interface version of the TBB shared library being used.
|
|
<p>
|
|
The version it returns is determined at runtime, not at compile/link time. So it can be different than the value of TBB_INTERFACE_VERSION obtained at compile time.
|
|
</div>
|
|
</div><p>
|
|
<hr>
|
|
<p></p>
|
|
Copyright © 2005-2013 Intel Corporation. All Rights Reserved.
|
|
<p></p>
|
|
Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are
|
|
registered trademarks or trademarks of Intel Corporation or its
|
|
subsidiaries in the United States and other countries.
|
|
<p></p>
|
|
* Other names and brands may be claimed as the property of others.
|