From e8b3e241ca2c006919797dadfa3bdc91b93bf690 Mon Sep 17 00:00:00 2001 From: tbbdev Date: Fri, 22 Sep 2017 23:20:55 +0300 Subject: [PATCH] Committing Intel(R) TBB 2018 Update 1 source code --- CHANGES | 33 +- README.md | 4 +- cmake/TBBMakeConfig.cmake | 19 +- cmake/tbb_config_generator.cmake | 45 + doc/html/a00008.html | 2 +- doc/html/a00009.html | 6 +- doc/html/a00010.html | 4 +- doc/html/a00011.html | 4 +- doc/html/a00012.html | 4 +- doc/html/a00013.html | 4 +- doc/html/a00014.html | 6 +- doc/html/a00015.html | 8 +- doc/html/a00016.html | 8 +- doc/html/a00017.html | 6 +- doc/html/a00018.html | 4 +- doc/html/a00019.html | 6 +- doc/html/a00020.html | 4 +- doc/html/a00021.html | 2 +- doc/html/a00022.html | 4 +- doc/html/a00023.html | 4 +- doc/html/a00024.html | 4 +- doc/html/a00025.html | 4 +- doc/html/a00026.html | 6 +- doc/html/a00027.html | 6 +- doc/html/a00028.html | 6 +- doc/html/a00029.html | 4 +- doc/html/a00030.html | 4 +- doc/html/a00031.html | 8 +- doc/html/a00032.html | 8 +- doc/html/a00033.html | 4 +- doc/html/a00034.html | 4 +- doc/html/a00035.html | 4 +- doc/html/a00036.html | 20 +- doc/html/a00037.html | 6 +- doc/html/a00038.html | 2 +- doc/html/a00039.html | 6 +- doc/html/a00040.html | 24 +- doc/html/a00041.html | 4 +- doc/html/a00042.html | 4 +- doc/html/a00043.html | 6 +- doc/html/a00044.html | 4 +- doc/html/a00045.html | 4 +- doc/html/a00046.html | 4 +- doc/html/a00047.html | 4 +- doc/html/a00048.html | 4 +- doc/html/a00049.html | 4 +- doc/html/a00050.html | 6 +- doc/html/a00051.html | 6 +- doc/html/a00052.html | 4 +- doc/html/a00053.html | 160 +- doc/html/a00054.html | 6 +- doc/html/a00055.html | 6 +- doc/html/a00056.html | 6 +- doc/html/a00057.html | 70 +- doc/html/a00058.html | 2 +- doc/html/a00059.html | 4 +- doc/html/a00060.html | 8 +- doc/html/a00061.html | 4 +- doc/html/a00062.html | 6 +- doc/html/a00063.html | 8 +- doc/html/a00064.html | 4 +- doc/html/a00065.html | 13 +- doc/html/a00066.html | 6 +- doc/html/a00067.html | 4 +- doc/html/a00068.html | 4 +- doc/html/a00069.html | 4 +- doc/html/a00070.html | 4 +- doc/html/a00071.html | 4 +- doc/html/a00072.html | 4 +- doc/html/a00073.html | 343 +-- doc/html/a00073.png | Bin 1120 -> 1071 bytes doc/html/a00074.html | 114 +- doc/html/a00075.html | 35 +- doc/html/a00075.png | Bin 1478 -> 495 bytes doc/html/a00076.html | 94 +- doc/html/a00077.html | 20 +- doc/html/a00077.png | Bin 495 -> 638 bytes doc/html/a00078.html | 73 +- doc/html/a00078.png | Bin 0 -> 966 bytes doc/html/a00079.html | 35 +- doc/html/a00079.png | Bin 638 -> 0 bytes doc/html/a00080.html | 51 +- doc/html/a00080.png | Bin 966 -> 671 bytes doc/html/a00081.html | 133 +- doc/html/a00082.html | 89 +- doc/html/a00082.png | Bin 671 -> 0 bytes doc/html/a00083.html | 153 +- doc/html/a00084.html | 85 +- doc/html/a00084.png | Bin 0 -> 489 bytes doc/html/a00085.html | 212 +- doc/html/a00085.png | Bin 0 -> 960 bytes doc/html/a00086.html | 123 +- doc/html/a00086.png | Bin 489 -> 680 bytes doc/html/a00087.html | 210 +- doc/html/a00087.png | Bin 960 -> 1052 bytes doc/html/a00088.html | 125 +- doc/html/a00088.png | Bin 680 -> 704 bytes doc/html/a00089.html | 81 +- doc/html/a00089.png | Bin 1052 -> 724 bytes doc/html/a00090.html | 48 +- doc/html/a00090.png | Bin 704 -> 0 bytes doc/html/a00091.html | 101 +- doc/html/a00091.png | Bin 724 -> 1132 bytes doc/html/a00092.html | 100 +- doc/html/{a00094.png => a00092.png} | Bin doc/html/a00093.html | 133 +- doc/html/a00093.png | Bin 1132 -> 1161 bytes doc/html/a00094.html | 191 +- doc/html/a00095.html | 126 +- doc/html/a00095.png | Bin 1161 -> 0 bytes doc/html/a00096.html | 166 +- doc/html/a00097.html | 108 +- doc/html/a00097.png | Bin 0 -> 1158 bytes doc/html/a00098.html | 73 +- doc/html/a00099.html | 77 +- doc/html/a00099.png | Bin 1158 -> 1611 bytes doc/html/a00100.html | 36 +- doc/html/a00100.png | Bin 0 -> 1585 bytes doc/html/a00101.html | 34 +- doc/html/a00101.png | Bin 1611 -> 1284 bytes doc/html/a00102.html | 68 +- doc/html/a00102.png | Bin 1585 -> 871 bytes doc/html/a00103.html | 46 +- doc/html/a00103.png | Bin 1284 -> 0 bytes doc/html/a00104.html | 123 +- doc/html/a00104.png | Bin 871 -> 1176 bytes doc/html/a00105.html | 125 +- doc/html/{a00107.png => a00105.png} | Bin doc/html/a00106.html | 156 +- doc/html/a00106.png | Bin 1176 -> 0 bytes doc/html/a00107.html | 123 +- doc/html/a00108.html | 91 +- doc/html/a00109.html | 62 +- doc/html/a00109.png | Bin 0 -> 754 bytes doc/html/a00110.html | 64 +- doc/html/{a00112.png => a00110.png} | Bin doc/html/a00111.html | 192 +- doc/html/a00111.png | Bin 754 -> 657 bytes doc/html/a00112.html | 69 +- doc/html/a00113.html | 184 +- doc/html/a00113.png | Bin 657 -> 0 bytes doc/html/a00114.html | 17 +- doc/html/a00115.html | 16 +- doc/html/a00116.html | 18 +- doc/html/a00117.html | 6 +- doc/html/a00118.html | 17 +- doc/html/a00119.html | 16 +- doc/html/a00120.html | 14 +- doc/html/a00121.html | 18 +- doc/html/a00122.html | 193 +- doc/html/a00122.png | Bin 0 -> 1020 bytes doc/html/a00123.html | 45 +- doc/html/{a00125.png => a00123.png} | Bin doc/html/a00124.html | 255 +- doc/html/a00124.png | Bin 1020 -> 766 bytes doc/html/a00125.html | 45 +- doc/html/a00126.html | 114 +- doc/html/a00126.png | Bin 766 -> 0 bytes doc/html/a00127.html | 8 +- doc/html/a00128.html | 273 +- doc/html/{a00130.png => a00128.png} | Bin doc/html/a00129.html | 99 +- doc/html/a00130.html | 285 +- doc/html/a00131.html | 121 +- doc/html/a00131.png | Bin 0 -> 798 bytes doc/html/a00132.html | 78 +- doc/html/a00132.png | Bin 0 -> 645 bytes doc/html/a00133.html | 96 +- doc/html/a00133.png | Bin 604 -> 594 bytes doc/html/a00134.html | 10 +- doc/html/a00135.html | 60 +- doc/html/a00135.png | Bin 542 -> 743 bytes doc/html/a00136.html | 96 +- doc/html/a00136.png | Bin 594 -> 604 bytes doc/html/a00137.html | 140 +- doc/html/a00137.png | Bin 655 -> 651 bytes doc/html/a00138.html | 68 +- doc/html/a00138.png | Bin 798 -> 542 bytes doc/html/a00139.html | 173 +- doc/html/a00139.png | Bin 645 -> 655 bytes doc/html/a00140.html | 10 +- doc/html/a00141.html | 49 +- doc/html/a00141.png | Bin 743 -> 839 bytes doc/html/a00142.html | 218 +- doc/html/a00142.png | Bin 651 -> 973 bytes doc/html/a00143.html | 141 +- doc/html/a00143.png | Bin 839 -> 729 bytes doc/html/a00144.html | 294 ++- doc/html/a00144.png | Bin 973 -> 777 bytes doc/html/a00145.html | 172 +- doc/html/a00145.png | Bin 729 -> 961 bytes doc/html/a00146.html | 188 +- doc/html/a00146.png | Bin 777 -> 0 bytes doc/html/a00147.html | 423 ++- doc/html/a00147.png | Bin 961 -> 656 bytes doc/html/a00148.html | 83 +- doc/html/{a00150.png => a00148.png} | Bin doc/html/a00149.html | 415 +-- doc/html/a00149.png | Bin 656 -> 1324 bytes doc/html/a00150.html | 89 +- doc/html/a00151.html | 78 +- doc/html/a00151.png | Bin 1324 -> 538 bytes doc/html/a00152.html | 32 +- doc/html/a00152.png | Bin 0 -> 620 bytes doc/html/a00153.html | 175 +- doc/html/a00153.png | Bin 538 -> 565 bytes doc/html/a00154.html | 217 +- doc/html/a00154.png | Bin 620 -> 906 bytes doc/html/a00155.html | 190 +- doc/html/a00155.png | Bin 565 -> 906 bytes doc/html/a00156.html | 301 +-- doc/html/a00156.png | Bin 906 -> 0 bytes doc/html/a00157.html | 161 +- doc/html/a00157.png | Bin 906 -> 0 bytes doc/html/a00158.html | 262 +- doc/html/{a00160.png => a00158.png} | Bin doc/html/a00159.html | 85 +- doc/html/a00160.html | 243 +- doc/html/a00161.html | 117 +- doc/html/a00161.png | Bin 0 -> 757 bytes doc/html/a00162.html | 149 +- doc/html/a00162.png | Bin 0 -> 794 bytes doc/html/a00163.html | 132 +- doc/html/a00163.png | Bin 757 -> 815 bytes doc/html/a00164.html | 49 +- doc/html/a00164.png | Bin 794 -> 857 bytes doc/html/a00165.html | 60 +- doc/html/a00165.png | Bin 815 -> 1409 bytes doc/html/a00166.html | 80 +- doc/html/a00166.png | Bin 857 -> 0 bytes doc/html/a00167.html | 128 +- doc/html/a00167.png | Bin 1409 -> 2153 bytes doc/html/a00168.html | 128 +- doc/html/{a00170.png => a00168.png} | Bin doc/html/a00169.html | 127 +- doc/html/a00169.png | Bin 2153 -> 0 bytes doc/html/a00170.html | 105 +- doc/html/a00171.html | 42 +- doc/html/a00171.png | Bin 0 -> 468 bytes doc/html/a00172.html | 85 +- doc/html/{a00174.png => a00172.png} | Bin doc/html/a00173.html | 55 +- doc/html/a00173.png | Bin 468 -> 679 bytes doc/html/a00174.html | 133 - doc/html/a00175.html | 102 - doc/html/a00175.png | Bin 679 -> 0 bytes doc/html/{a00193.html => a00191.html} | 97 +- doc/html/{a00198.html => a00196.html} | 24 +- doc/html/{a00217.html => a00215.html} | 52 +- doc/html/{a00236.html => a00234.html} | 4 +- doc/html/{a00239.html => a00237.html} | 419 +-- doc/html/a00257.html | 2743 ++++++++++++++++++++ doc/html/a00258.html | 67 + doc/html/a00259.html | 382 +++ doc/html/a00260.html | 2156 +-------------- doc/html/a00261.html | 23 +- doc/html/a00262.html | 340 +-- doc/html/a00263.html | 125 - doc/html/a00264.html | 29 +- doc/html/a00265.html | 41 +- doc/html/a00266.html | 58 + doc/html/a00267.html | 13 +- doc/html/a00268.html | 19 +- doc/html/a00269.html | 23 +- doc/html/a00270.html | 21 +- doc/html/a00271.html | 23 +- doc/html/a00272.html | 40 +- doc/html/a00273.html | 18 +- doc/html/a00274.html | 22 +- doc/html/a00275.html | 26 +- doc/html/a00276.html | 19 +- doc/html/a00277.html | 43 +- doc/html/a00278.html | 85 +- doc/html/a00279.html | 22 +- doc/html/a00280.html | 57 +- doc/html/a00281.html | 91 +- doc/html/a00282.html | 14 +- doc/html/a00283.html | 29 +- doc/html/a00284.html | 17 +- doc/html/a00285.html | 18 +- doc/html/a00286.html | 14 +- doc/html/a00287.html | 12 +- doc/html/a00288.html | 19 +- doc/html/a00289.html | 12 +- doc/html/a00290.html | 19 +- doc/html/a00291.html | 23 +- doc/html/a00292.html | 16 +- doc/html/a00293.html | 24 +- doc/html/a00294.html | 24 +- doc/html/a00295.html | 19 +- doc/html/a00296.html | 24 +- doc/html/a00297.html | 19 +- doc/html/a00298.html | 33 +- doc/html/a00299.html | 19 +- doc/html/a00300.html | 16 +- doc/html/a00301.html | 26 +- doc/html/a00302.html | 16 +- doc/html/a00303.html | 16 +- doc/html/a00304.html | 24 +- doc/html/a00305.html | 26 +- doc/html/a00306.html | 19 +- doc/html/a00307.html | 39 +- doc/html/a00308.html | 29 +- doc/html/a00309.html | 23 +- doc/html/a00310.html | 45 +- doc/html/a00311.html | 19 +- doc/html/a00312.html | 20 +- doc/html/a00313.html | 30 +- doc/html/a00314.html | 19 +- doc/html/a00315.html | 10 +- doc/html/a00316.html | 11 +- doc/html/a00317.html | 19 +- doc/html/a00318.html | 9 +- doc/html/a00319.html | 11 +- doc/html/a00320.html | 8 +- doc/html/a00321.html | 9 +- doc/html/a00322.html | 8 +- doc/html/a00323.html | 14 +- doc/html/a00324.html | 20 +- doc/html/a00325.html | 21 +- doc/html/a00326.html | 17 +- doc/html/a00327.html | 28 +- doc/html/a00328.html | 45 +- doc/html/a00329.html | 44 +- doc/html/a00330.html | 52 +- doc/html/a00331.html | 34 +- doc/html/a00332.html | 45 +- doc/html/a00333.html | 38 +- doc/html/a00334.html | 42 +- doc/html/a00335.html | 55 +- doc/html/a00336.html | 47 +- doc/html/a00337.html | 25 +- doc/html/a00338.html | 23 +- doc/html/a00339.html | 13 +- doc/html/a00340.html | 35 +- doc/html/a00341.html | 60 +- doc/html/a00342.html | 40 +- doc/html/a00343.html | 28 +- doc/html/a00344.html | 30 +- doc/html/a00345.html | 28 +- doc/html/a00346.html | 26 +- doc/html/a00347.html | 29 +- doc/html/a00348.html | 29 +- doc/html/a00349.html | 35 +- doc/html/a00350.html | 19 +- doc/html/a00351.html | 18 +- doc/html/a00352.html | 28 +- doc/html/a00353.html | 32 +- doc/html/a00354.html | 15 +- doc/html/a00355.html | 15 +- doc/html/a00356.html | 27 +- doc/html/a00357.html | 39 +- doc/html/a00358.html | 36 +- doc/html/a00359.html | 14 +- doc/html/a00360.html | 8 +- doc/html/a00361.html | 106 +- doc/html/a00362.html | 30 +- doc/html/a00363.html | 14 +- doc/html/a00364.html | 17 +- doc/html/a00365.html | 11 +- doc/html/a00366.html | 105 +- doc/html/a00367.html | 26 +- doc/html/a00368.html | 35 +- doc/html/a00369.html | 19 +- doc/html/a00370.html | 40 +- doc/html/a00371.html | 45 +- doc/html/a00372.html | 25 +- doc/html/a00373.html | 61 +- doc/html/a00374.html | 42 +- doc/html/a00375.html | 50 +- doc/html/a00376.html | 38 +- doc/html/a00377.html | 20 +- doc/html/a00378.html | 35 +- doc/html/a00379.html | 34 +- doc/html/a00380.html | 29 +- doc/html/a00381.html | 14 +- doc/html/a00382.html | 16 +- doc/html/a00383.html | 12 +- doc/html/a00384.html | 47 +- doc/html/a00385.html | 32 +- doc/html/a00386.html | 33 +- doc/html/a00387.html | 12 +- doc/html/a00388.html | 21 +- doc/html/a00389.html | 47 +- doc/html/a00390.html | 25 +- doc/html/a00391.html | 32 +- doc/html/a00392.html | 9 +- doc/html/a00393.html | 26 +- doc/html/a00394.html | 23 +- doc/html/a00395.html | 23 +- doc/html/a00396.html | 19 +- doc/html/a00397.html | 19 +- doc/html/a00398.html | 17 +- doc/html/a00399.html | 42 +- doc/html/a00400.html | 28 +- doc/html/a00401.html | 26 +- doc/html/a00402.html | 19 +- doc/html/a00403.html | 9 +- doc/html/a00404.html | 37 +- doc/html/a00405.html | 22 +- doc/html/a00406.html | 20 +- doc/html/a00407.html | 10 +- doc/html/a00408.html | 12 +- doc/html/a00409.html | 23 +- doc/html/a00410.html | 22 +- doc/html/a00411.html | 30 +- doc/html/a00412.html | 20 +- doc/html/a00413.html | 38 +- doc/html/a00414.html | 62 - doc/html/a00415.html | 63 - doc/html/a00416.html | 75 - doc/html/a00417.html | 68 - doc/html/a00418.html | 83 - doc/html/annotated.html | 210 +- doc/html/classes.html | 107 +- doc/html/dir_87119f26c7695cbc270003e99bc7f49f.html | 122 +- doc/html/files.html | 6 +- doc/html/functions.html | 26 +- doc/html/functions_0x62.html | 10 +- doc/html/functions_0x63.html | 32 +- doc/html/functions_0x64.html | 28 +- doc/html/functions_0x65.html | 35 +- doc/html/functions_0x67.html | 6 - doc/html/functions_0x68.html | 2 +- doc/html/functions_0x69.html | 33 +- doc/html/functions_0x6a.html | 2 +- doc/html/functions_0x6c.html | 18 +- doc/html/functions_0x6d.html | 24 +- doc/html/functions_0x6e.html | 10 +- doc/html/functions_0x6f.html | 53 +- doc/html/functions_0x70.html | 10 +- doc/html/functions_0x71.html | 4 +- doc/html/functions_0x72.html | 64 +- doc/html/functions_0x73.html | 38 +- doc/html/functions_0x74.html | 74 +- doc/html/functions_0x75.html | 14 +- doc/html/functions_0x76.html | 2 +- doc/html/functions_0x77.html | 7 +- doc/html/functions_0x7e.html | 43 +- doc/html/functions_enum.html | 8 +- doc/html/functions_eval.html | 18 +- doc/html/functions_func.html | 24 +- doc/html/functions_func_0x62.html | 6 +- doc/html/functions_func_0x63.html | 26 +- doc/html/functions_func_0x64.html | 26 +- doc/html/functions_func_0x65.html | 12 +- doc/html/functions_func_0x67.html | 6 - doc/html/functions_func_0x68.html | 2 +- doc/html/functions_func_0x69.html | 23 +- doc/html/functions_func_0x6a.html | 2 +- doc/html/functions_func_0x6c.html | 16 +- doc/html/functions_func_0x6d.html | 18 +- doc/html/functions_func_0x6e.html | 6 +- doc/html/functions_func_0x6f.html | 42 +- doc/html/functions_func_0x70.html | 6 +- doc/html/functions_func_0x71.html | 4 +- doc/html/functions_func_0x72.html | 57 +- doc/html/functions_func_0x73.html | 30 +- doc/html/functions_func_0x74.html | 74 +- doc/html/functions_func_0x75.html | 14 +- doc/html/functions_func_0x77.html | 7 +- doc/html/functions_func_0x7e.html | 43 +- doc/html/functions_rela.html | 10 +- doc/html/functions_type.html | 26 +- doc/html/functions_vars.html | 12 +- doc/html/globals.html | 22 +- doc/html/globals_func.html | 22 +- doc/html/hierarchy.html | 267 +- doc/html/modules.html | 12 +- doc/html/namespacemembers.html | 34 +- doc/html/namespacemembers_enum.html | 4 +- doc/html/namespacemembers_eval.html | 8 +- doc/html/namespacemembers_func.html | 18 +- doc/html/namespacemembers_type.html | 4 +- doc/html/namespaces.html | 4 +- .../concurrent_hash_map/count_strings/readme.html | 2 +- .../shortpath/readme.html | 2 +- examples/graph/binpack/readme.html | 2 +- examples/graph/index.html | 2 +- examples/graph/logic_sim/readme.html | 2 +- examples/index.html | 4 +- examples/parallel_do/parallel_preorder/readme.html | 2 +- examples/parallel_for/seismic/readme.html | 2 +- examples/parallel_reduce/convex_hull/readme.html | 6 +- examples/parallel_reduce/primes/readme.html | 2 +- examples/pipeline/square/readme.html | 2 +- examples/task_arena/fractal/readme.html | 2 +- examples/task_group/sudoku/readme.html | 2 +- include/tbb/flow_graph.h | 483 +--- include/tbb/internal/_flow_graph_body_impl.h | 320 +++ include/tbb/internal/_flow_graph_cache_impl.h | 562 ++++ include/tbb/internal/_flow_graph_impl.h | 1082 +++----- include/tbb/internal/_tbb_strings.h | 3 + include/tbb/internal/_tbb_trace_impl.h | 60 + include/tbb/parallel_for.h | 18 +- include/tbb/parallel_reduce.h | 136 +- include/tbb/parallel_scan.h | 68 +- include/tbb/partitioner.h | 3 + include/tbb/task_arena.h | 2 + include/tbb/tbb_config.h | 12 +- include/tbb/tbb_stddef.h | 2 +- src/tbb/arena.cpp | 99 +- src/tbb/market.cpp | 7 +- src/test/harness_defs.h | 2 + src/test/harness_graph.h | 42 + src/test/test_allocator_STL.h | 2 +- src/test/test_overwrite_node.cpp | 7 + src/test/test_parallel_reduce.cpp | 174 +- src/test/test_parallel_scan.cpp | 313 ++- src/test/test_task_arena.cpp | 81 +- src/test/test_tbb_version.cpp | 2 +- src/test/test_write_once_node.cpp | 7 + 512 files changed, 14904 insertions(+), 14218 deletions(-) create mode 100644 cmake/tbb_config_generator.cmake create mode 100644 doc/html/a00078.png delete mode 100644 doc/html/a00079.png delete mode 100644 doc/html/a00082.png create mode 100644 doc/html/a00084.png create mode 100644 doc/html/a00085.png delete mode 100644 doc/html/a00090.png rename doc/html/{a00094.png => a00092.png} (100%) delete mode 100644 doc/html/a00095.png create mode 100644 doc/html/a00097.png create mode 100644 doc/html/a00100.png delete mode 100644 doc/html/a00103.png rename doc/html/{a00107.png => a00105.png} (100%) delete mode 100644 doc/html/a00106.png create mode 100644 doc/html/a00109.png rename doc/html/{a00112.png => a00110.png} (100%) delete mode 100644 doc/html/a00113.png create mode 100644 doc/html/a00122.png rename doc/html/{a00125.png => a00123.png} (100%) delete mode 100644 doc/html/a00126.png rename doc/html/{a00130.png => a00128.png} (100%) create mode 100644 doc/html/a00131.png create mode 100644 doc/html/a00132.png delete mode 100644 doc/html/a00146.png rename doc/html/{a00150.png => a00148.png} (100%) create mode 100644 doc/html/a00152.png delete mode 100644 doc/html/a00156.png delete mode 100644 doc/html/a00157.png rename doc/html/{a00160.png => a00158.png} (100%) create mode 100644 doc/html/a00161.png create mode 100644 doc/html/a00162.png delete mode 100644 doc/html/a00166.png rename doc/html/{a00170.png => a00168.png} (100%) delete mode 100644 doc/html/a00169.png create mode 100644 doc/html/a00171.png rename doc/html/{a00174.png => a00172.png} (100%) delete mode 100644 doc/html/a00174.html delete mode 100644 doc/html/a00175.html delete mode 100644 doc/html/a00175.png rename doc/html/{a00193.html => a00191.html} (65%) rename doc/html/{a00198.html => a00196.html} (87%) rename doc/html/{a00217.html => a00215.html} (89%) rename doc/html/{a00236.html => a00234.html} (98%) rename doc/html/{a00239.html => a00237.html} (79%) create mode 100644 doc/html/a00257.html create mode 100644 doc/html/a00258.html create mode 100644 doc/html/a00259.html delete mode 100644 doc/html/a00263.html create mode 100644 doc/html/a00266.html delete mode 100644 doc/html/a00414.html delete mode 100644 doc/html/a00415.html delete mode 100644 doc/html/a00416.html delete mode 100644 doc/html/a00417.html delete mode 100644 doc/html/a00418.html create mode 100644 include/tbb/internal/_flow_graph_body_impl.h create mode 100644 include/tbb/internal/_flow_graph_cache_impl.h create mode 100644 include/tbb/internal/_tbb_trace_impl.h diff --git a/CHANGES b/CHANGES index f495d99..aa7f126 100644 --- a/CHANGES +++ b/CHANGES @@ -2,6 +2,26 @@ The list of most significant changes made over time in Intel(R) Threading Building Blocks (Intel(R) TBB). +Intel TBB 2018 Update 1 +TBB_INTERFACE_VERSION == 10001 + +Changes (w.r.t. Intel TBB 2018): + +- Added lambda-friendly overloads for parallel_scan. +- Added support of static and simple partitioners in + parallel_deterministic_reduce. + +Preview Features: + +- Added initial support for Flow Graph Analyzer to parallel_for. +- Added reservation support in overwrite_node and write_once_node. + +Bugs fixed: + +- Fixed a potential deadlock scenario in the flow graph that affected + Intel TBB 2018. + +------------------------------------------------------------------------ Intel TBB 2018 TBB_INTERFACE_VERSION == 10000 @@ -19,7 +39,7 @@ Changes (w.r.t. Intel TBB 2017 Update 7): move-only functors. - A flow graph now spawns all tasks into the same task arena, and waiting for graph completion also happens in that arena. -- Improved support for Flow Graph Advisor in async_node, opencl_node, +- Improved support for Flow Graph Analyzer in async_node, opencl_node, and composite_node. - Added support for Android* NDK r15, r15b. - Added support for Universal Windows Platform. @@ -55,6 +75,17 @@ Bugs fixed: TBBMALLOC_CLEAN_ALL_BUFFERS is used. ------------------------------------------------------------------------ +Intel TBB 2017 Update 8 +TBB_INTERFACE_VERSION == 9108 + +Changes (w.r.t. Intel TBB 2017 Update 7): + +Bugs fixed: + +- Fixed an assertion failure in debug tbbmalloc binaries when + TBBMALLOC_CLEAN_ALL_BUFFERS is used. + +------------------------------------------------------------------------ Intel TBB 2017 Update 7 TBB_INTERFACE_VERSION == 9107 diff --git a/README.md b/README.md index 1ca379d..3e86387 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ -# Intel(R) Threading Building Blocks 2018 -[![Stable release](https://img.shields.io/badge/version-2018-green.svg)](https://github.com/01org/tbb/releases/tag/2018) +# Intel(R) Threading Building Blocks 2018 Update 1 +[![Stable release](https://img.shields.io/badge/version-2018_U1-green.svg)](https://github.com/01org/tbb/releases/tag/2018_U1) [![Apache License Version 2.0](https://img.shields.io/badge/license-Apache_2.0-green.svg)](LICENSE) Intel(R) Threading Building Blocks (Intel(R) TBB) lets you easily write parallel C++ programs that take diff --git a/cmake/TBBMakeConfig.cmake b/cmake/TBBMakeConfig.cmake index 6d25db0..b689912 100644 --- a/cmake/TBBMakeConfig.cmake +++ b/cmake/TBBMakeConfig.cmake @@ -19,7 +19,7 @@ # # Usage: # include(TBBMakeConfig.cmake) -# tbb_make_config(TBB_ROOT SYSTEM_NAME CONFIG_DIR [CONFIG_FOR_SOURCE TBB_RELEASE_DIR TBB_DEBUG_DIR ]) +# tbb_make_config(TBB_ROOT SYSTEM_NAME CONFIG_DIR [SAVE_TO] [CONFIG_FOR_SOURCE TBB_RELEASE_DIR TBB_DEBUG_DIR ]) # include(CMakeParseArguments) @@ -29,7 +29,7 @@ include(CMakeParseArguments) set(_tbb_cmake_module_path ${CMAKE_CURRENT_LIST_DIR}) function(tbb_make_config) - set(oneValueArgs TBB_ROOT SYSTEM_NAME CONFIG_DIR TBB_RELEASE_DIR TBB_DEBUG_DIR) + set(oneValueArgs TBB_ROOT SYSTEM_NAME CONFIG_DIR SAVE_TO TBB_RELEASE_DIR TBB_DEBUG_DIR) set(options CONFIG_FOR_SOURCE) cmake_parse_arguments(tbb_MK "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) @@ -38,7 +38,12 @@ function(tbb_make_config) set(tbb_system_name ${tbb_MK_SYSTEM_NAME}) endif() - file(MAKE_DIRECTORY ${tbb_MK_TBB_ROOT}/cmake) + set(tbb_config_dir ${tbb_MK_TBB_ROOT}/cmake) + if (tbb_MK_SAVE_TO) + set(tbb_config_dir ${tbb_MK_SAVE_TO}) + endif() + + file(MAKE_DIRECTORY ${tbb_config_dir}) set(TBB_DEFAULT_COMPONENTS tbb tbbmalloc tbbmalloc_proxy) @@ -142,6 +147,8 @@ endif()") set(TBB_LIB_PREFIX "lib") set(TBB_LIB_EXT "so") set(TBB_CHOOSE_COMPILER_SUBDIR "set(_tbb_compiler_subdir .)") + else() + message(FATAL_ERROR "Unsupported OS name: ${tbb_system_name}") endif() file(READ "${tbb_MK_TBB_ROOT}/include/tbb/tbb_stddef.h" _tbb_stddef) @@ -155,8 +162,8 @@ endif()") else() set(_tbb_config_template TBBConfig.cmake.in) endif() - configure_file(${_tbb_cmake_module_path}/templates/${_tbb_config_template} ${tbb_MK_TBB_ROOT}/cmake/TBBConfig.cmake @ONLY) - configure_file(${_tbb_cmake_module_path}/templates/TBBConfigVersion.cmake.in ${tbb_MK_TBB_ROOT}/cmake/TBBConfigVersion.cmake @ONLY) + configure_file(${_tbb_cmake_module_path}/templates/${_tbb_config_template} ${tbb_config_dir}/TBBConfig.cmake @ONLY) + configure_file(${_tbb_cmake_module_path}/templates/TBBConfigVersion.cmake.in ${tbb_config_dir}/TBBConfigVersion.cmake @ONLY) - set(${tbb_MK_CONFIG_DIR} ${tbb_MK_TBB_ROOT}/cmake PARENT_SCOPE) + set(${tbb_MK_CONFIG_DIR} ${tbb_config_dir} PARENT_SCOPE) endfunction() diff --git a/cmake/tbb_config_generator.cmake b/cmake/tbb_config_generator.cmake new file mode 100644 index 0000000..2d23f00 --- /dev/null +++ b/cmake/tbb_config_generator.cmake @@ -0,0 +1,45 @@ +# Copyright (c) 2017 Intel Corporation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# +# +# + +function(tbb_conf_gen_print_help) + message("Usage: cmake -DTBB_ROOT= -DTBB_OS=Linux|Windows|Darwin [-DSAVE_TO=] -P tbb_config_generator.cmake") +endfunction() + +if (NOT DEFINED TBB_ROOT) + tbb_conf_gen_print_help() + message(FATAL_ERROR "Required parameter TBB_ROOT is not defined") +endif() + +if (NOT EXISTS "${TBB_ROOT}") + tbb_conf_gen_print_help() + message(FATAL_ERROR "TBB_ROOT=${TBB_ROOT} does not exist") +endif() + +if (NOT DEFINED TBB_OS) + tbb_conf_gen_print_help() + message(FATAL_ERROR "Required parameter TBB_OS is not defined") +endif() + +if (DEFINED SAVE_TO) + set(tbb_conf_gen_save_to_param SAVE_TO ${SAVE_TO}) +endif() + +include(${CMAKE_CURRENT_LIST_DIR}/TBBMakeConfig.cmake) +tbb_make_config(TBB_ROOT ${TBB_ROOT} CONFIG_DIR tbb_config_dir SYSTEM_NAME ${TBB_OS} ${tbb_conf_gen_save_to_param}) + +message(STATUS "TBBConfig files were created in ${tbb_config_dir}") diff --git a/doc/html/a00008.html b/doc/html/a00008.html index 1654a2c..8744471 100644 --- a/doc/html/a00008.html +++ b/doc/html/a00008.html @@ -34,7 +34,7 @@
__TBB_malloc_proxy_caller Struct Reference
diff --git a/doc/html/a00009.html b/doc/html/a00009.html index b64e416..f6e9c64 100644 --- a/doc/html/a00009.html +++ b/doc/html/a00009.html @@ -33,14 +33,14 @@
tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor Class Reference
@@ -118,7 +118,7 @@ bool is_writer ()   - Protected Attributes inherited from tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor -nodemy_node +nodemy_node   hashcode_t my_hash diff --git a/doc/html/a00010.html b/doc/html/a00010.html index afc448b..75cdd50 100644 --- a/doc/html/a00010.html +++ b/doc/html/a00010.html @@ -33,13 +33,13 @@
tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor_not_used Struct Reference
diff --git a/doc/html/a00011.html b/doc/html/a00011.html index e04bbc6..308734e 100644 --- a/doc/html/a00011.html +++ b/doc/html/a00011.html @@ -33,13 +33,13 @@
tbb::interface6::aggregator Class Reference
diff --git a/doc/html/a00012.html b/doc/html/a00012.html index 220e568..d5df730 100644 --- a/doc/html/a00012.html +++ b/doc/html/a00012.html @@ -33,14 +33,14 @@
tbb::interface6::aggregator_ext< handler_type > Class Template Reference
diff --git a/doc/html/a00013.html b/doc/html/a00013.html index 9b0ce95..733234e 100644 --- a/doc/html/a00013.html +++ b/doc/html/a00013.html @@ -33,7 +33,7 @@ +List of all members
tbb::interface6::aggregator_operation Class Reference
diff --git a/doc/html/a00014.html b/doc/html/a00014.html index eba320a..8f58e64 100644 --- a/doc/html/a00014.html +++ b/doc/html/a00014.html @@ -33,15 +33,15 @@
-
tbb::aligned_space< T, N > Class Template Reference
+
tbb::aligned_space< T, N > Class Template Reference
diff --git a/doc/html/a00015.html b/doc/html/a00015.html index fb5bc5d..89cf124 100644 --- a/doc/html/a00015.html +++ b/doc/html/a00015.html @@ -33,7 +33,7 @@
+List of all members
tbb::flow::interface10::internal::async_helpers< T, typename > Struct Template Reference
@@ -71,7 +71,7 @@ static const T & from_ static T & from_void_ptr (void *p)   -static task * try_put_task_wrapper_impl (receiver< T > *const this_recv, const void *p, bool is_async) +static task * try_put_task_wrapper_impl (receiver< T > *const this_recv, const void *p, bool is_async)  

@@ -81,7 +81,7 @@ static const bool 

is_async
 

The documentation for this struct was generated from the following file:
diff --git a/doc/html/a00016.html b/doc/html/a00016.html index 507884a..2592905 100644 --- a/doc/html/a00016.html +++ b/doc/html/a00016.html @@ -33,7 +33,7 @@ +List of all members
tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type > Struct Template Reference
@@ -71,7 +71,7 @@ static const T & from_ static T & from_void_ptr (void *p)   -static task * try_put_task_wrapper_impl (receiver< T > *const this_recv, const void *p, bool is_async) +static task * try_put_task_wrapper_impl (receiver< T > *const this_recv, const void *p, bool is_async)  

@@ -81,7 +81,7 @@ static const bool 

is_async
 

The documentation for this struct was generated from the following file:
diff --git a/doc/html/a00017.html b/doc/html/a00017.html index 30a3065..b9f8435 100644 --- a/doc/html/a00017.html +++ b/doc/html/a00017.html @@ -33,7 +33,7 @@
@@ -47,11 +47,11 @@ Inheritance diagram for tbb::flow::interface10::async_msg< T >:
-tbb::flow::interface10::opencl_async_msg< T, Factory > +tbb::flow::interface10::opencl_async_msg< T, Factory >

The documentation for this class was generated from the following file:
diff --git a/doc/html/a00018.html b/doc/html/a00018.html index 5e7a3ff..53d4d94 100644 --- a/doc/html/a00018.html +++ b/doc/html/a00018.html @@ -33,7 +33,7 @@
@@ -42,7 +42,7 @@

The documentation for this class was generated from the following file:

diff --git a/doc/html/a00019.html b/doc/html/a00019.html index 21c8333..30e5794 100644 --- a/doc/html/a00019.html +++ b/doc/html/a00019.html @@ -33,15 +33,15 @@
-
tbb::atomic< T > Struct Template Reference
+
tbb::atomic< T > Struct Template Reference
diff --git a/doc/html/a00020.html b/doc/html/a00020.html index 2df9f5d..0d19646 100644 --- a/doc/html/a00020.html +++ b/doc/html/a00020.html @@ -33,13 +33,13 @@
tbb::atomic< void * > Struct Template Reference
diff --git a/doc/html/a00021.html b/doc/html/a00021.html index 4498392..14aed26 100644 --- a/doc/html/a00021.html +++ b/doc/html/a00021.html @@ -33,7 +33,7 @@
diff --git a/doc/html/a00022.html b/doc/html/a00022.html index 4495b56..524451b 100644 --- a/doc/html/a00022.html +++ b/doc/html/a00022.html @@ -33,13 +33,13 @@
tbb::bad_last_alloc Class Reference
diff --git a/doc/html/a00023.html b/doc/html/a00023.html index d0df5a5..401e718 100644 --- a/doc/html/a00023.html +++ b/doc/html/a00023.html @@ -33,13 +33,13 @@
tbb::interface6::internal::basic_handler Class Reference
diff --git a/doc/html/a00024.html b/doc/html/a00024.html index c1123a2..929ee25 100644 --- a/doc/html/a00024.html +++ b/doc/html/a00024.html @@ -33,13 +33,13 @@
tbb::interface6::internal::basic_operation< Body > Class Template Reference
diff --git a/doc/html/a00025.html b/doc/html/a00025.html index 271b0aa..b36c9b4 100644 --- a/doc/html/a00025.html +++ b/doc/html/a00025.html @@ -33,13 +33,13 @@
tbb::interface6::internal::basic_operation_base Class Referenceabstract
diff --git a/doc/html/a00026.html b/doc/html/a00026.html index e7d7f40..529f67f 100644 --- a/doc/html/a00026.html +++ b/doc/html/a00026.html @@ -33,7 +33,7 @@ +List of all members
-
tbb::blocked_range< Value > Class Template Reference
+
tbb::blocked_range< Value > Class Template Reference
diff --git a/doc/html/a00027.html b/doc/html/a00027.html index 3896e2a..4d69da2 100644 --- a/doc/html/a00027.html +++ b/doc/html/a00027.html @@ -33,7 +33,7 @@
+List of all members
-
tbb::blocked_range2d< RowValue, ColValue > Class Template Reference
+
tbb::blocked_range2d< RowValue, ColValue > Class Template Reference
diff --git a/doc/html/a00028.html b/doc/html/a00028.html index 78ee806..d07801a 100644 --- a/doc/html/a00028.html +++ b/doc/html/a00028.html @@ -33,7 +33,7 @@
+List of all members
-
tbb::blocked_range3d< PageValue, RowValue, ColValue > Class Template Reference
+
tbb::blocked_range3d< PageValue, RowValue, ColValue > Class Template Reference
diff --git a/doc/html/a00029.html b/doc/html/a00029.html index 9cb48eb..94c9290 100644 --- a/doc/html/a00029.html +++ b/doc/html/a00029.html @@ -33,7 +33,7 @@
@@ -42,7 +42,7 @@

The documentation for this class was generated from the following file:

diff --git a/doc/html/a00030.html b/doc/html/a00030.html index a705016..8a98322 100644 --- a/doc/html/a00030.html +++ b/doc/html/a00030.html @@ -33,13 +33,13 @@
tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor Class Reference
diff --git a/doc/html/a00031.html b/doc/html/a00031.html index 8b72f5e..70d3a34 100644 --- a/doc/html/a00031.html +++ b/doc/html/a00031.html @@ -33,7 +33,7 @@ +List of all members
-
tbb::cache_aligned_allocator< T > Class Template Reference
+
tbb::cache_aligned_allocator< T > Class Template Reference
@@ -54,7 +54,7 @@ - +

Classes

struct  rebind
struct  rebind
 
+opencl_device 

diff --git a/doc/html/a00032.html b/doc/html/a00032.html index 979dd1b..ce0c9fd 100644 --- a/doc/html/a00032.html +++ b/doc/html/a00032.html @@ -33,16 +33,16 @@
-
tbb::cache_aligned_allocator< void > Class Template Reference
+
tbb::cache_aligned_allocator< void > Class Template Reference
@@ -53,7 +53,7 @@ - +

Classes

struct  rebind
struct  rebind
 
- +

diff --git a/doc/html/a00033.html b/doc/html/a00033.html index 2b2f6a9..6e1e956 100644 --- a/doc/html/a00033.html +++ b/doc/html/a00033.html @@ -33,14 +33,14 @@
tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::call_clear_on_leave Struct Reference
diff --git a/doc/html/a00034.html b/doc/html/a00034.html index ac132aa..088a627 100644 --- a/doc/html/a00034.html +++ b/doc/html/a00034.html @@ -33,13 +33,13 @@
tbb::flow::interface10::callback< Callback, T > Class Template Reference
diff --git a/doc/html/a00035.html b/doc/html/a00035.html index 360be99..5e593ad 100644 --- a/doc/html/a00035.html +++ b/doc/html/a00035.html @@ -33,13 +33,13 @@
tbb::flow::interface10::callback_base Class Referenceabstract
diff --git a/doc/html/a00036.html b/doc/html/a00036.html index 5499c62..d2c9e01 100644 --- a/doc/html/a00036.html +++ b/doc/html/a00036.html @@ -33,13 +33,13 @@
tbb::captured_exception Class Reference
@@ -55,7 +55,7 @@ Inheritance diagram for tbb::captured_exception:
-tbb::tbb_exception +tbb::tbb_exception
@@ -94,14 +94,14 @@ void __TBB_EXPORTED_METHOD  - - - + + +
void __TBB_EXPORTED_METHOD clear () throw ()
 
- Public Member Functions inherited from tbb::tbb_exception
void operator delete (void *p)
 
- Public Member Functions inherited from tbb::tbb_exception
void operator delete (void *p)
 

Detailed Description

This class is used by TBB to propagate information about unhandled exceptions into the root thread.

Exception of this type is thrown by TBB in the root thread (thread that started a parallel algorithm ) if an unhandled exception was intercepted during the algorithm execution in one of the workers.

-
See Also
tbb::tbb_exception
+
See Also
tbb::tbb_exception

Member Function Documentation

@@ -133,7 +133,7 @@ void __TBB_EXPORTED_METHOD 
Destroys objects created by the move() method.

Frees memory and calls destructor for this exception object. Can and must be used only on objects created by the move method.

-

Implements tbb::tbb_exception.

+

Implements tbb::tbb_exception.

@@ -167,7 +167,7 @@ void __TBB_EXPORTED_METHOD 
Creates and returns pointer to the deep copy of this exception object.

Move semantics is allowed.

-

Implements tbb::tbb_exception.

+

Implements tbb::tbb_exception.

@@ -195,7 +195,7 @@ void __TBB_EXPORTED_METHOD 
Throws this exception object.

Make sure that if you have several levels of derivation from this interface you implement or override this method on the most derived level. The implementation is as simple as "throw *this;". Failure to do this will result in exception of a base class type being thrown.

-

Implements tbb::tbb_exception.

+

Implements tbb::tbb_exception.

diff --git a/doc/html/a00037.html b/doc/html/a00037.html index 22baf88..087b509 100644 --- a/doc/html/a00037.html +++ b/doc/html/a00037.html @@ -33,15 +33,15 @@
-
tbb::combinable< T > Class Template Reference
+
tbb::combinable< T > Class Template Reference
diff --git a/doc/html/a00038.html b/doc/html/a00038.html index f3d48e9..e913174 100644 --- a/doc/html/a00038.html +++ b/doc/html/a00038.html @@ -33,7 +33,7 @@
diff --git a/doc/html/a00039.html b/doc/html/a00039.html index 62b419f..6050f1a 100644 --- a/doc/html/a00039.html +++ b/doc/html/a00039.html @@ -33,7 +33,7 @@
+List of all members
-
tbb::concurrent_bounded_queue< T, A > Class Template Reference
+
tbb::concurrent_bounded_queue< T, A > Class Template Reference
diff --git a/doc/html/a00040.html b/doc/html/a00040.html index ca71f92..6583659 100644 --- a/doc/html/a00040.html +++ b/doc/html/a00040.html @@ -33,7 +33,7 @@
+List of all members
-
tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A > Class Template Reference
+
tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A > Class Template Reference
@@ -80,7 +80,7 @@ Classes
class  const_accessor
 Combines data access, locking, and garbage collection. More...
 
struct  node
struct  node
 
+rebind< node >::other 

@@ -310,7 +310,7 @@ void 

typedef Allocator::template
-rebind< node >::other 
node_allocator_type
node_allocator_type
 
void  +node *  +bool  +static node *  +static node *  - + +static node *  +static node

@@ -319,13 +319,13 @@ Protected Member Functions

delete_node (node_base *n)
 
-nodesearch_bucket (const key_type &key, bucket *b) const
search_bucket (const key_type &key, bucket *b) const
 
void rehash_bucket (bucket *b_new, const hashcode_t h)
 
-bool lookup (bool op_insert, const Key &key, const T *t, const_accessor *result, bool write, node *(*allocate_node)(node_allocator_type &, const Key &, const T *), node *tmp_n=0)
lookup (bool op_insert, const Key &key, const T *t, const_accessor *result, bool write, node *(*allocate_node)(node_allocator_type &, const Key &, const T *), node *tmp_n=0)
 Insert or find item and optionally acquire a lock on the item.
 
@@ -360,20 +360,20 @@ template<typename I >

Static Protected Member Functions

-static nodeallocate_node_copy_construct (node_allocator_type &allocator, const Key &key, const T *t)
allocate_node_copy_construct (node_allocator_type &allocator, const Key &key, const T *t)
 
-static nodeallocate_node_move_construct (node_allocator_type &allocator, const Key &key, const T *t)
allocate_node_move_construct (node_allocator_type &allocator, const Key &key, const T *t)
 
template<typename... Args>
static nodeallocate_node_emplace_construct (node_allocator_type &allocator, Args &&...args)
static nodeallocate_node_emplace_construct (node_allocator_type &allocator, Args &&...args)
 
-static nodeallocate_node_default_construct (node_allocator_type &allocator, const Key &key, const T *)
allocate_node_default_construct (node_allocator_type &allocator, const Key &key, const T *)
 
-static nodedo_not_allocate_node (node_allocator_type &, const Key &, const T *)
do_not_allocate_node (node_allocator_type &, const Key &, const T *)
 
+node *  diff --git a/doc/html/a00052.html b/doc/html/a00052.html index 3a089c8..92b6860 100644 --- a/doc/html/a00052.html +++ b/doc/html/a00052.html @@ -33,7 +33,7 @@
@@ -49,7 +49,7 @@

Detailed Description

An empty class used for messages that mean "I'm done".


The documentation for this class was generated from the following file:

diff --git a/doc/html/a00053.html b/doc/html/a00053.html index bf4e169..272147a 100644 --- a/doc/html/a00053.html +++ b/doc/html/a00053.html @@ -33,7 +33,7 @@ +List of all members
tbb::flow::interface10::continue_receiver Class Referenceabstract
@@ -59,8 +59,8 @@ Inheritance diagram for tbb::flow::interface10::continue_receiver:
-tbb::flow::interface10::receiver< continue_msg > -tbb::flow::interface10::internal::untyped_receiver +tbb::flow::interface10::receiver< continue_msg > +tbb::flow::interface10::internal::untyped_receiver

diff --git a/doc/html/a00041.html b/doc/html/a00041.html index ed5c6c2..405c4df 100644 --- a/doc/html/a00041.html +++ b/doc/html/a00041.html @@ -33,7 +33,7 @@ +List of all members
tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type > Class Template Reference
diff --git a/doc/html/a00042.html b/doc/html/a00042.html index ac0b4ac..7961927 100644 --- a/doc/html/a00042.html +++ b/doc/html/a00042.html @@ -33,7 +33,7 @@ +List of all members
tbb::interface5::concurrent_priority_queue< T, Compare, A > Class Template Reference
diff --git a/doc/html/a00043.html b/doc/html/a00043.html index f357cdb..52d8d2e 100644 --- a/doc/html/a00043.html +++ b/doc/html/a00043.html @@ -33,7 +33,7 @@ +List of all members
-
tbb::strict_ppl::concurrent_queue< T, A > Class Template Reference
+
tbb::strict_ppl::concurrent_queue< T, A > Class Template Reference
diff --git a/doc/html/a00044.html b/doc/html/a00044.html index 27599e7..e46e07a 100644 --- a/doc/html/a00044.html +++ b/doc/html/a00044.html @@ -33,14 +33,14 @@
tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator > Class Template Reference
diff --git a/doc/html/a00045.html b/doc/html/a00045.html index bfdb1b1..5ce26f8 100644 --- a/doc/html/a00045.html +++ b/doc/html/a00045.html @@ -33,7 +33,7 @@ +List of all members
tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping > Class Template Reference
diff --git a/doc/html/a00046.html b/doc/html/a00046.html index 29c7bfc..c111281 100644 --- a/doc/html/a00046.html +++ b/doc/html/a00046.html @@ -33,14 +33,14 @@
tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator > Class Template Reference
diff --git a/doc/html/a00047.html b/doc/html/a00047.html index dbe3225..0bd741a 100644 --- a/doc/html/a00047.html +++ b/doc/html/a00047.html @@ -33,14 +33,14 @@
tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator > Class Template Reference
diff --git a/doc/html/a00048.html b/doc/html/a00048.html index 90310c9..41accdd 100644 --- a/doc/html/a00048.html +++ b/doc/html/a00048.html @@ -33,14 +33,14 @@
tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator > Class Template Reference
diff --git a/doc/html/a00049.html b/doc/html/a00049.html index d2a8f76..dfe7ecb 100644 --- a/doc/html/a00049.html +++ b/doc/html/a00049.html @@ -33,7 +33,7 @@ +List of all members
tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping > Class Template Reference
diff --git a/doc/html/a00050.html b/doc/html/a00050.html index 39656f2..9d73c58 100644 --- a/doc/html/a00050.html +++ b/doc/html/a00050.html @@ -33,7 +33,7 @@ +List of all members
-
tbb::concurrent_vector< T, A > Class Template Reference
+
tbb::concurrent_vector< T, A > Class Template Reference
diff --git a/doc/html/a00051.html b/doc/html/a00051.html index 4d75d3e..e8ec318 100644 --- a/doc/html/a00051.html +++ b/doc/html/a00051.html @@ -33,7 +33,7 @@
+List of all members
tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor Class Reference
@@ -107,7 +107,7 @@ bool 

is_writer ()

Protected Attributes

-nodemy_node
my_node
 
hashcode_t my_hash
@@ -71,61 +71,61 @@ typedef continue_msg  +typedef receiver< input_type >
+::predecessor_type  +< predecessor_type >  - - - - - - - - + + + + + + + - - - - - + + + + - - + + - - - - - - + + + + + - - + + - +
 The input type.
 
-typedef receiver< input_type >
-::predecessor_type 
predecessor_type
predecessor_type
 The predecessor type for this node.
 
typedef
internal::edge_container
-< predecessor_type
built_predecessors_type
built_predecessors_type
 
typedef
built_predecessors_type::edge_list_type 
predecessor_list_type
 
- Public Types inherited from tbb::flow::interface10::receiver< continue_msg >
-typedef continue_msg input_type
 The input type of this receiver.
 
-typedef continue_msg input_type
 The input type of this receiver.
 
+
- Public Types inherited from tbb::flow::interface10::receiver< continue_msg >
+typedef continue_msg input_type
 The input type of this receiver.
 
+typedef continue_msg input_type
 The input type of this receiver.
 
typedef
internal::async_helpers
< continue_msg >
::filtered_type 
filtered_type
 
-typedef sender< continue_msgpredecessor_type
 The predecessor type for this node.
 
+
 
+typedef sender< continue_msgpredecessor_type
 The predecessor type for this node.
 
typedef
internal::edge_container
-< predecessor_type
built_predecessors_type
 
+< predecessor_typebuilt_predecessors_type
 
typedef
built_predecessors_type::edge_list_type 
predecessor_list_type
 
- Public Types inherited from tbb::flow::interface10::internal::untyped_receiver
-typedef untyped_sender predecessor_type
 The predecessor type for this node.
 
+
 
- Public Types inherited from tbb::flow::interface10::internal::untyped_receiver
+typedef untyped_sender predecessor_type
 The predecessor type for this node.
 
typedef
internal::edge_container
-< predecessor_type
built_predecessors_type
 
+< predecessor_typebuilt_predecessors_type
 
typedef
built_predecessors_type::edge_list_type 
predecessor_list_type
 
 
@@ -138,20 +138,20 @@ Public Member Functions +bool  - + +void  +void  @@ -159,32 +159,32 @@ void  - - - - - + + + + - - - - - - - - - - - - + + + + + + + + + + + - - - + + +

Public Member Functions

 Copy constructor.
 
-bool register_predecessor (predecessor_type &) __TBB_override
register_predecessor (predecessor_type &) __TBB_override
 Increments the trigger threshold.
 
bool remove_predecessor (predecessor_type &) __TBB_override
bool remove_predecessor (predecessor_type &) __TBB_override
 Decrements the trigger threshold. More...
 
built_predecessors_typebuilt_predecessors () __TBB_override
 
-void internal_add_built_predecessor (predecessor_type &s) __TBB_override
internal_add_built_predecessor (predecessor_type &s) __TBB_override
 
-void internal_delete_built_predecessor (predecessor_type &s) __TBB_override
internal_delete_built_predecessor (predecessor_type &s) __TBB_override
 
void copy_predecessors (predecessor_list_type &v) __TBB_override
copy_predecessors
size_t predecessor_count () __TBB_override
 
- Public Member Functions inherited from tbb::flow::interface10::receiver< continue_msg >
-bool try_put (const typename internal::async_helpers< continue_msg >::filtered_type &t)
 Put an item to the receiver.
 
+
- Public Member Functions inherited from tbb::flow::interface10::receiver< continue_msg >
+bool try_put (const typename internal::async_helpers< continue_msg >::filtered_type &t)
 Put an item to the receiver.
 
bool try_put (const typename internal::async_helpers< continue_msg >::async_type &t)
 
-bool try_put (const continue_msg &t)
 Put an item to the receiver.
 
-virtual ~receiver ()
 Destructor.
 
- Public Member Functions inherited from tbb::flow::interface10::internal::untyped_receiver
-virtual ~untyped_receiver ()
 Destructor.
 
+
 
+bool try_put (const continue_msg &t)
 Put an item to the receiver.
 
+virtual ~receiver ()
 Destructor.
 
- Public Member Functions inherited from tbb::flow::interface10::internal::untyped_receiver
+virtual ~untyped_receiver ()
 Destructor.
 
template<typename X >
bool try_put (const X &t)
 Put an item to the receiver.
 
bool try_put (const X &t)
 Put an item to the receiver.
 
@@ -202,18 +202,18 @@ void  - - + - - - - - + + + + - - + +

Protected Member Functions

bool is_continue_receiver () __TBB_override
 
- Protected Member Functions inherited from tbb::flow::interface10::receiver< continue_msg >
+
- Protected Member Functions inherited from tbb::flow::interface10::receiver< continue_msg >
virtual task * try_put_task_wrapper (const void *p, bool is_async) __TBB_override
 
-virtual graphgraph_reference ()=0
 
- Protected Member Functions inherited from tbb::flow::interface10::internal::untyped_receiver
+
 
+virtual graph & graph_reference ()=0
 
- Protected Member Functions inherited from tbb::flow::interface10::internal::untyped_receiver
template<typename X >
task * try_put_task (const X &t)
 
task * try_put_task (const X &t)
 
@@ -221,7 +221,7 @@ Protected Attributesbuilt_predecessors_type  +spin_mutex  @@ -282,7 +282,7 @@ template<typename TT , typename M >

Does whatever should happen when the threshold is reached.

-

This should be very fast or else spawn a task. This is called while the sender is blocked in the try_put().

+

This should be very fast or else spawn a task. This is called while the sender is blocked in the try_put().

Referenced by try_put_task().

@@ -298,7 +298,7 @@ template<typename TT , typename M >
- + @@ -313,12 +313,12 @@ template<typename TT , typename M >

Decrements the trigger threshold.

Does not check to see if the removal of the predecessor now makes the current count exceed the new threshold. So removing a predecessor while the graph is active can cause unexpected results.

-

Reimplemented from tbb::flow::interface10::receiver< continue_msg >.

+

Reimplemented from tbb::flow::interface10::receiver< continue_msg >.


The documentation for this class was generated from the following file:
diff --git a/doc/html/a00054.html b/doc/html/a00054.html index ecb6d4b..dccddfa 100644 --- a/doc/html/a00054.html +++ b/doc/html/a00054.html @@ -33,7 +33,7 @@ +List of all members
tbb::internal::critical_section_v4 Class Reference
@@ -57,7 +57,7 @@ Inheritance diagram for tbb::internal::critical_section_v4:

Protected Attributes

my_built_predecessors
 
-spin_mutex my_mutex
my_mutex
 
int my_predecessor_count
bool tbb::flow::interface10::continue_receiver::remove_predecessor (predecessor_typepredecessor_type )
- +

Classes

class  scoped_lock
class  scoped_lock
 
+opencl_device_list 

diff --git a/doc/html/a00055.html b/doc/html/a00055.html index c2b26da..ea772de 100644 --- a/doc/html/a00055.html +++ b/doc/html/a00055.html @@ -33,13 +33,13 @@
tbb::flow::interface10::opencl_info::default_device_filter Struct Reference
@@ -48,7 +48,7 @@

Public Member Functions

-opencl_device_list operator() (const opencl_device_list &devices)
operator() (const opencl_device_list &devices)
 

The documentation for this struct was generated from the following file:
    diff --git a/doc/html/a00056.html b/doc/html/a00056.html index 7ed83d2..b00ce45 100644 --- a/doc/html/a00056.html +++ b/doc/html/a00056.html @@ -33,13 +33,13 @@
tbb::flow::interface10::opencl_info::default_device_selector< Factory > Struct Template Reference
@@ -48,7 +48,7 @@

Public Member Functions

-opencl_device operator() (Factory &f)
operator() (Factory &f)
 

The documentation for this struct was generated from the following file:
    diff --git a/doc/html/a00057.html b/doc/html/a00057.html index 17a180e..1021bfe 100644 --- a/doc/html/a00057.html +++ b/doc/html/a00057.html @@ -33,14 +33,14 @@
tbb::flow::interface10::opencl_info::default_opencl_factory Class Reference
@@ -51,7 +51,7 @@ Inheritance diagram for tbb::flow::interface10::opencl_info::default_opencl_fact
-tbb::flow::interface10::opencl_factory< default_device_filter > +tbb::flow::interface10::opencl_factory< default_device_filter >
@@ -59,21 +59,21 @@ Inheritance diagram for tbb::flow::interface10::opencl_info::default_opencl_fact Public Types - + - - - - - - + + + + + - - - + + +
template<typename T >
using async_msg_type = opencl_async_msg< T, default_opencl_factory >
using async_msg_type = opencl_async_msg< T, default_opencl_factory >
 
- Public Types inherited from tbb::flow::interface10::opencl_factory< default_device_filter >
-using async_msg_type = opencl_async_msg< T, opencl_factory< default_device_filter >>
 
-typedef opencl_device device_type
 
+
- Public Types inherited from tbb::flow::interface10::opencl_factory< default_device_filter >
+using async_msg_type = opencl_async_msg< T, opencl_factory< default_device_filter >>
 
+typedef opencl_device device_type
 
typedef kernel kernel_type
 
-typedef opencl_range range_type
 
 
+typedef opencl_range range_type
 
@@ -83,25 +83,25 @@ Friends

Friends

- - - - - - - - - - - - - + + + + + + + + + + + + +

Additional Inherited Members

- Public Member Functions inherited from tbb::flow::interface10::opencl_factory< default_device_filter >
-bool init (const opencl_device_list &device_list)
 
-void send_kernel (opencl_device device, const kernel_type &kernel, const range_type &work_size, Args &...args)
 
-void send_data (opencl_device device, T &t, Rest &...args)
 
-void send_data (opencl_device)
 
-void finalize (opencl_device device, FinalizeFn fn, Args &...args)
 
-const opencl_device_listdevices ()
 
- Public Member Functions inherited from tbb::flow::interface10::opencl_factory< default_device_filter >
+bool init (const opencl_device_list &device_list)
 
+void send_kernel (opencl_device device, const kernel_type &kernel, const range_type &work_size, Args &...args)
 
+void send_data (opencl_device device, T &t, Rest &...args)
 
+void send_data (opencl_device)
 
+void finalize (opencl_device device, FinalizeFn fn, Args &...args)
 
+const opencl_device_listdevices ()
 

The documentation for this class was generated from the following file:
  • flow_graph_opencl_node.h
  • diff --git a/doc/html/a00058.html b/doc/html/a00058.html index 4f77a20..6eb75fc 100644 --- a/doc/html/a00058.html +++ b/doc/html/a00058.html @@ -33,7 +33,7 @@
diff --git a/doc/html/a00059.html b/doc/html/a00059.html index c428c8e..328ab63 100644 --- a/doc/html/a00059.html +++ b/doc/html/a00059.html @@ -33,13 +33,13 @@
tbb::flow::interface9::gfx_factory::dummy_device_selector Class Reference
diff --git a/doc/html/a00060.html b/doc/html/a00060.html index 144aa87..c0df6b1 100644 --- a/doc/html/a00060.html +++ b/doc/html/a00060.html @@ -33,14 +33,14 @@
tbb::flow::interface10::internal::edge_container< C > Class Template Reference
@@ -50,7 +50,7 @@ Public Types typedef std::list< C
-*, tbb::tbb_allocator< C * > > edge_list_type +*, tbb::tbb_allocator< C * > > edge_list_type  

@@ -80,7 +80,7 @@ template<typename R >

 

The documentation for this class was generated from the following file:
diff --git a/doc/html/a00061.html b/doc/html/a00061.html index 35f6642..3f9b596 100644 --- a/doc/html/a00061.html +++ b/doc/html/a00061.html @@ -33,14 +33,14 @@
tbb::concurrent_vector< T, A >::push_back_helper::element_construction_guard Struct Reference
diff --git a/doc/html/a00062.html b/doc/html/a00062.html index 6646bc3..ff1b5c9 100644 --- a/doc/html/a00062.html +++ b/doc/html/a00062.html @@ -33,7 +33,7 @@ +List of all members
-
tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type > Class Template Reference
+
tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type > Class Template Reference
diff --git a/doc/html/a00063.html b/doc/html/a00063.html index c88d526..72ad8c2 100644 --- a/doc/html/a00063.html +++ b/doc/html/a00063.html @@ -33,15 +33,15 @@
-
tbb::filter Class Reference
+
tbb::filter Class Reference
@@ -55,7 +55,7 @@ Inheritance diagram for tbb::filter:
-tbb::thread_bound_filter +tbb::thread_bound_filter
diff --git a/doc/html/a00064.html b/doc/html/a00064.html index 615bcbb..89a1b71 100644 --- a/doc/html/a00064.html +++ b/doc/html/a00064.html @@ -33,14 +33,14 @@
tbb::interface6::filter_t< T, U > Class Template Reference
diff --git a/doc/html/a00065.html b/doc/html/a00065.html index 0677acd..e461d3a 100644 --- a/doc/html/a00065.html +++ b/doc/html/a00065.html @@ -33,15 +33,16 @@
-
tbb::final_scan_tag Struct Reference
+
tbb::final_scan_tag Struct Reference
@@ -50,6 +51,12 @@

#include <parallel_scan.h>

+ + + +

+Public Member Functions

operator bool ()
 

Static Public Member Functions

diff --git a/doc/html/a00066.html b/doc/html/a00066.html index 0242697..c706bb5 100644 --- a/doc/html/a00066.html +++ b/doc/html/a00066.html @@ -33,13 +33,13 @@
tbb::interface6::fixed_pool Class Reference
@@ -65,7 +65,7 @@ Public Member Functions
 

The documentation for this class was generated from the following file:
diff --git a/doc/html/a00067.html b/doc/html/a00067.html index c3258e3..40203be 100644 --- a/doc/html/a00067.html +++ b/doc/html/a00067.html @@ -33,14 +33,14 @@
tbb::interface6::flattened2d< Container > Class Template Reference
diff --git a/doc/html/a00068.html b/doc/html/a00068.html index f26db82..7a76adb 100644 --- a/doc/html/a00068.html +++ b/doc/html/a00068.html @@ -33,14 +33,14 @@
tbb::interface6::flow_control Class Reference
diff --git a/doc/html/a00069.html b/doc/html/a00069.html index e5ec32e..25a75b2 100644 --- a/doc/html/a00069.html +++ b/doc/html/a00069.html @@ -33,14 +33,14 @@
tbb::flow::interface9::gfx_async_msg< T > Class Template Reference
diff --git a/doc/html/a00070.html b/doc/html/a00070.html index a27e478..7e820dc 100644 --- a/doc/html/a00070.html +++ b/doc/html/a00070.html @@ -33,14 +33,14 @@
tbb::flow::interface9::gfx_buffer< T > Class Template Reference
diff --git a/doc/html/a00071.html b/doc/html/a00071.html index 38f6fbe..53ca3db 100644 --- a/doc/html/a00071.html +++ b/doc/html/a00071.html @@ -33,7 +33,7 @@ +List of all members
tbb::flow::interface9::gfx_factory Class Reference
diff --git a/doc/html/a00072.html b/doc/html/a00072.html index 8c9b37e..9d2245b 100644 --- a/doc/html/a00072.html +++ b/doc/html/a00072.html @@ -33,7 +33,7 @@ +List of all members
tbb::interface9::global_control Class Reference
diff --git a/doc/html/a00073.html b/doc/html/a00073.html index 090868b..9c3a235 100644 --- a/doc/html/a00073.html +++ b/doc/html/a00073.html @@ -4,7 +4,7 @@ -tbb::flow::interface10::graph Class Reference +tbb::flow::interface10::graph_proxy Class Reference @@ -33,348 +33,47 @@
-
tbb::flow::interface10::graph Class Reference
+
tbb::flow::interface10::graph_proxy Class Referenceabstract
-

The graph class. +

Pure virtual template classes that define interfaces for async communication. More...

-

#include <flow_graph.h>

+

#include <flow_graph_abstractions.h>

-Inheritance diagram for tbb::flow::interface10::graph:
+Inheritance diagram for tbb::flow::interface10::graph_proxy:
- - -tbb::flow::interface10::graph_proxy + + +tbb::flow::interface10::receiver_gateway< Input >
- - - - - -

-Public Types

-typedef graph_iterator< graph,
-graph_node > 
iterator
 
-typedef graph_iterator< const
-graph, const graph_node > 
const_iterator
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

graph ()
 Constructs a graph with isolated task_group_context.
 
graph (task_group_context &use_this_context)
 Constructs a graph with use_this_context as context.
 
 ~graph ()
 Destroys the graph. More...
 
-void set_name (const char *name)
 
-void increment_wait_count ()
 
-void decrement_wait_count ()
 
void reserve_wait () __TBB_override
 Used to register that an external entity may still interact with the graph. More...
 
void release_wait () __TBB_override
 Deregisters an external entity that may have interacted with the graph. More...
 
template<typename Receiver , typename Body >
void run (Receiver &r, Body body)
 Spawns a task that runs a body and puts its output to a specific receiver. More...
 
template<typename Body >
void run (Body body)
 Spawns a task that runs a function object. More...
 
void wait_for_all ()
 Wait until graph is idle and decrement_wait_count calls equals increment_wait_count calls. More...
 
-task * root_task ()
 Returns the root task of the graph.
 
-iterator begin ()
 start iterator
 
-iterator end ()
 end iterator
 
-const_iterator begin () const
 start const iterator
 
-const_iterator end () const
 end const iterator
 
-const_iterator cbegin () const
 start const iterator
 
-const_iterator cend () const
 end const iterator
 
-bool is_cancelled ()
 return status of graph execution
 
-bool exception_thrown ()
 
-void reset (reset_flags f=rf_reset_protocol)
 
- - - - - - - - - - - - - - - - - - - + + + + + +

-Friends

-class graph_node
 
-template<typename C , typename N >
class graph_iterator
 
-void internal::activate_graph (graph &g)
 
-void internal::deactivate_graph (graph &g)
 
-bool internal::is_graph_active (graph &g)
 
-void internal::spawn_in_graph_arena (graph &g, tbb::task &arena_task)
 
-void internal::add_task_to_graph_reset_list (graph &g, task *tp)
 
-template<typename F >
void internal::execute_in_graph_arena (graph &g, F &f)
 
+virtual void reserve_wait ()=0
 Inform a graph that messages may come from outside, to prevent premature graph completion.
 
+virtual void release_wait ()=0
 Inform a graph that a previous call to reserve_wait is no longer in effect.
 

Detailed Description

-

The graph class.

-

This class serves as a handle to the graph

-

Constructor & Destructor Documentation

- -
-
- - - - - -
- - - - - - - -
tbb::flow::interface10::graph::~graph ()
-
-inline
-
- -

Destroys the graph.

-

Calls wait_for_all, then destroys the root task and context.

- -

References wait_for_all().

- -
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - -
void tbb::flow::interface10::graph::release_wait ()
-
-virtual
-
- -

Deregisters an external entity that may have interacted with the graph.

-
The graph will not return from wait_for_all until all the number of decrement_wait_count calls
-

matches the number of increment_wait_count calls.

- -

Implements tbb::flow::interface10::graph_proxy.

- -
-
- -
-
- - - - - -
- - - - - - - -
void tbb::flow::interface10::graph::reserve_wait ()
-
-virtual
-
- -

Used to register that an external entity may still interact with the graph.

-
The graph will not return from wait_for_all until a matching number of decrement_wait_count calls
-

is made.

- -

Implements tbb::flow::interface10::graph_proxy.

- -
-
- -
-
-
-template<typename Receiver , typename Body >
- - - - - -
- - - - - - - - - - - - - - - - - - -
void tbb::flow::interface10::graph::run (Receiver & r,
Body body 
)
-
-inline
-
- -

Spawns a task that runs a body and puts its output to a specific receiver.

-
The task is spawned as a child of the graph. This is useful for running tasks
-

that need to block a wait_for_all() on the graph. For example a one-off source.

- -

References root_task().

- -
-
- -
-
-
-template<typename Body >
- - - - - -
- - - - - - - - -
void tbb::flow::interface10::graph::run (Body body)
-
-inline
-
- -

Spawns a task that runs a function object.

-
The task is spawned as a child of the graph. This is useful for running tasks
-

that need to block a wait_for_all() on the graph. For example a one-off source.

- -

References root_task().

- -
-
- -
-
- - - - - -
- - - - - - - -
void tbb::flow::interface10::graph::wait_for_all ()
-
-inline
-
- -

Wait until graph is idle and decrement_wait_count calls equals increment_wait_count calls.

-

The waiting thread will go off and steal work while it is block in the wait_for_all.

- -

Referenced by ~graph().

- -
-
-
The documentation for this class was generated from the following file:
    -
  • flow_graph.h
  • +

    Pure virtual template classes that define interfaces for async communication.

    +

    The documentation for this class was generated from the following file:
      +
    • flow_graph_abstractions.h

    diff --git a/doc/html/a00073.png b/doc/html/a00073.png index bf8bf518aa8fe58dd1394d50e1b430903168aa16..4264e62e21f372470b2fb50b17117e6fb7a3b0ce 100644 GIT binary patch literal 1071 zcmeAS@N?(olHy`uVBq!ia0y~yV3Y^412~w0r1*!%A|NFZ;1lBd|Nnm=^TnI5rTvE{ z09jys;J^Xa&O0Ct93?@1!3;n}AaM0mh!Fz=^FB`($B+ufw{zbXJyzgx<)1!t&wu6o zq#QezqPID_Z$eSpR_ef%XrEA6#|}`|>_l z&U!Dm`0-7@`)X@WUgl0%X!Oy_f#KZO*7ZL&|JakK=VGL0H}}xfy(<{zFWp@e*J*FB z`te)Q_OCh3U)`sFH{0TSWxY|*qc`6VFa6P1^G)dPzVhpqlgqBZx%D=8O8!;<$|r>@ zO+)p2{bz5VcKpPPo7XOUmR$6uFIg@2eAI43vjeVsZ^wTtysY(m%G)Em4ji+a`}%m{ zEU|eFp4TKFbp2zVzj&=y%QfcQZ_0LOUy9AYZGAQTqo(}&IMg>V zHv3;0mYQ@HW@+-|FMfaF-Jhz(d+#}Neb}EeDfU_2rUmh5(*qd}zumU=y(yc)>)xgR zmi)4edVlv^np1+jv>9vEZ5f;xyjkTL!u#DBm_CTqFvQq? zWKm#nKgj;T$C3R&_y@)hqBRUPKo#)^smi^+{qf}DbN4;^=M?{QQ}Pb-m?Xw!H|dG? z506RfA1Hh7YwB0|xvJ*UxBdTL{R=W;{(I+9_}58GT2Hxr;+^(U^<{{;PwnHQKiq5L z%*E&B`qWspo<6!_Qb}O^+2>P#d=3`M*DsGgZx&HsQn+nl?xMP>6NS?E%j+F2f3i9B z#i?EODZF{wyKQeji)hw~yT9Yw|N8`;-4 z_eMKb|46WUVqvq>a{aYirUCy&ZpS+xxT>|=;PliptY+U{ZmP>^vzwp#Jo>WYgyw6z zC7kA;c%HGEYvHxub;YOBQ}14N6u%Q>>oYs}ws4!({)5Y{?mP{)i~BnxDFOTicQ%P|%?#GLNn_pT#vxdEW;`yxq6DO_73O!eOyZ6fd z`ZqsQ%VTFhzwzbo&#S+(?Pk0Rvn-6BAHTTyZG-aWcOr9zXY{{asMz;tlW)ckk4ycR z_sDr}vfB8|;K2FEn{yAxrFu-dI`g9blgrJMmh_ioeVP5!yzrw=QvwF c-*ZXcWw*6pfK!htFn2R}y85}Sb4q9e0LA(h{{R30 literal 1120 zcmeAS@N?(olHy`uVBq!ia0y~yU|a@d2XHV0$y8y*Mj#~-;1lBd|Nnm=^TnI5rTvE{ z09jys;J^Xa&O7ozE=Ng_UoZnu5eQs86=KA|!2I6R#WAFU@$KBV(?03&FtnHS-}x`Q zUo=B;%DZnLzbdmY?%V1hV9fSU$cf|gfqxOxQfIO|^%$OWTJ7nQA{H~bqoWdySax0H z((0NlImHs*-1`qM%c&|EDU`Q-W<31U)n(m>wX@!ti*LHhYdL+&R~xg{9Vg^%VuL#r z&+gFMlbb7jdP1*6a*Y_f@Ap4z&(GQaE8IWRxA%9uTJ1{B(l_}#RnG^%yQ+FT%XewQ zah2$F5GP|5lC*SJ3zxri?*U=K3=%}WJ>+{Y}2)R zw>nS9?psq;bpNt$ugOv?P5b%@e|Dwz_Pw9tWUF%5{Or#lp6w@OLr`~lO>jv2>MiS(-?P8^pnWJCeunXRGx z1G9mmc|&D^FT=H;KWARP{MKx$`gN9sxmPbunHT15Tv_DHz<0oXhR>xr?w3nuF{B+? z&3V8k&X?iY$1Em;{&3-j%006f&OE-#k|4KUjp4J;vX^DM?=E9G!1yEFrj+4XAy6e5 zxL+8U78wjwgZ~-<9V3T?=jC77@@1n>M%n5VYyD#9fZT)NG=j;Dn4UP(a{BPk*Rnw(?e|5J%sXVoJ*OQ2~D@Agu^cNnV z%1~01ZJH{4J9Yhrzd@!~|J6OYwn%yP3}|9vl=ygbcHHd1xdBXHO*=BZeW%X8XVZVR zMCi(T7Kg{Pns+g`?6%)Vm2TESNJK*RbgQ(md4r=52PAISy_mJ^Pb!dUgN%i -tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType > Class Template Reference +tbb::internal::tbb_thread_v3::id Class Reference @@ -33,91 +33,59 @@
-
tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType > Class Template Reference
+
tbb::internal::tbb_thread_v3::id Class Reference
- - - - - - - - - - - - - -

-Public Types

-typedef size_t size_type
 
-typedef GraphNodeType value_type
 
-typedef GraphNodeType * pointer
 
-typedef GraphNodeType & reference
 
-typedef const GraphNodeType & const_reference
 
-typedef std::forward_iterator_tag iterator_category
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

graph_iterator ()
 Default constructor.
 
graph_iterator (const graph_iterator &other)
 Copy constructor.
 
-graph_iteratoroperator= (const graph_iterator &other)
 Assignment.
 
-reference operator* () const
 Dereference.
 
-pointer operator-> () const
 Dereference.
 
-bool operator== (const graph_iterator &other) const
 Equality.
 
-bool operator!= (const graph_iterator &other) const
 Inequality.
 
-graph_iteratoroperator++ ()
 Pre-increment.
 
-graph_iterator operator++ (int)
 Post-increment.
 
- - - - + + + + + + + + + + + + + + + + + + + + + + +

Friends

-class graph
 
-class graph_node
 
+class tbb_thread_v3
 
+bool operator== (tbb_thread_v3::id x, tbb_thread_v3::id y) __TBB_NOEXCEPT(true)
 
+bool operator!= (tbb_thread_v3::id x, tbb_thread_v3::id y) __TBB_NOEXCEPT(true)
 
+bool operator< (tbb_thread_v3::id x, tbb_thread_v3::id y) __TBB_NOEXCEPT(true)
 
+bool operator<= (tbb_thread_v3::id x, tbb_thread_v3::id y) __TBB_NOEXCEPT(true)
 
+bool operator> (tbb_thread_v3::id x, tbb_thread_v3::id y) __TBB_NOEXCEPT(true)
 
+bool operator>= (tbb_thread_v3::id x, tbb_thread_v3::id y) __TBB_NOEXCEPT(true)
 
+template<class charT , class traits >
std::basic_ostream< charT,
+traits > & 
operator<< (std::basic_ostream< charT, traits > &out, tbb_thread_v3::id id)
 
+tbb_thread_v3::id
+__TBB_EXPORTED_FUNC 
thread_get_id_v3 ()
 
+size_t tbb_hasher (const tbb_thread_v3::id &id)
 
+id atomic_compare_and_swap (id &location, const id &value, const id &comparand)
 

The documentation for this class was generated from the following file:

diff --git a/doc/html/a00075.html b/doc/html/a00075.html index d41c943..c067a59 100644 --- a/doc/html/a00075.html +++ b/doc/html/a00075.html @@ -4,7 +4,7 @@ -tbb::flow::interface10::graph_proxy Class Reference +tbb::improper_lock Class Reference @@ -33,48 +33,41 @@
-
tbb::flow::interface10::graph_proxy Class Referenceabstract
+
tbb::improper_lock Class Reference
-

Pure virtual template classes that define interfaces for async communication. +

Exception for PPL locks. More...

-

#include <flow_graph_abstractions.h>

+

#include <tbb_exception.h>

-Inheritance diagram for tbb::flow::interface10::graph_proxy:
+Inheritance diagram for tbb::improper_lock:
- - -tbb::flow::interface10::graph -tbb::flow::interface10::receiver_gateway< Input > + +
- - - - - - + +

Public Member Functions

-virtual void reserve_wait ()=0
 Inform a graph that messages may come from outside, to prevent premature graph completion.
 
-virtual void release_wait ()=0
 Inform a graph that a previous call to reserve_wait is no longer in effect.
 
+const char * what () const __TBB_override throw ()
 

Detailed Description

-

Pure virtual template classes that define interfaces for async communication.

+

Exception for PPL locks.


The documentation for this class was generated from the following file:
    -
  • flow_graph_abstractions.h
  • +
  • tbb_exception.h

diff --git a/doc/html/a00075.png b/doc/html/a00075.png index 0cbecbb0874ee0b0a802a5acffa462a4d052ec0d..7f4f5571e678cab77f93f0ecf6ecf96ba1437811 100644 GIT binary patch delta 449 zcmV;y0Y3i53-1FViBL{Q4GJ0x0000DNk~Le0001U0000`2m=5B03D^eOpzfve*u0; zL_t(|0qvd9l7k=&MNeLO|NoCyMN2@f))CyDO~)fOK@MVQUokW53?@lk38y5r;g33p z0lpjK9;YOo=h!*yr+M759WR!~hBkelu3Su#_BnK>f%4%SllhhrzCB2_0DigQX9f4 zNo{z@X=c_JfNQ(}I`e?@_3AHuz&R+pOP_H5o4O4rKqJBl(1vgVv>}`TZ3rho8^Q_D zhHwJ3A)EjoF*EB72GEso0<_^#=g{PDJ`Zq#)r~oD`@u7y9x8a(hJSot7A+00000NkvXXu0mjfE40&e literal 1478 zcmb7^c~H|w6vuxFP>up(1d?(H69bA;uByQRh9iOe01;!jZ>UA&5QpHwQR9V@a3uxN zBA_J^F$DohI3g0Igb_stgowlhD5HoFjzCm!ApN1!e>>Bi+1!l}G8&Mn4 z^69%fE8aE+*C`wGTcmh?WW$hKYk4QK&g95gQ`M6+fh(We`yDAB%5g(7S~SlYh*PB% zV^^)XGPHzlNIj$c>9+!td*U(1*^9 z3Fs}k+C-g?-7a$e0iy|NMDyNDF*L&%qv5z_ zY5Q1M2@!sJbIg{YS~jH?-!t`TtWu*g^e&Wg(e2QW0@-Ui^%oBGy8kYR^G=#pty)Pu zD({hQw*wXC0K|y&gaC?mKNJI~rC*ZtTfxV~`bZ%feVS zl30cbOpMK=!vqtNYN>TiIgx&A?qyCyHb}laEi%BqFR}+~lZdN|p8chMLv0yrW$3jk z%)8v9i0v*%veGCZ&MTbVY8T96j6e$NoA=LJwCl@$rW}mL_GXq8O)106@1?dJ9;`UZ?6ez>L zy&e&<=X$i~ms1kITWdzI1m0h^>EX;1(cqL;D<5n7@lMpPaF_Jltdwv)LuZt^{?6Ph zBtK@1S|oQqhqXCrX8AR`GHSNjgI9m5>|IB_^0~R=gb?r${fADfM&|tMx<*Wpq{sQkmZ)_x~M+-;4VT?%AH*QL||g3bIpvE>e+L2 z3>f2MSL#x~juVzMhE~kO*gS(mm4detU89O(XKsV4KUCXKVwueCU7d%p2vJn0q_UR7 zAu@U(WPD>GGDHwEaEKyD2pPn`9F6<1$-a)9(!qr7WE;*kvhVbwrY-Y~gHlHk4Sl)* MNDLq}c*dUp2Ym3K7XSbN diff --git a/doc/html/a00076.html b/doc/html/a00076.html index 43cfeb9..dc13a91 100644 --- a/doc/html/a00076.html +++ b/doc/html/a00076.html @@ -4,7 +4,7 @@ -tbb::internal::tbb_thread_v3::id Class Reference +tbb::tick_count::interval_t Class Reference @@ -33,59 +33,69 @@
-
tbb::internal::tbb_thread_v3::id Class Reference
+
tbb::tick_count::interval_t Class Reference
+ +

Relative time interval. + More...

+ +

#include <tick_count.h>

+ + + + + + + + + + + + + + + + +

+Public Member Functions

interval_t ()
 Construct a time interval representing zero time duration.
 
interval_t (double sec)
 Construct a time interval representing sec seconds time duration.
 
+double seconds () const
 Return the length of a time interval in seconds.
 
+interval_toperator+= (const interval_t &i)
 Accumulation operator.
 
+interval_toperator-= (const interval_t &i)
 Subtraction operator.
 
- - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + +

Friends

-class tbb_thread_v3
 
-bool operator== (tbb_thread_v3::id x, tbb_thread_v3::id y) __TBB_NOEXCEPT(true)
 
-bool operator!= (tbb_thread_v3::id x, tbb_thread_v3::id y) __TBB_NOEXCEPT(true)
 
-bool operator< (tbb_thread_v3::id x, tbb_thread_v3::id y) __TBB_NOEXCEPT(true)
 
-bool operator<= (tbb_thread_v3::id x, tbb_thread_v3::id y) __TBB_NOEXCEPT(true)
 
-bool operator> (tbb_thread_v3::id x, tbb_thread_v3::id y) __TBB_NOEXCEPT(true)
 
-bool operator>= (tbb_thread_v3::id x, tbb_thread_v3::id y) __TBB_NOEXCEPT(true)
 
-template<class charT , class traits >
std::basic_ostream< charT,
-traits > & 
operator<< (std::basic_ostream< charT, traits > &out, tbb_thread_v3::id id)
 
-tbb_thread_v3::id
-__TBB_EXPORTED_FUNC 
thread_get_id_v3 ()
 
-size_t tbb_hasher (const tbb_thread_v3::id &id)
 
-id atomic_compare_and_swap (id &location, const id &value, const id &comparand)
 
+class tbb::tick_count
 
+interval_t operator- (const tick_count &t1, const tick_count &t0)
 Extract the intervals from the tick_counts and subtract them.
 
+interval_t operator+ (const interval_t &i, const interval_t &j)
 Add two intervals.
 
+interval_t operator- (const interval_t &i, const interval_t &j)
 Subtract two intervals.
 
-
The documentation for this class was generated from the following file:
    -
  • tbb_thread.h
  • +

    Detailed Description

    +

    Relative time interval.

    +

    The documentation for this class was generated from the following file:
      +
    • tick_count.h

diff --git a/doc/html/a00077.html b/doc/html/a00077.html index 4b16384..80d035e 100644 --- a/doc/html/a00077.html +++ b/doc/html/a00077.html @@ -4,7 +4,7 @@ -tbb::improper_lock Class Reference +tbb::invalid_multiple_scheduling Class Reference @@ -33,7 +33,7 @@
-
tbb::improper_lock Class Reference
+
tbb::invalid_multiple_scheduling Class Reference
-

Exception for PPL locks. +

Exception for repeated scheduling of the same task_handle. More...

#include <tbb_exception.h>

-Inheritance diagram for tbb::improper_lock:
+Inheritance diagram for tbb::invalid_multiple_scheduling:
- - + +
- - +

Public Member Functions

+
const char * what () const __TBB_override throw ()
 
 

Detailed Description

-

Exception for PPL locks.

+

Exception for repeated scheduling of the same task_handle.


The documentation for this class was generated from the following file:
  • tbb_exception.h
diff --git a/doc/html/a00077.png b/doc/html/a00077.png index 7f4f5571e678cab77f93f0ecf6ecf96ba1437811..ba8483c1cf060fa2603cfd6dbb3498dee4db5661 100644 GIT binary patch delta 593 zcmaFQ{EtPkGr-TCmrII^fq{Y7)59eQNbd#W01jp#S$(-BZla=9Jrl2|i(^Oy>y!XGfe0>4qLCN#0CNI^B-m-?n)7$l#nDOSsgDRN;hvFvHa8!GKdKmpJ zcpAGzS|f-wMg4~@~JQ&&opmq{B{%8 zJ9}N8A60oNWq$K~ef96soO+hupAs~`{i_WGDtWhN&X=q6R{Y+d`v2pZnfgy>e%}5@ zb>;cR4-dyp;*-1`H%U(Ujq1tv4bxTR)vAp*2QpSn5I?YiC-;9lniKrg!1Yqr`^zfLtDbUYJPys@)nY#*m^IUD^>j7flEYu#tbTX)L%sUU zV|DpaqAr0O_WB+=u~yJBd%tgN-Gchu{p;3grKkTF{?GY4ZqNVQ)e75xZFq5S?$-6M zbMxoxv+ex)_I3aBkh|vl*t>U^?zb<#)pPab72D!h4^7YhG+sVyqSAAZr#)%!8RtFv zCt`j}Up{KES7|SXYem9?)vj6UVS5bMau^E4~lOXYi87YoH@hxRNih? WanNc8mD#{l!rf%4%SllhhrzCB2_0DigQX9f4 zNo{z@X=c_JfNQ(}I`e?@_3AHuz&R+pOP_H5o4O4rKqJBl(1vgVv>}`TZ3rho8^Q_D zhHwJ3A)EjoF*EB72GEso0<_^#=g{PDJ`Zq#)r~oD`@u7y9x8a(hJSot7A+00000NkvXXu0mjffvnS| diff --git a/doc/html/a00078.html b/doc/html/a00078.html index 57fa90e..52fc71e 100644 --- a/doc/html/a00078.html +++ b/doc/html/a00078.html @@ -4,7 +4,7 @@ -tbb::tick_count::interval_t Class Reference +tbb::flow::interface10::opencl_factory< DeviceFilter >::kernel Class Reference @@ -33,69 +33,46 @@
-
tbb::tick_count::interval_t Class Reference
+
tbb::flow::interface10::opencl_factory< DeviceFilter >::kernel Class Reference
- -

Relative time interval. - More...

- -

#include <tick_count.h>

+
+Inheritance diagram for tbb::flow::interface10::opencl_factory< DeviceFilter >::kernel:
+
+
+ + + +
- - - - - - - - - - - - - - - + +

Public Member Functions

interval_t ()
 Construct a time interval representing zero time duration.
 
interval_t (double sec)
 Construct a time interval representing sec seconds time duration.
 
-double seconds () const
 Return the length of a time interval in seconds.
 
-interval_toperator+= (const interval_t &i)
 Accumulation operator.
 
-interval_toperator-= (const interval_t &i)
 Subtraction operator.
 
kernel (const kernel &k)
 
- - - - - - - - - - - + + + + + +

Friends

-class tbb::tick_count
 
-interval_t operator- (const tick_count &t1, const tick_count &t0)
 Extract the intervals from the tick_counts and subtract them.
 
-interval_t operator+ (const interval_t &i, const interval_t &j)
 Add two intervals.
 
-interval_t operator- (const interval_t &i, const interval_t &j)
 Subtract two intervals.
 
+template<typename DeviceFilter_ >
class opencl_factory
 
+template<typename Factory >
class opencl_program
 
-

Detailed Description

-

Relative time interval.

-

The documentation for this class was generated from the following file:
    -
  • tick_count.h
  • +
    The documentation for this class was generated from the following file:
      +
    • flow_graph_opencl_node.h

diff --git a/doc/html/a00078.png b/doc/html/a00078.png new file mode 100644 index 0000000000000000000000000000000000000000..390fec9182b0ebd240c6467c1746328b2e12b66a GIT binary patch literal 966 zcmeAS@N?(olHy`uVBq!ia0y~yU`zzE12~w0YLYUb!Y zt>Uj|tE%QC_1^|fht@MaZ{8{XZqgT*eF|;ok4|4w|J-_0i;C^kkcdf2U}bQIXQJ`u zBWHBj8W#Rw^k8W6Xk}#j`O~wL@eznMlf|!-@eq(D)KGYmgUy4%O*L6Ufl*>=Phta0 zLWoftP$KZ81gR2|`fX>=2pMlyFlb;=XbF)}n1qaDAHEFyca>T1+=7xV&dVYhWT*9o zce3vAH2q=laqq&ViOTdmd6_w*W;8*Z%Wdltj9{`%ns|E9U$jC+~yo~K)vR=6kZhJNAKvK_(e)^9JF z>R;A+Ud?QEN$e`$yuGDIblEQ%UQgrPeq1>J)w#aexh6kyihCZu3*53hXZ^C*#t$5< zpZh$_V!!?L_0AFiv#Ry<_Yhn|n_yX4zb=H@eLaBNne*{9)hGV|$Dv z;xDLq{#?EB{nFU|H}9u&<*!^Pe|WBQuIVn}!_PPWp7!@(-tr6m4~?EA?3=B6ODJM? z?z-1AuWq)vQ@md{Fg)^+n_S+z7q?SBn(%+I?@ZbmxohWTJ?EdkSMqj-u5wuYc3wtx$g$b0 z-`O0n|CIi_qRUxtCc_`|>%V6_z7QMKAjdEK<9E`JOeTAe#D;toQML|boDy{7jE -tbb::invalid_multiple_scheduling Class Reference +tbb::flow::interface10::limiter_node< T > Class Template Reference @@ -33,41 +33,16 @@
-
-
tbb::invalid_multiple_scheduling Class Reference
+
tbb::flow::interface10::limiter_node< T > Class Template Reference
- -

Exception for repeated scheduling of the same task_handle. - More...

- -

#include <tbb_exception.h>

-
-Inheritance diagram for tbb::invalid_multiple_scheduling:
-
-
- - - -
- - - - -

-Public Member Functions

-const char * what () const __TBB_override throw ()
 
-

Detailed Description

-

Exception for repeated scheduling of the same task_handle.

-

The documentation for this class was generated from the following file:
    -
  • tbb_exception.h
  • +
    The documentation for this class was generated from the following file:

diff --git a/doc/html/a00079.png b/doc/html/a00079.png deleted file mode 100644 index ba8483c1cf060fa2603cfd6dbb3498dee4db5661..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 638 zcmeAS@N?(olHy`uVBq!ia0vp^dx1EBgBeIxUv7y5QW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;_W8{<0j=jQ~Uk$ zg>PH2{r#M|zJGuHFADGRyyW_BWBk-2ZR^RW!hk%}ysh!uO<3>jb$NbN<)xJQ&GYru zze{siet$~P{PwRl5UAqanmJ#t&Rg+&f9n5_XJ+a@o%wnD8`YKP7e724H;GU3cHAU6 z{@Ia_!Idb zINxCYA%Kr7lbB|vBXM8>RQ=)pzgM3AKlPkJm;G|%ookjqfBvq`njfaUyW9RI^B0T9 zTh3RWlv|LvIsW{)mz#Lr-m~IW-?sbfvQry-pS5P{xN9WopYHB>8rwA|_^E;GrL6at zRhm~l<;r**n!l^Xenv2Brq}A}YP=c`%PY3UuO6D7{b{^>) -tbb::flow::interface10::opencl_factory< DeviceFilter >::kernel Class Reference +tbb::interface6::memory_pool< Alloc > Class Template Reference @@ -33,46 +33,49 @@
-
tbb::flow::interface10::opencl_factory< DeviceFilter >::kernel Class Reference
+
tbb::interface6::memory_pool< Alloc > Class Template Reference
+ +

Thread-safe growable pool allocator for variable-size requests. + More...

+ +

#include <memory_pool.h>

-Inheritance diagram for tbb::flow::interface10::opencl_factory< DeviceFilter >::kernel:
+Inheritance diagram for tbb::interface6::memory_pool< Alloc >:
- - + +
- - -

Public Member Functions

kernel (const kernel &k)
 
- - - - - - - + + + + + +

-Friends

-template<typename DeviceFilter_ >
class opencl_factory
 
-template<typename Factory >
class opencl_program
 
memory_pool (const Alloc &src=Alloc())
 construct pool with underlying allocator
 
~memory_pool ()
 destroy pool
 
-
The documentation for this class was generated from the following file:
    -
  • flow_graph_opencl_node.h
  • +

    Detailed Description

    +

    template<typename Alloc>
    +class tbb::interface6::memory_pool< Alloc >

    + +

    Thread-safe growable pool allocator for variable-size requests.

    +

    The documentation for this class was generated from the following file:
    diff --git a/doc/html/a00080.png b/doc/html/a00080.png index 390fec9182b0ebd240c6467c1746328b2e12b66a..040c525da839e5eac853d6e1a5792784458e9f56 100644 GIT binary patch delta 626 zcmX@cKA%;wGr-TCmrII^fq{Y7)59eQNIwGN01jp#X?!Mf_C!UidL}(j7srqa#AwWUjx~ zGxgdpTiX_?{AHc2Tey6EP@dP(v|TSeF0I|;UD&nj->hdTR^=)$4Ei={vB%Vvbw!<&5B81RBOTtH8t~Z>3F^p+O6SvkJHuj zlb?pyq;fS^@nCKM%LhLV zrV4ctMxYBBfZ7?}wbK{w3R!cVamxNI@$1q-oBy9WC$@2iompn!>%Fg+oAa9f)e5m=n7iQX z%@y_W{eWsSkekPT8D0!EeQ{Gv%VEb*)0*T>1S+(xQlY5?BHg}J{db4-J zis!3$PFd0Wh&%mb%*X4SZ-iZOZrHR)EOnzqURHwaLfcp*Xp4Nmv^ACWKy6KPQm`7syC>E{q7QOmf%v)o+L@e`ItKUhF4yq<+s43T#Ng@b K=d#Wzp$PyE=q7jo literal 966 zcmeAS@N?(olHy`uVBq!ia0y~yU`zzE12~w0YLYUb!Y zt>Uj|tE%QC_1^|fht@MaZ{8{XZqgT*eF|;ok4|4w|J-_0i;C^kkcdf2U}bQIXQJ`u zBWHBj8W#Rw^k8W6Xk}#j`O~wL@eznMlf|!-@eq(D)KGYmgUy4%O*L6Ufl*>=Phta0 zLWoftP$KZ81gR2|`fX>=2pMlyFlb;=XbF)}n1qaDAHEFyca>T1+=7xV&dVYhWT*9o zce3vAH2q=laqq&ViOTdmd6_w*W;8*Z%Wdltj9{`%ns|E9U$jC+~yo~K)vR=6kZhJNAKvK_(e)^9JF z>R;A+Ud?QEN$e`$yuGDIblEQ%UQgrPeq1>J)w#aexh6kyihCZu3*53hXZ^C*#t$5< zpZh$_V!!?L_0AFiv#Ry<_Yhn|n_yX4zb=H@eLaBNne*{9)hGV|$Dv z;xDLq{#?EB{nFU|H}9u&<*!^Pe|WBQuIVn}!_PPWp7!@(-tr6m4~?EA?3=B6ODJM? z?z-1AuWq)vQ@md{Fg)^+n_S+z7q?SBn(%+I?@ZbmxohWTJ?EdkSMqj-u5wuYc3wtx$g$b0 z-`O0n|CIi_qRUxtCc_`|>%V6_z7QMKAjdEK<9E`JOeTAe#D;toQML|boDy{7jE -tbb::flow::interface10::limiter_node< T > Class Template Reference +tbb::interface6::memory_pool_allocator< T, P > Class Template Reference @@ -33,16 +33,139 @@
+
-
tbb::flow::interface10::limiter_node< T > Class Template Reference
+
tbb::interface6::memory_pool_allocator< T, P > Class Template Reference
-
The documentation for this class was generated from the following file:
    -
  • flow_graph.h
  • + +

    Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. + More...

    + +

    #include <memory_pool.h>

    + + + + +

    +Classes

    struct  rebind
     
    + + + + + + + + + + + + + + + +

    +Public Types

    +typedef
    +tbb::internal::allocator_type
    +< T >::value_type 
    value_type
     
    +typedef value_type * pointer
     
    +typedef const value_type * const_pointer
     
    +typedef value_type & reference
     
    +typedef const value_type & const_reference
     
    +typedef size_t size_type
     
    +typedef ptrdiff_t difference_type
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

    memory_pool_allocator (pool_type &pool) throw ()
     
    memory_pool_allocator (const memory_pool_allocator &src) throw ()
     
    +template<typename U >
     memory_pool_allocator (const memory_pool_allocator< U, P > &src) throw ()
     
    +pointer address (reference x) const
     
    +const_pointer address (const_reference x) const
     
    +pointer allocate (size_type n, const void *=0)
     Allocate space for n objects.
     
    +void deallocate (pointer p, size_type)
     Free previously allocated block of memory.
     
    +size_type max_size () const throw ()
     Largest value for which method allocate might succeed.
     
    +template<typename U , typename... Args>
    void construct (U *p, Args &&...args)
     Copy-construct value at location pointed to by p.
     
    +void construct (pointer p, value_type &&value)
     
    +void construct (pointer p, const value_type &value)
     
    +void destroy (pointer p)
     Destroy value at location pointed to by p.
     
    + + + +

    +Protected Types

    +typedef P pool_type
     
    + + + +

    +Protected Attributes

    +pool_type * my_pool
     
    + + + + + + + + + + +

    +Friends

    +template<typename U , typename R >
    class memory_pool_allocator
     
    +template<typename V , typename U , typename R >
    bool operator== (const memory_pool_allocator< V, R > &a, const memory_pool_allocator< U, R > &b)
     
    +template<typename V , typename U , typename R >
    bool operator!= (const memory_pool_allocator< V, R > &a, const memory_pool_allocator< U, R > &b)
     
    +

    Detailed Description

    +

    template<typename T, typename P = internal::pool_base>
    +class tbb::interface6::memory_pool_allocator< T, P >

    + +

    Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.

    +

    The documentation for this class was generated from the following file:

diff --git a/doc/html/a00082.html b/doc/html/a00082.html index c56f997..24eb068 100644 --- a/doc/html/a00082.html +++ b/doc/html/a00082.html @@ -4,7 +4,7 @@ -tbb::interface6::memory_pool< Alloc > Class Template Reference +tbb::interface6::memory_pool_allocator< void, P > Class Template Reference @@ -33,49 +33,88 @@
-
tbb::interface6::memory_pool< Alloc > Class Template Reference
+
tbb::interface6::memory_pool_allocator< void, P > Class Template Reference
-

Thread-safe growable pool allocator for variable-size requests. +

Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...

#include <memory_pool.h>

-
-Inheritance diagram for tbb::interface6::memory_pool< Alloc >:
-
-
- - - -
+ + + +

+Classes

struct  rebind
 
+ + + + + + + + + +

+Public Types

+typedef P pool_type
 
+typedef void * pointer
 
+typedef const void * const_pointer
 
+typedef void value_type
 
- - - - - - + + + + + + + +

Public Member Functions

memory_pool (const Alloc &src=Alloc())
 construct pool with underlying allocator
 
~memory_pool ()
 destroy pool
 
memory_pool_allocator (pool_type &pool) throw ()
 
memory_pool_allocator (const memory_pool_allocator &src) throw ()
 
+template<typename U >
 memory_pool_allocator (const memory_pool_allocator< U, P > &src) throw ()
 
+ + + +

+Protected Attributes

+pool_type * my_pool
 
+ + + + + + + + + +

+Friends

+template<typename U , typename R >
class memory_pool_allocator
 
+template<typename V , typename U , typename R >
bool operator== (const memory_pool_allocator< V, R > &a, const memory_pool_allocator< U, R > &b)
 
+template<typename V , typename U , typename R >
bool operator!= (const memory_pool_allocator< V, R > &a, const memory_pool_allocator< U, R > &b)
 

Detailed Description

-

template<typename Alloc>
-class tbb::interface6::memory_pool< Alloc >

+

template<typename P>
+class tbb::interface6::memory_pool_allocator< void, P >

-

Thread-safe growable pool allocator for variable-size requests.

+

Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.


The documentation for this class was generated from the following file:

diff --git a/doc/html/a00082.png b/doc/html/a00082.png deleted file mode 100644 index 040c525da839e5eac853d6e1a5792784458e9f56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 671 zcmeAS@N?(olHy`uVBq!ia0vp^kAOIUgBeH~pNX6eq$C1-LR|m<{|{uoc=NTi|Ih>= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IZ0^gLZ0Ln;{G&W)b5+JJ{O+TQZ_{f{4v z>JrovyPml1Tje!QX*$xLwyoU}){Ytoas{#wt}Yrkx5Tcq-rb+T^Z z^7TP^UPse*z3{lSc8_;q*RFrFo~2lotGtZ6x2=1>cG}$9nt-F4=GW79%lRAT$Czq+ znhT`|PWpGKwae=E&NVA0eNn9mE7a7?zop~(N@%x+=RHnW&rg0DUX#kzT#Yv`Wc;DS z->^|K{^Li9dxbSePZpFM|Lw2nr)TEP8wm``FcojQf+w#(_49G)sv``t&!pH2)Q@+(_J}ien4jLY+~2a-#{bT{ z3XUCXe|J6l^)uq$|7#-8itBIA&TW1+@$35N{W-H#Ji0w5m)1+Jc<qqUn>SH#qso1U5!_RQ;l zNZ$6Cdqodt`Fx|h%)9q(H8lBX=^I$f!dnpq+m6M qcTcQ^L?7hBLhy6@wKF*>bqwz1U9REzw~c|RiNVv=&t;ucLK6VN`#O~X diff --git a/doc/html/a00083.html b/doc/html/a00083.html index b52ce5a..a28f419 100644 --- a/doc/html/a00083.html +++ b/doc/html/a00083.html @@ -4,7 +4,7 @@ -tbb::interface6::memory_pool_allocator< T, P > Class Template Reference +rml::MemPoolPolicy Struct Reference @@ -33,139 +33,58 @@
-
tbb::interface6::memory_pool_allocator< T, P > Class Template Reference
+
rml::MemPoolPolicy Struct Reference
- -

Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. - More...

- -

#include <memory_pool.h>

- - - -

-Classes

struct  rebind
 
- - - - - - - - - - - - - - + +

Public Types

-typedef
-tbb::internal::allocator_type
-< T >::value_type 
value_type
 
-typedef value_type * pointer
 
-typedef const value_type * const_pointer
 
-typedef value_type & reference
 
-typedef const value_type & const_reference
 
-typedef size_t size_type
 
-typedef ptrdiff_t difference_type
 
enum  { TBBMALLOC_POOL_VERSION = 1 + }
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

memory_pool_allocator (pool_type &pool) throw ()
 
memory_pool_allocator (const memory_pool_allocator &src) throw ()
 
-template<typename U >
 memory_pool_allocator (const memory_pool_allocator< U, P > &src) throw ()
 
-pointer address (reference x) const
 
-const_pointer address (const_reference x) const
 
-pointer allocate (size_type n, const void *=0)
 Allocate space for n objects.
 
-void deallocate (pointer p, size_type)
 Free previously allocated block of memory.
 
-size_type max_size () const throw ()
 Largest value for which method allocate might succeed.
 
-template<typename U , typename... Args>
void construct (U *p, Args &&...args)
 Copy-construct value at location pointed to by p.
 
-void construct (pointer p, value_type &&value)
 
-void construct (pointer p, const value_type &value)
 
-void destroy (pointer p)
 Destroy value at location pointed to by p.
 
- - - -

-Protected Types

-typedef P pool_type
 
- - - + +

-Protected Attributes

-pool_type * my_pool
 
MemPoolPolicy (rawAllocType pAlloc_, rawFreeType pFree_, size_t granularity_=0, bool fixedPool_=false, bool keepAllMemory_=false)
 
- - - - - - - - - - + + + + + + + + + + + + + + +

-Friends

-template<typename U , typename R >
class memory_pool_allocator
 
-template<typename V , typename U , typename R >
bool operator== (const memory_pool_allocator< V, R > &a, const memory_pool_allocator< U, R > &b)
 
-template<typename V , typename U , typename R >
bool operator!= (const memory_pool_allocator< V, R > &a, const memory_pool_allocator< U, R > &b)
 

+Public Attributes

+rawAllocType pAlloc
 
+rawFreeType pFree
 
+size_t granularity
 
+int version
 
+unsigned fixedPool: 1
 
+unsigned keepAllMemory: 1
 
+unsigned reserved: 30
 
-

Detailed Description

-

template<typename T, typename P = internal::pool_base>
-class tbb::interface6::memory_pool_allocator< T, P >

- -

Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.

-

The documentation for this class was generated from the following file:

diff --git a/doc/html/a00084.html b/doc/html/a00084.html index 36b6b43..95b2038 100644 --- a/doc/html/a00084.html +++ b/doc/html/a00084.html @@ -4,7 +4,7 @@ -tbb::interface6::memory_pool_allocator< void, P > Class Template Reference +tbb::missing_wait Class Reference @@ -33,88 +33,41 @@
-
tbb::interface6::memory_pool_allocator< void, P > Class Template Reference
+
tbb::missing_wait Class Reference
-

Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. +

Exception for missing wait on structured_task_group. More...

-

#include <memory_pool.h>

+

#include <tbb_exception.h>

+
+Inheritance diagram for tbb::missing_wait:
+
+
+ + + +
- - - -

-Classes

struct  rebind
 
- - - - - - - - - -

-Public Types

-typedef P pool_type
 
-typedef void * pointer
 
-typedef const void * const_pointer
 
-typedef void value_type
 
- - - - - - - -

Public Member Functions

memory_pool_allocator (pool_type &pool) throw ()
 
memory_pool_allocator (const memory_pool_allocator &src) throw ()
 
-template<typename U >
 memory_pool_allocator (const memory_pool_allocator< U, P > &src) throw ()
 
- - - -

-Protected Attributes

-pool_type * my_pool
 
- - - - - - - - - - + +

-Friends

-template<typename U , typename R >
class memory_pool_allocator
 
-template<typename V , typename U , typename R >
bool operator== (const memory_pool_allocator< V, R > &a, const memory_pool_allocator< U, R > &b)
 
-template<typename V , typename U , typename R >
bool operator!= (const memory_pool_allocator< V, R > &a, const memory_pool_allocator< U, R > &b)
 
+const char * what () const __TBB_override throw ()
 

Detailed Description

-

template<typename P>
-class tbb::interface6::memory_pool_allocator< void, P >

- -

Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.

+

Exception for missing wait on structured_task_group.


The documentation for this class was generated from the following file:

diff --git a/doc/html/a00084.png b/doc/html/a00084.png new file mode 100644 index 0000000000000000000000000000000000000000..7f9c4b31407dc4891a59c510c5a999ce0f36acf8 GIT binary patch literal 489 zcmVvTJkN^MxkN^Mxkifve1&Q1r00008bW%=J0RR90|NsC0)yh;d0004aNkl4jX&Ku+ z{B4sYb#ZB0UV?qLwO((I%9h%%x4Y0LNlmUyKKx!{Wl}7mO_Ex4n0%>ww@TPpge0}N zG_6N%^0rT#VuFP|T?bZ@TD*?lo)I0-DQ|k2d+RCYUfv{0Z4!f~Ns_WmlO$ysYBDn$ z0l=@h0SsZ7>2@2X8fIEVgH+>8UzvN;1dwK$0J2OIK$d9&$TCd;S*8gf%QOLGnWp0~ zGaCX1Fo0x$&26Z`I)uytXXVD8g2+eUwIk&pklP66N(YrKlAE2!1yrCy1|9cU= zQ~aCJGl=EkIe~GaWvX+}pepU?opLX1anI(mj?a7}dggfFRNfj-0e~hS*weLO{?`C_ fn=dt)nT_BFa9}>GS5c@900000NkvXXu0mjf=2qC~ literal 0 HcmV?d00001 diff --git a/doc/html/a00085.html b/doc/html/a00085.html index 16d13b5..f7d8b7d 100644 --- a/doc/html/a00085.html +++ b/doc/html/a00085.html @@ -4,7 +4,7 @@ -rml::MemPoolPolicy Struct Reference +tbb::movable_exception< ExceptionData > Class Template Reference @@ -33,58 +33,190 @@
-
rml::MemPoolPolicy Struct Reference
+
tbb::movable_exception< ExceptionData > Class Template Reference
+ +

Template that can be used to implement exception that transfers arbitrary ExceptionData to the root thread. + More...

+ +

#include <tbb_exception.h>

+
+Inheritance diagram for tbb::movable_exception< ExceptionData >:
+
+
+ + +tbb::tbb_exception + +
- - - -

-Public Types

enum  { TBBMALLOC_POOL_VERSION = 1 - }
 
- - + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

MemPoolPolicy (rawAllocType pAlloc_, rawFreeType pFree_, size_t granularity_=0, bool fixedPool_=false, bool keepAllMemory_=false)
 
movable_exception (const ExceptionData &data_)
 
movable_exception (const movable_exception &src) throw ()
 
+const movable_exceptionoperator= (const movable_exception &src)
 
+ExceptionData & data () throw ()
 
+const ExceptionData & data () const throw ()
 
+const char * name () const __TBB_override throw ()
 Returns RTTI name of the originally intercepted exception.
 
+const char * what () const __TBB_override throw ()
 Returns the result of originally intercepted exception's what() method.
 
movable_exceptionmove () __TBB_override throw ()
 Creates and returns pointer to the deep copy of this exception object. More...
 
void destroy () __TBB_override throw ()
 Destroys objects created by the move() method. More...
 
void throw_self () __TBB_override
 Throws this exception object. More...
 
- Public Member Functions inherited from tbb::tbb_exception
void operator delete (void *p)
 
- - - - - - - - - - - - - - - + + + + +

-Public Attributes

-rawAllocType pAlloc
 
-rawFreeType pFree
 
-size_t granularity
 
-int version
 
-unsigned fixedPool: 1
 
-unsigned keepAllMemory: 1
 
-unsigned reserved: 30
 

+Protected Attributes

+ExceptionData my_exception_data
 User data.
 
+

Detailed Description

+

template<typename ExceptionData>
+class tbb::movable_exception< ExceptionData >

+ +

Template that can be used to implement exception that transfers arbitrary ExceptionData to the root thread.

+

Code using TBB can instantiate this template with an arbitrary ExceptionData type and throw this exception object. Such exceptions are intercepted by the TBB scheduler and delivered to the root thread ().

+
See Also
tbb::tbb_exception
+

Member Function Documentation

+ +
+
+
+template<typename ExceptionData >
+ + + + + +
+ + + + + + + + + + + + + +
void tbb::movable_exception< ExceptionData >::destroy ()
throw (
)
+
+inlinevirtual
+
+ +

Destroys objects created by the move() method.

+

Frees memory and calls destructor for this exception object. Can and must be used only on objects created by the move method.

+ +

Implements tbb::tbb_exception.

+ +
+
+ +
+
+
+template<typename ExceptionData >
+ + + + +
+ + + + + + + + + + + + + +
movable_exception* tbb::movable_exception< ExceptionData >::move ()
throw (
)
+
+inlinevirtual
-
The documentation for this struct was generated from the following file:
+ +

Creates and returns pointer to the deep copy of this exception object.

+

Move semantics is allowed.

+ +

Implements tbb::tbb_exception.

+ +
+
+ +
+
+
+template<typename ExceptionData >
+ + + + + +
+ + + + + + + +
void tbb::movable_exception< ExceptionData >::throw_self ()
+
+inlinevirtual
+
+ +

Throws this exception object.

+

Make sure that if you have several levels of derivation from this interface you implement or override this method on the most derived level. The implementation is as simple as "throw *this;". Failure to do this will result in exception of a base class type being thrown.

+ +

Implements tbb::tbb_exception.

+ +
+
+
The documentation for this class was generated from the following file:
    +
  • tbb_exception.h

diff --git a/doc/html/a00085.png b/doc/html/a00085.png new file mode 100644 index 0000000000000000000000000000000000000000..2c2e3fe83eab54ed65eb8ecc80475c8fdaf8016c GIT binary patch literal 960 zcmeAS@N?(olHy`uVBq!ia0vp^KY+M{gBeKv)x8GdNCfzVxc>kDAIN<1=4)yHp$R}1 z7#}!rfVK0EJdn##666=m08|75S5Ji)F)%Rud%8G=R4~4sd;8L6EglE)!ey2J&F^Vx zbUgq6`NG{LhqZLQQW{&Loj49Ev4n z^JaOjTfN)fS@f3Gzjyydb62e@|I|{k<>b;eO<9p$W}#Q5D+6rwQmSH}?l(|hwaWZc zN5%J*N0V>&cTZorJL2Qp*afSql+W*drMXk~#$$WseY3CbUT?Jee-F@jqxZIVj)sQL zKfVUYu|_yyZ3Ty-1j_?cI|i|hTK|4Zm~Pj)S9ROOT>D+5>;W-7z64Hj_6;rF%n^r< zGU_~h#4xR(kimP0MT2UL%mE=(>3PdCXB|^AQBwL=P$($qy<3l+-b1I40#4RfzO9xnjL$V)t{u2;_2Z=xN2Qa`XU^_8p&GOIQDEwd zV@4~xzUt&_tyTz{R+%n1(Z2BT>UpcrKKmFSbw0~T#Y6A&IVGj~N4_851$Q6cCNHk9 z?|=FJ|A3lAh8GH)7{+x^q;GX&c!Zs-^c$z%l%(zpUL-b>k_lq?%_4xR>^a1{Jd)Y+8-(X>pPyWziT`1oy`Wv z;;2>Me%usz`k?RKN2}HB8mDK-s4qXTKke%j!_|wE>iXvMPAreHTXxLCLC-svVSC}h z$9j?~PIYo`2fnZ*IVw4;ps7@;X_k@aI|j)QXl8NGr}+@A9BeibmgF?hQAxvX -tbb::missing_wait Class Reference +tbb::mutex Class Reference @@ -33,41 +33,134 @@
-
tbb::missing_wait Class Reference
+
tbb::mutex Class Reference
-

Exception for missing wait on structured_task_group. +

Wrapper around the platform's native lock. More...

-

#include <tbb_exception.h>

+

#include <mutex.h>

-Inheritance diagram for tbb::missing_wait:
+Inheritance diagram for tbb::mutex:
- - + +
+ + + + +

+Classes

class  scoped_lock
 The scoped locking pattern. More...
 
+ + + + + + + + +

+Public Types

enum  state_t { INITIALIZED =0x1234, +DESTROYED =0x789A, +HELD =0x56CD + }
 
+typedef LPCRITICAL_SECTION native_handle_type
 Return native_handle.
 
+typedef pthread_mutex_t * native_handle_type
 
- - + + + + + + + + + + + + + + + + + +

Public Member Functions

-const char * what () const __TBB_override throw ()
 
mutex ()
 Construct unacquired mutex.
 
+void lock ()
 Acquire lock.
 
bool try_lock ()
 Try acquiring lock (non-blocking) More...
 
+void unlock ()
 Release lock.
 
+native_handle_type native_handle ()
 
+void set_state (state_t to)
 Set the internal state.
 
+ + + + + + + +

+Static Public Attributes

+static const bool is_rw_mutex = false
 
+static const bool is_recursive_mutex = false
 
+static const bool is_fair_mutex = false
 
+ + +

+Friends

+class scoped_lock
 

Detailed Description

-

Exception for missing wait on structured_task_group.

-

The documentation for this class was generated from the following file:
    -
  • tbb_exception.h
  • +

    Wrapper around the platform's native lock.

    +

    Member Function Documentation

    + +
    +
    + + + + + +
    + + + + + + + +
    bool tbb::mutex::try_lock ()
    +
    +inline
    +
    + +

    Try acquiring lock (non-blocking)

    +

    Return true if lock acquired; false otherwise.

    + +

    References tbb::aligned_space< T, N >::begin().

    + +

    Referenced by tbb::mutex::scoped_lock::try_acquire().

    + +
    +
    +
    The documentation for this class was generated from the following file:
      +
    • mutex.h

    diff --git a/doc/html/a00086.png b/doc/html/a00086.png index 7f9c4b31407dc4891a59c510c5a999ce0f36acf8..5fdf55b651bc5c164a1cb34b69cc3c780cc1b9ec 100644 GIT binary patch delta 635 zcmaFKyn>+`?-8qEolc)hMZt+QBH6(Mx|?VX_CI~6vs`X#J?GrDW*g65-ew;eo;YLf%4171R^{Iew!VCL$(z%+ zs<-tX*I5)>d3%}Z^2L!w_4+E2o-gyx`%Y_T51#Uf-$ssW?|(n8wLaS}ww_plD>_<09&&6NF$U;aruWyJ1fusfq)yhU`E zYJSuS)$YL9Qr=JXt30Q#-^EbhF2MDm6NV?Y%$mu2!2Y>Ov(y(!a|vL2V(@hJb6Mw< G&;$Uku_QGB delta 443 zcmV;s0Yv_&1?dAJiBL{Q4GJ0x0000DNk~Le0001K0000`2m=5B04*u2ZIK~5e*t(& zL_t(|0qvd9a)TfcMbEzE{{J6WT_r0ahHf%+n!$2J32{O|DEn{9a;ZQY@iOl3H|_e5rf4O4wM0 zB(=CStw(M0wojX4f`vU@2Ue0=f4q*~o)I0-DQ|k2d+RCYUfv{0Z4!f~Ns_WmlO$ys zYBDn$0l=@h0SsZ7>2@2X8fIEVgH+>8UzvN;1dwK$0J2OIK$d9&$TCd;S*8gf%QOLG znWp0~GaCX1Fo0x0f&KjNWNC#69_>M|IrzOa^s1UDc+toM+JsI|$8jNIAE<*OMnr57E0cZ6Bbl>AayQ zCjWa8y;J;~(KCqU;W>eEqGhUc&!8&p=$&#eY;n)#vX0MuBYNg|-&EcjPXT}?AK25i lVE)$tc$+UZnVF5?2XJ6M5vx~Gs0{!B002ovPDHLkV1fry#6182 diff --git a/doc/html/a00087.html b/doc/html/a00087.html index bdc2f17..c8d143f 100644 --- a/doc/html/a00087.html +++ b/doc/html/a00087.html @@ -4,7 +4,7 @@ -tbb::movable_exception< ExceptionData > Class Template Reference +tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node Struct Reference @@ -33,190 +33,66 @@
-
tbb::movable_exception< ExceptionData > Class Template Reference
+
tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node Struct Reference
- -

Template that can be used to implement exception that transfers arbitrary ExceptionData to the root thread. - More...

- -

#include <tbb_exception.h>

-Inheritance diagram for tbb::movable_exception< ExceptionData >:
+Inheritance diagram for tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node:
- - -tbb::tbb_exception + +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + +

Public Member Functions

movable_exception (const ExceptionData &data_)
 
movable_exception (const movable_exception &src) throw ()
 
-const movable_exceptionoperator= (const movable_exception &src)
 
-ExceptionData & data () throw ()
 
-const ExceptionData & data () const throw ()
 
-const char * name () const __TBB_override throw ()
 Returns RTTI name of the originally intercepted exception.
 
-const char * what () const __TBB_override throw ()
 Returns the result of originally intercepted exception's what() method.
 
movable_exceptionmove () __TBB_override throw ()
 Creates and returns pointer to the deep copy of this exception object. More...
 
void destroy () __TBB_override throw ()
 Destroys objects created by the move() method. More...
 
void throw_self () __TBB_override
 Throws this exception object. More...
 
- Public Member Functions inherited from tbb::tbb_exception
void operator delete (void *p)
 
node (const Key &key)
 
node (const Key &key, const T &t)
 
node (const Key &key, T &&t)
 
node (value_type &&i)
 
+template<typename... Args>
 node (Args &&...args)
 
node (value_type &i)
 
node (const value_type &i)
 
+void * operator new (size_t, node_allocator_type &a)
 
+void operator delete (void *ptr, node_allocator_type &a)
 
- - - - + + +

-Protected Attributes

-ExceptionData my_exception_data
 User data.
 

+Public Attributes

+value_type item
 
-

Detailed Description

-

template<typename ExceptionData>
-class tbb::movable_exception< ExceptionData >

- -

Template that can be used to implement exception that transfers arbitrary ExceptionData to the root thread.

-

Code using TBB can instantiate this template with an arbitrary ExceptionData type and throw this exception object. Such exceptions are intercepted by the TBB scheduler and delivered to the root thread ().

-
See Also
tbb::tbb_exception
-

Member Function Documentation

- -
-
-
-template<typename ExceptionData >
- - - - - -
- - - - - - - - - - - - - -
void tbb::movable_exception< ExceptionData >::destroy ()
throw (
)
-
-inlinevirtual
-
- -

Destroys objects created by the move() method.

-

Frees memory and calls destructor for this exception object. Can and must be used only on objects created by the move method.

- -

Implements tbb::tbb_exception.

- -
-
- -
-
-
-template<typename ExceptionData >
- - - - - -
- - - - - - - - - - - - - -
movable_exception* tbb::movable_exception< ExceptionData >::move ()
throw (
)
-
-inlinevirtual
-
- -

Creates and returns pointer to the deep copy of this exception object.

-

Move semantics is allowed.

- -

Implements tbb::tbb_exception.

- -
-
- -
-
-
-template<typename ExceptionData >
- - - - - -
- - - - - - - -
void tbb::movable_exception< ExceptionData >::throw_self ()
-
-inlinevirtual
-
- -

Throws this exception object.

-

Make sure that if you have several levels of derivation from this interface you implement or override this method on the most derived level. The implementation is as simple as "throw *this;". Failure to do this will result in exception of a base class type being thrown.

- -

Implements tbb::tbb_exception.

- -
-
-
The documentation for this class was generated from the following file:
    -
  • tbb_exception.h
  • +
    The documentation for this struct was generated from the following file:
      +
    • concurrent_hash_map.h

    diff --git a/doc/html/a00087.png b/doc/html/a00087.png index 2c2e3fe83eab54ed65eb8ecc80475c8fdaf8016c..b91437953953383d1bdd13d2f918fcb240b393eb 100644 GIT binary patch literal 1052 zcmeAS@N?(olHy`uVBq!ia0y~yU|bDk2XHV0$q8>)83HMZ0G|-o|Ns93nJ?aaE$u%v z0VD^)2M!!y?YtuoWO9@Q`2{lo6@kFjQz1qS49u%NT^vIy7~jr~t=eqG!{%;Y`+fi8 z$pXxu)*|msAV#b?~oO$ypVbTuJ}%&VT*X zEU)(V1I6o#yEf7J^s{5~>dZk#i^qyI&?a%1&#gTXQqGq4|^4X$Sc#ln- zdDY$%zJamKw=dpazV=0SdbHbX?{^paOv3D?c5qdG6}aoQifLo}(<$2jnX=R0#%yI| zT9X*o^IFR6#{K!bZWX7kw$O9C`pB+uE5CWkR?&OR;dLFWe(X@XsrqiW)Qxk$u1)Q~ zEH_opr+01U%wHz!*{YX`UAgyf?;a_ZCH3p{^lv5fepkl87tDtFHUb9Chb3%!*{e?bh}L|6lvVB$YsHrq%RM>% z^{2bDV=v0`-w}P`S#hT$+gtg?g$3XFTYjEeH|=`XbcOV)IT4rhS6J=% ztG?(@_~%#UVSjgT+_PM};rGOK48Syuz#j@y)27Xs89Vns!}Cn`BX(C(-vP5SgQu&X J%Q~loCICr^kDAIN<1=4)yHp$R}1 z7#}!rfVK0EJdn##666=m08|75S5Ji)F)%Rud%8G=R4~4sd;8L6EglE)!ey2J&F^Vx zbUgq6`NG{LhqZLQQW{&Loj49Ev4n z^JaOjTfN)fS@f3Gzjyydb62e@|I|{k<>b;eO<9p$W}#Q5D+6rwQmSH}?l(|hwaWZc zN5%J*N0V>&cTZorJL2Qp*afSql+W*drMXk~#$$WseY3CbUT?Jee-F@jqxZIVj)sQL zKfVUYu|_yyZ3Ty-1j_?cI|i|hTK|4Zm~Pj)S9ROOT>D+5>;W-7z64Hj_6;rF%n^r< zGU_~h#4xR(kimP0MT2UL%mE=(>3PdCXB|^AQBwL=P$($qy<3l+-b1I40#4RfzO9xnjL$V)t{u2;_2Z=xN2Qa`XU^_8p&GOIQDEwd zV@4~xzUt&_tyTz{R+%n1(Z2BT>UpcrKKmFSbw0~T#Y6A&IVGj~N4_851$Q6cCNHk9 z?|=FJ|A3lAh8GH)7{+x^q;GX&c!Zs-^c$z%l%(zpUL-b>k_lq?%_4xR>^a1{Jd)Y+8-(X>pPyWziT`1oy`Wv z;;2>Me%usz`k?RKN2}HB8mDK-s4qXTKke%j!_|wE>iXvMPAreHTXxLCLC-svVSC}h z$9j?~PIYo`2fnZ*IVw4;ps7@;X_k@aI|j)QXl8NGr}+@A9BeibmgF?hQAxvX -tbb::mutex Class Reference +tbb::null_mutex Class Reference @@ -33,134 +33,55 @@
-
tbb::mutex Class Reference
+
tbb::null_mutex Class Reference
-

Wrapper around the platform's native lock. +

A mutex which does nothing. More...

-

#include <mutex.h>

+

#include <null_mutex.h>

-Inheritance diagram for tbb::mutex:
+Inheritance diagram for tbb::null_mutex:
- - + +
- - + +

Classes

class  scoped_lock
 The scoped locking pattern. More...
class  scoped_lock
 Represents acquisition of a mutex. More...
 
- - - - - - - - -

-Public Types

enum  state_t { INITIALIZED =0x1234, -DESTROYED =0x789A, -HELD =0x56CD - }
 
-typedef LPCRITICAL_SECTION native_handle_type
 Return native_handle.
 
-typedef pthread_mutex_t * native_handle_type
 
- - - - - - - - - - - - - - - - - - -

-Public Member Functions

mutex ()
 Construct unacquired mutex.
 
-void lock ()
 Acquire lock.
 
bool try_lock ()
 Try acquiring lock (non-blocking) More...
 
-void unlock ()
 Release lock.
 
-native_handle_type native_handle ()
 
-void set_state (state_t to)
 Set the internal state.
 
- - - - - - -

Static Public Attributes

+
static const bool is_rw_mutex = false
 
-static const bool is_recursive_mutex = false
 
-static const bool is_fair_mutex = false
 
- - - + + + + +

-Friends

-class scoped_lock
 
 
+static const bool is_recursive_mutex = true
 
+static const bool is_fair_mutex = true
 

Detailed Description

-

Wrapper around the platform's native lock.

-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - -
bool tbb::mutex::try_lock ()
-
-inline
-
- -

Try acquiring lock (non-blocking)

-

Return true if lock acquired; false otherwise.

- -

References tbb::aligned_space< T, N >::begin().

- -

Referenced by tbb::mutex::scoped_lock::try_acquire().

- -
-
-
The documentation for this class was generated from the following file:
    -
  • mutex.h
  • +

    A mutex which does nothing.

    +

    A null_mutex does no operation and simulates success.

    +

    The documentation for this class was generated from the following file:
      +
    • null_mutex.h

    diff --git a/doc/html/a00088.png b/doc/html/a00088.png index 5fdf55b651bc5c164a1cb34b69cc3c780cc1b9ec..b72b3103da6961e7e331dd83e54bf97960852cd0 100644 GIT binary patch delta 623 zcmV-#0+9Wv1;7Q6Tz^kVL_t(|0qvdZ(yA~FMOS8=+3)|x2P>Ce5l1|qhB$7}CJkLp z6aHdmb_HRQ8`C=lOp(;!lH0D!zw6ZP}uSrWen2 zOP6wP8e496zjaFH@)*fo=J@&K{29wY8K#(D+1BL_mQ&B#K!20h2HX7F_9rtHj@g-N zT#BLkmi=mAI5ivWi4Y zQmgmg$C7l8j)JD@&bv}Uu{MOUizFRVKg@HRB<<*wjP8Z_wTw#APb)wr$&&(9l00bw zH8Z<_0RFpf09VjeKySB;kX{9J;=BgwWk3NgqR1zJCx1mo0X!)(3gAhRQ2^v-i+$5+f>~U zbTR%$*9G`e{S|2HIOnz-fUzQ@0G*8piV!+}^2o-Y z-7{};BusiTUqH)q9>>B-PdZ~4zJFPtSdv*~vSH(z-s|7j9rxy*8uG`VbL$pY?#u1z zyUtE8dUI!5Uit3h6V9Y$p7ag-|MNjj-<5z}n#aOx`=7qkSuVGgvwrScvyEpjZ?lgK zPnnw_`yuHkH`Qpf;dVQ5h&zE`UeW$gv2Tys# zZzIRG_rD+4TAytfTTiUbw9P;2;>)&W`GU>UU%vP@tu8EM`JU2NJ_`A3;+6W4=e!wsAFcf`q$;rRgwGdt-kS$^TFqu|1Z)$o}N|h^f_P$ zbIp|fieLUoJ7vV~Ww1M=U%W+hmui003Dxev*izn4^{YImuiwQ`-!8!Qpc95Cw#=Hz ad%*s=Nwd@!NplGXAn -tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node Struct Reference +tbb::null_rw_mutex Class Reference @@ -33,66 +33,55 @@
-
tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node Struct Reference
+
tbb::null_rw_mutex Class Reference
+ +

A rw mutex which does nothing. + More...

+ +

#include <null_rw_mutex.h>

-Inheritance diagram for tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node:
+Inheritance diagram for tbb::null_rw_mutex:
- - + +
- - - - - - - - - - - - - - - - - - - - + + + +

-Public Member Functions

node (const Key &key)
 
node (const Key &key, const T &t)
 
node (const Key &key, T &&t)
 
node (value_type &&i)
 
-template<typename... Args>
 node (Args &&...args)
 
node (value_type &i)
 
node (const value_type &i)
 
-void * operator new (size_t, node_allocator_type &a)
 
-void operator delete (void *ptr, node_allocator_type &a)
 

+Classes

class  scoped_lock
 Represents acquisition of a mutex. More...
 
- - - + + + + + + +

-Public Attributes

-value_type item
 

+Static Public Attributes

+static const bool is_rw_mutex = true
 
+static const bool is_recursive_mutex = true
 
+static const bool is_fair_mutex = true
 
-
The documentation for this struct was generated from the following file:
    -
  • concurrent_hash_map.h
  • +

    Detailed Description

    +

    A rw mutex which does nothing.

    +

    A null_rw_mutex is a rw mutex that does nothing and simulates successful operation.

    +

    The documentation for this class was generated from the following file:
      +
    • null_rw_mutex.h

    diff --git a/doc/html/a00089.png b/doc/html/a00089.png index b91437953953383d1bdd13d2f918fcb240b393eb..1ddf07110ee986746c8aac255d38381a067a83e9 100644 GIT binary patch delta 679 zcmbQkafMZ}Gr-TCmrII^fq{Y7)59eQNWTE$01jp#sq*e*&_qS6dZuJg7srqa# zA4?Xys26u@%d-*_?|1K8RkTBQ-7cE^^x-)X)jxg5V=w%EuaJ>C$xVF1%1pcbqb|N| zTb3`_JpJ^=x4M5dGM4WtbzIK!W{uON&{scK_{_I5xqULg_ZG8m(0U!WyE3^B)t0;J zw|;ZC+;#DLU7w!m%g$BNORu?IUCZ9zzp{Gst8?@CLhl~E*}O{I(|%dUIPWpgo ziRgvfZ#QC7!Q!tRhzpI0(BFIJLz+|OG4D&<;SwAf4&}dM1 zbz!v8RN{Jos^p*QB2ZMYJ&0!nN`bI?10P?Sy!Ep@VWL~R0Ya@gHi#>~HA5FHcn!RA| zv6{)Jw*Q&KuxH76w!Qyl8vN?{m3{>&GOzd|ZF$ROEq7ENcSPOO6Z3<6Uah*Va-(>` z>5l%@yBOxLw`Y~@_KuC*)ywc)3*=~+>%QmjnK`rmFT)83HMZ0G|-o|Ns93nJ?aaE$u%v z0VD^)2M!!y?YtuoWO9@Q`2{lo6@kFjQz1qS49u%NT^vIy7~jr~t=eqG!{%;Y`+fi8 z$pXxu)*|msAV#b?~oO$ypVbTuJ}%&VT*X zEU)(V1I6o#yEf7J^s{5~>dZk#i^qyI&?a%1&#gTXQqGq4|^4X$Sc#ln- zdDY$%zJamKw=dpazV=0SdbHbX?{^paOv3D?c5qdG6}aoQifLo}(<$2jnX=R0#%yI| zT9X*o^IFR6#{K!bZWX7kw$O9C`pB+uE5CWkR?&OR;dLFWe(X@XsrqiW)Qxk$u1)Q~ zEH_opr+01U%wHz!*{YX`UAgyf?;a_ZCH3p{^lv5fepkl87tDtFHUb9Chb3%!*{e?bh}L|6lvVB$YsHrq%RM>% z^{2bDV=v0`-w}P`S#hT$+gtg?g$3XFTYjEeH|=`XbcOV)IT4rhS6J=% ztG?(@_~%#UVSjgT+_PM};rGOK48Syuz#j@y)27Xs89Vns!}Cn`BX(C(-vP5SgQu&X J%Q~loCICr^ -tbb::null_mutex Class Reference +tbb::flow::interface10::null_type Struct Reference @@ -33,55 +33,23 @@
-
-
tbb::null_mutex Class Reference
+
tbb::flow::interface10::null_type Struct Reference
-

A mutex which does nothing. +

A generic null type. More...

-

#include <null_mutex.h>

-
-Inheritance diagram for tbb::null_mutex:
-
-
- - - -
- - - - - -

-Classes

class  scoped_lock
 Represents acquisition of a mutex. More...
 
- - - - - - - -

-Static Public Attributes

-static const bool is_rw_mutex = false
 
-static const bool is_recursive_mutex = true
 
-static const bool is_fair_mutex = true
 
+

#include <flow_graph.h>

Detailed Description

-

A mutex which does nothing.

-

A null_mutex does no operation and simulates success.

-

The documentation for this class was generated from the following file:
    -
  • null_mutex.h
  • +

    A generic null type.

    +

    The documentation for this struct was generated from the following file:

diff --git a/doc/html/a00090.png b/doc/html/a00090.png deleted file mode 100644 index b72b3103da6961e7e331dd83e54bf97960852cd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 704 zcmeAS@N?(olHy`uVBq!ia0vp^FMv3JgBeJwygLaJkO=SzasB`QKS=J)*V6t&6M!r* zK5*awYv&z#AeW;g$S;@ys0akEo(eHyU|{n1ba4!+V0=6G^`%t?Jg(tsb8f!>e~evw zdYquU&HOftybEf)vA)9plG4gp6DK{1XVmhXC$eDD6Hn(0-+#oX*R`TkO`XP+ca#yCr`T>Z8TK)ar@ku3peND?=o!cGcxY4X-W4DTI zko}qB*(z^eOzC;o`eSR4*Cl^#2i234nL;MnWHOl=?`~lDw>ys^{6eTh{`T$(ajYee z_OQK7bzsz6bV9vB-PMiJM$?Gvf#<|P2LG-eri!2xkpq*J7BkEfk!1a_%oYCfmb)S+UHfdo^!Bmp+^U}af?xjaWO>mzkM+YW zyO_nM8DVR6GXhV=-|Km`?smvsffB=iZr53V1pO7wcxCZ?n{>lQutOIB9Sg)I^&4l; c{CV9z{$F$O?a4>=fys@*)78&qol`;+0BZ(FfB*mh diff --git a/doc/html/a00091.html b/doc/html/a00091.html index bb5b134..b8daf86 100644 --- a/doc/html/a00091.html +++ b/doc/html/a00091.html @@ -4,7 +4,7 @@ -tbb::null_rw_mutex Class Reference +tbb::flow::interface10::opencl_async_msg< T, Factory > Class Template Reference @@ -33,55 +33,86 @@
-
tbb::null_rw_mutex Class Reference
+
tbb::flow::interface10::opencl_async_msg< T, Factory > Class Template Reference
- -

A rw mutex which does nothing. - More...

- -

#include <null_rw_mutex.h>

-Inheritance diagram for tbb::null_rw_mutex:
+Inheritance diagram for tbb::flow::interface10::opencl_async_msg< T, Factory >:
- - + + +tbb::flow::interface10::async_msg< T >
- - - - + + +

-Classes

class  scoped_lock
 Represents acquisition of a mutex. More...
 

+Public Types

+typedef T value_type
 
- - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

-Static Public Attributes

-static const bool is_rw_mutex = true
 
-static const bool is_recursive_mutex = true
 
-static const bool is_fair_mutex = true
 

+Public Member Functions

opencl_async_msg (const T &data)
 
opencl_async_msg (const T &data, cl_event event)
 
+T & data (bool wait=true)
 
+const T & data (bool wait=true) const
 
opencl_async_msg (const opencl_async_msg &dmsg)
 
opencl_async_msg (opencl_async_msg &&dmsg)
 
+opencl_async_msgoperator= (const opencl_async_msg &dmsg)
 
+cl_event const * get_event () const
 
+void set_event (cl_event e) const
 
+void clear_event () const
 
+template<typename Callback >
void register_callback (Callback c) const
 
operator T & ()
 
operator const T & () const
 
+ + +

+Protected Member Functions

+void finalize () const __TBB_override
 
-

Detailed Description

-

A rw mutex which does nothing.

-

A null_rw_mutex is a rw mutex that does nothing and simulates successful operation.

-

The documentation for this class was generated from the following file:
    -
  • null_rw_mutex.h
  • +
    The documentation for this class was generated from the following file:
      +
    • flow_graph_opencl_node.h

    diff --git a/doc/html/a00091.png b/doc/html/a00091.png index 1ddf07110ee986746c8aac255d38381a067a83e9..b1afd1d4d2d4dbdd59b2e7feda962fce669fb01b 100644 GIT binary patch literal 1132 zcmeAS@N?(olHy`uVBq!ia0y~yU~~hr12~w0WY9;Q4?s#Hz$e7@|Ns9$=8HF9OZyK^ z0J6aNz<~p-ope`2kYKmUQk9pbs&1ZK+J;_15uJgP4te!V z61nzT;&hemykFlQNxhlzaAn`5C7s*)igFY@^m-J(c-H+dj@V?~D z#lH3aZ-&LJ|8E$UhtHOI<`~QC{^Q<>*->%Nex^>S?=0+pdTNzglkIPL_R^zuHv?DtjIOH!qmBWPe!FlqDO47OS*Ql~C1Ob40^4 z@ved1=}k+frA9I_{V4g%u!KR$tA`=*?;jQSh6O^(4k6}UCj}Lj9pU)Ers~qL0VopD zDX6gK2!}ve5(|g6Aydm#2}WT2FeIwFQ7XNUF&JgZNowguJcYNPpNy;*ef+|J zp?O{6p84;;-9C4H-^r>sTQ}O31h4nacK^G5YtCnzduMZ{vkmRe$e%uUzm5Om+oQL> zv1c#4yu#|hjrTX^zB$3zW1h$Te*3G1U$1Su_iOLddr9uwo>upib*AUrSeQr%cjXI;G(sv*In6v|ZI44Zxy-!PC{xWt~$(69D_O9<2ZX delta 679 zcmaFEafMZ}Gr-TCmrII^fq{Y7)59eQNWTE$01jp#sq*e*&_qS6dZuJg7srqa# zA4?Xys26u@%d-*_?|1K8RkTBQ-7cE^^x-)X)jxg5V=w%EuaJ>C$xVF1%1pcbqb|N| zTb3`_JpJ^=x4M5dGM4WtbzIK!W{uON&{scK_{_I5xqULg_ZG8m(0U!WyE3^B)t0;J zw|;ZC+;#DLU7w!m%g$BNORu?IUCZ9zzp{Gst8?@CLhl~E*}O{I(|%dUIPWpgo ziRgvfZ#QC7!Q!tRhzpI0(BFIJLz+|OG4D&<;SwAf4&}dM1 zbz!v8RN{Jos^p*QB2ZMYJ&0!nN`bI?10P?Sy!Ep@VWL~R0Ya@gHi#>~HA5FHcn!RA| zv6{)Jw*Q&KuxH76w!Qyl8vN?{m3{>&GOzd|ZF$ROEq7ENcSPOO6Z3<6Uah*Va-(>` z>5l%@yBOxLw`Y~@_KuC*)ywc)3*=~+>%QmjnK`rmFT -tbb::flow::interface10::null_type Struct Reference +tbb::flow::interface10::opencl_buffer< T, Factory > Class Template Reference @@ -33,16 +33,106 @@
+
-
tbb::flow::interface10::null_type Struct Reference
+
tbb::flow::interface10::opencl_buffer< T, Factory > Class Template Reference
-
The documentation for this struct was generated from the following file:
    -
  • flow_graph.h
  • +
    +Inheritance diagram for tbb::flow::interface10::opencl_buffer< T, Factory >:
    +
    +
    + + +tbb::flow::interface10::opencl_subbuffer< T, Factory > + +
    + + + + + + + + + + + +

    +Public Types

    +typedef cl_mem native_object_type
     
    +typedef opencl_buffer memory_object_type
     
    +typedef Factory opencl_factory_type
     
    +template<access_type a>
    using iterator = T *
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

    +template<access_type a>
    iterator< a > access () const
     
    +T * data () const
     
    +template<access_type a = read_write>
    iterator< a > begin () const
     
    +template<access_type a = read_write>
    iterator< a > end () const
     
    +size_t size () const
     
    +T & operator[] (ptrdiff_t k)
     
    opencl_buffer (size_t size)
     
    opencl_buffer (Factory &f, size_t size)
     
    +cl_mem native_object () const
     
    +const opencl_buffermemory_object () const
     
    +void send (opencl_device device, opencl_async_msg< opencl_buffer, Factory > &dependency) const
     
    +void receive (const opencl_async_msg< opencl_buffer, Factory > &dependency) const
     
    +opencl_subbuffer< T, Factory > subbuffer (size_t index, size_t size) const
     
    + + + + + + + + + +

    +Friends

    +template<typename >
    class opencl_factory
     
    +template<typename , typename >
    class opencl_subbuffer
     
    +bool operator== (const opencl_buffer< T, Factory > &lhs, const opencl_buffer< T, Factory > &rhs)
     
    +
    The documentation for this class was generated from the following file:
      +
    • flow_graph_opencl_node.h

diff --git a/doc/html/a00094.png b/doc/html/a00092.png similarity index 100% rename from doc/html/a00094.png rename to doc/html/a00092.png diff --git a/doc/html/a00093.html b/doc/html/a00093.html index af41953..a27671e 100644 --- a/doc/html/a00093.html +++ b/doc/html/a00093.html @@ -4,7 +4,7 @@ -tbb::flow::interface10::opencl_async_msg< T, Factory > Class Template Reference +tbb::flow::interface10::opencl_buffer_impl< Factory > Class Template Reference @@ -33,83 +33,94 @@
-
tbb::flow::interface10::opencl_async_msg< T, Factory > Class Template Reference
+
tbb::flow::interface10::opencl_buffer_impl< Factory > Class Template Reference
-Inheritance diagram for tbb::flow::interface10::opencl_async_msg< T, Factory >:
+Inheritance diagram for tbb::flow::interface10::opencl_buffer_impl< Factory >:
- - -tbb::flow::interface10::async_msg< T > + + +tbb::flow::interface10::opencl_memory< Factory >
- - - -

-Public Types

-typedef T value_type
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

opencl_async_msg (const T &data)
 
opencl_async_msg (const T &data, cl_event event)
 
-T & data (bool wait=true)
 
-const T & data (bool wait=true) const
 
opencl_async_msg (const opencl_async_msg &dmsg)
 
opencl_async_msg (opencl_async_msg &&dmsg)
 
-opencl_async_msgoperator= (const opencl_async_msg &dmsg)
 
-cl_event const * get_event () const
 
-void set_event (cl_event e) const
 
-void clear_event () const
 
-template<typename Callback >
void register_callback (Callback c) const
 
operator T & ()
 
operator const T & () const
 
opencl_buffer_impl (size_t size, Factory &f)
 
opencl_buffer_impl (cl_mem m, size_t index, size_t size, Factory &f)
 
+size_t size () const
 
+void map_memory (opencl_device device, opencl_async_msg< void *, Factory > &dmsg) __TBB_override
 
- Public Member Functions inherited from tbb::flow::interface10::opencl_memory< Factory >
opencl_memory (Factory &f)
 
+cl_mem get_cl_mem () const
 
+void * get_host_ptr ()
 
+Factory * factory () const
 
+opencl_async_msg< void *, Factory > receive (const cl_event *e)
 
+opencl_async_msg< void *, Factory > send (opencl_device device, const cl_event *e)
 
+ + + +

+Friends

+template<typename , typename >
class opencl_buffer
 
- - - + + + + + + + + + + + + + + + +

-Protected Member Functions

-void finalize () const __TBB_override
 

+Additional Inherited Members

- Protected Attributes inherited from tbb::flow::interface10::opencl_memory< Factory >
+cl_mem my_cl_mem
 
+tbb::atomic
+< opencl_device::device_id_type > 
my_curr_device_id
 
+void * my_host_ptr
 
+Factory * my_factory
 
+tbb::spin_mutex my_sending_lock
 
+bool my_sending_event_present
 
+cl_event my_sending_event
 

The documentation for this class was generated from the following file:
  • flow_graph_opencl_node.h
  • diff --git a/doc/html/a00093.png b/doc/html/a00093.png index b1afd1d4d2d4dbdd59b2e7feda962fce669fb01b..46c39ab38d17fab5ec03b1f82d2eae1e036cda86 100644 GIT binary patch literal 1161 zcmeAS@N?(olHy`uVBq!ia0y~yU^D}=12~w0#ZyXjmX4>ot&El3;_9Sm6uEMldIo7|G53_^4e*ovtK9deYt0?^Xu+k`O-JvygC1D)7q^!zP;QX z{eNZdmmm8|=T*kB&sm>Te#O0JzhBVz&zp0*AMCiovu1kR+P(7Wa>`|?-7Ai##on=< zIV&(Q_w$*}h4)3f|7E@T^;+-LnWu`fV!QKxP4D|}DEl_iK7ID->z|BVOITj*wh#ES z^=$Vl52;elcj_Bt(>HHg$-bNax9YZSZ{(uqK2N$We9d-A`Hh@J`Gb3V-)b<{ZTsq> zXJ$7!_xkG4D|K<-WWRmqFF#ba>GfLfwAq^B_vRfl*=M~(cRBP-mY7) zjrT@c_U#*<$GbAWy}nj#otl3xPd%4+(@neY=l!$pwxR z{+!dBbXKNDPHSMW3yo*cZ0Hb@b_j`&Kgp}G;s~3-)#j)o<_^t`jC&TgunB}EF>`2d zWNevwg8>+k3_w#FHUO1Jbn+^!0V<|U`kH#O_R=XKnoC_=7(E!zpxdLh?fBBWGu^6r zx9yc!ZWG36aVyTITJXRUJz3kcKbFloc=^^=Ri?lBdh5b(%;OiHcC3TJ=53*0RBfkj zTDsN=iEYp8S?~yp3CD zn&0@v(LOh(R$_AQ?CFn#j5k>3GhYAx_)PMVbvf^S=X zv_6-X8q8lN|JXYxHjVzt2+8D%Pk_iuKs&rOp)uvKqb9iLf4{9?37u1bK!7|R!SHEW0NyCQapz;c7Z M)78&qol`;+09MB@5dZ)H literal 1132 zcmeAS@N?(olHy`uVBq!ia0y~yU~~hr12~w0WY9;Q4?s#Hz$e7@|Ns9$=8HF9OZyK^ z0J6aNz<~p-ope`2kYKmUQk9pbs&1ZK+J;_15uJgP4te!V z61nzT;&hemykFlQNxhlzaAn`5C7s*)igFY@^m-J(c-H+dj@V?~D z#lH3aZ-&LJ|8E$UhtHOI<`~QC{^Q<>*->%Nex^>S?=0+pdTNzglkIPL_R^zuHv?DtjIOH!qmBWPe!FlqDO47OS*Ql~C1Ob40^4 z@ved1=}k+frA9I_{V4g%u!KR$tA`=*?;jQSh6O^(4k6}UCj}Lj9pU)Ers~qL0VopD zDX6gK2!}ve5(|g6Aydm#2}WT2FeIwFQ7XNUF&JgZNowguJcYNPpNy;*ef+|J zp?O{6p84;;-9C4H-^r>sTQ}O31h4nacK^G5YtCnzduMZ{vkmRe$e%uUzm5Om+oQL> zv1c#4yu#|hjrTX^zB$3zW1h$Te*3G1U$1Su_iOLddr9uwo>upib*AUrSeQr%cjXI;G(sv*In6v|ZI44Zxy-!PC{xWt~$(69D_O9<2ZX diff --git a/doc/html/a00094.html b/doc/html/a00094.html index e84d401..8de580f 100644 --- a/doc/html/a00094.html +++ b/doc/html/a00094.html @@ -4,7 +4,7 @@ -tbb::flow::interface10::opencl_buffer< T, Factory > Class Template Reference +tbb::flow::interface10::opencl_device Class Reference @@ -33,7 +33,7 @@
+List of all members
-
tbb::flow::interface10::opencl_buffer< T, Factory > Class Template Reference
+
tbb::flow::interface10::opencl_device Class Reference
-
-Inheritance diagram for tbb::flow::interface10::opencl_buffer< T, Factory >:
-
-
- - -tbb::flow::interface10::opencl_subbuffer< T, Factory > - -
- - - - - - - - - + + + +

Public Types

-typedef cl_mem native_object_type
 
-typedef opencl_buffer memory_object_type
 
-typedef Factory opencl_factory_type
 
-template<access_type a>
using iterator = T *
 
enum  : device_id_type { unknown = device_id_type( -2 ), +host = device_id_type( -1 ) + }
 
+typedef size_t device_id_type
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

-template<access_type a>
iterator< a > access () const
 
-T * data () const
 
-template<access_type a = read_write>
iterator< a > begin () const
 
-template<access_type a = read_write>
iterator< a > end () const
 
-size_t size () const
 
-T & operator[] (ptrdiff_t k)
 
opencl_buffer (size_t size)
 
opencl_buffer (Factory &f, size_t size)
 
-cl_mem native_object () const
 
-const opencl_buffermemory_object () const
 
-void send (opencl_device device, opencl_async_msg< opencl_buffer, Factory > &dependency) const
 
-void receive (const opencl_async_msg< opencl_buffer, Factory > &dependency) const
 
-opencl_subbuffer< T, Factory > subbuffer (size_t index, size_t size) const
 
opencl_device (cl_device_id d_id)
 
opencl_device (cl_device_id cl_d_id, device_id_type device_id)
 
+std::string platform_profile () const
 
+std::string platform_version () const
 
+std::string platform_name () const
 
+std::string platform_vendor () const
 
+std::string platform_extensions () const
 
+template<typename T >
void info (cl_device_info i, T &t) const
 
+std::string version () const
 
+int major_version () const
 
+int minor_version () const
 
+bool out_of_order_exec_mode_on_host_present () const
 
+bool out_of_order_exec_mode_on_device_present () const
 
+std::array< size_t, 3 > max_work_item_sizes () const
 
+size_t max_work_group_size () const
 
+bool built_in_kernel_available (const std::string &k) const
 
+std::string built_in_kernels () const
 
+std::string name () const
 
+cl_bool available () const
 
+cl_bool compiler_available () const
 
+cl_bool linker_available () const
 
+bool extension_available (const std::string &ext) const
 
+std::string extensions () const
 
+cl_device_type type () const
 
+std::string vendor () const
 
+cl_uint address_bits () const
 
+cl_device_id device_id () const
 
+cl_command_queue command_queue () const
 
+void set_command_queue (cl_command_queue cmd_queue)
 
+template<typename DeviceFilter > - - - - - + + + + + + + + + + +

Friends

-template<typename >
class opencl_factory
 
-template<typename , typename >
class opencl_subbuffer
 
-bool operator== (const opencl_buffer< T, Factory > &lhs, const opencl_buffer< T, Factory > &rhs)
 
+template<typename Factory >
class opencl_memory
 
+template<typename Factory >
class opencl_program
 
+template<typename T , typename Factory >
class opencl_buffer
 
+bool operator== (opencl_device d1, opencl_device d2)
 

The documentation for this class was generated from the following file:
  • flow_graph_opencl_node.h
  • diff --git a/doc/html/a00095.html b/doc/html/a00095.html index 19d40eb..c91bc92 100644 --- a/doc/html/a00095.html +++ b/doc/html/a00095.html @@ -4,7 +4,7 @@ -tbb::flow::interface10::opencl_buffer_impl< Factory > Class Template Reference +tbb::flow::interface10::opencl_device_list Class Reference @@ -33,94 +33,64 @@
-
tbb::flow::interface10::opencl_buffer_impl< Factory > Class Template Reference
+
tbb::flow::interface10::opencl_device_list Class Reference
-
-Inheritance diagram for tbb::flow::interface10::opencl_buffer_impl< Factory >:
-
-
- - -tbb::flow::interface10::opencl_memory< Factory > - -
+ + + + + + + +

+Public Types

+typedef container_type::iterator iterator
 
+typedef
+container_type::const_iterator 
const_iterator
 
+typedef container_type::size_type size_type
 
- - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

opencl_buffer_impl (size_t size, Factory &f)
 
opencl_buffer_impl (cl_mem m, size_t index, size_t size, Factory &f)
 
-size_t size () const
 
-void map_memory (opencl_device device, opencl_async_msg< void *, Factory > &dmsg) __TBB_override
 
- Public Member Functions inherited from tbb::flow::interface10::opencl_memory< Factory >
opencl_memory (Factory &f)
 
-cl_mem get_cl_mem () const
 
-void * get_host_ptr ()
 
-Factory * factory () const
 
-opencl_async_msg< void *, Factory > receive (const cl_event *e)
 
-opencl_async_msg< void *, Factory > send (opencl_device device, const cl_event *e)
 
- - - - -

-Friends

-template<typename , typename >
class opencl_buffer
 
- - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + +

-Additional Inherited Members

- Protected Attributes inherited from tbb::flow::interface10::opencl_memory< Factory >
-cl_mem my_cl_mem
 
-tbb::atomic
-< opencl_device::device_id_type > 
my_curr_device_id
 
-void * my_host_ptr
 
-Factory * my_factory
 
-tbb::spin_mutex my_sending_lock
 
-bool my_sending_event_present
 
-cl_event my_sending_event
 
opencl_device_list (std::initializer_list< opencl_device > il)
 
+void add (opencl_device d)
 
+size_type size () const
 
+bool empty () const
 
+iterator begin ()
 
+iterator end ()
 
+const_iterator begin () const
 
+const_iterator end () const
 
+const_iterator cbegin () const
 
+const_iterator cend () const
 

The documentation for this class was generated from the following file:
  • flow_graph_opencl_node.h
  • diff --git a/doc/html/a00095.png b/doc/html/a00095.png deleted file mode 100644 index 46c39ab38d17fab5ec03b1f82d2eae1e036cda86..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1161 zcmeAS@N?(olHy`uVBq!ia0y~yU^D}=12~w0#ZyXjmX4>ot&El3;_9Sm6uEMldIo7|G53_^4e*ovtK9deYt0?^Xu+k`O-JvygC1D)7q^!zP;QX z{eNZdmmm8|=T*kB&sm>Te#O0JzhBVz&zp0*AMCiovu1kR+P(7Wa>`|?-7Ai##on=< zIV&(Q_w$*}h4)3f|7E@T^;+-LnWu`fV!QKxP4D|}DEl_iK7ID->z|BVOITj*wh#ES z^=$Vl52;elcj_Bt(>HHg$-bNax9YZSZ{(uqK2N$We9d-A`Hh@J`Gb3V-)b<{ZTsq> zXJ$7!_xkG4D|K<-WWRmqFF#ba>GfLfwAq^B_vRfl*=M~(cRBP-mY7) zjrT@c_U#*<$GbAWy}nj#otl3xPd%4+(@neY=l!$pwxR z{+!dBbXKNDPHSMW3yo*cZ0Hb@b_j`&Kgp}G;s~3-)#j)o<_^t`jC&TgunB}EF>`2d zWNevwg8>+k3_w#FHUO1Jbn+^!0V<|U`kH#O_R=XKnoC_=7(E!zpxdLh?fBBWGu^6r zx9yc!ZWG36aVyTITJXRUJz3kcKbFloc=^^=Ri?lBdh5b(%;OiHcC3TJ=53*0RBfkj zTDsN=iEYp8S?~yp3CD zn&0@v(LOh(R$_AQ?CFn#j5k>3GhYAx_)PMVbvf^S=X zv_6-X8q8lN|JXYxHjVzt2+8D%Pk_iuKs&rOp)uvKqb9iLf4{9?37u1bK!7|R!SHEW0NyCQapz;c7Z M)78&qol`;+09MB@5dZ)H diff --git a/doc/html/a00096.html b/doc/html/a00096.html index fbaacc7..b5eb7e7 100644 --- a/doc/html/a00096.html +++ b/doc/html/a00096.html @@ -4,7 +4,7 @@ -tbb::flow::interface10::opencl_device Class Reference +tbb::flow::interface10::opencl_factory< DeviceFilter > Class Template Reference @@ -33,142 +33,80 @@
-
tbb::flow::interface10::opencl_device Class Reference
+
tbb::flow::interface10::opencl_factory< DeviceFilter > Class Template Reference
+ + + +

+Classes

class  kernel
 
- - - - + + + + + + + + +

Public Types

enum  : device_id_type { unknown = device_id_type( -2 ), -host = device_id_type( -1 ) - }
 
-typedef size_t device_id_type
 
+template<typename T >
using async_msg_type = opencl_async_msg< T, opencl_factory< DeviceFilter >>
 
+typedef opencl_device device_type
 
+typedef kernel kernel_type
 
+typedef opencl_range range_type
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + +

Public Member Functions

opencl_device (cl_device_id d_id)
 
opencl_device (cl_device_id cl_d_id, device_id_type device_id)
 
-std::string platform_profile () const
 
-std::string platform_version () const
 
-std::string platform_name () const
 
-std::string platform_vendor () const
 
-std::string platform_extensions () const
 
-template<typename T >
void info (cl_device_info i, T &t) const
 
-std::string version () const
 
-int major_version () const
 
-int minor_version () const
 
-bool out_of_order_exec_mode_on_host_present () const
 
-bool out_of_order_exec_mode_on_device_present () const
 
-std::array< size_t, 3 > max_work_item_sizes () const
 
-size_t max_work_group_size () const
 
-bool built_in_kernel_available (const std::string &k) const
 
-std::string built_in_kernels () const
 
-std::string name () const
 
-cl_bool available () const
 
-cl_bool compiler_available () const
 
-cl_bool linker_available () const
 
-bool extension_available (const std::string &ext) const
 
-std::string extensions () const
 
-cl_device_type type () const
 
-std::string vendor () const
 
-cl_uint address_bits () const
 
-cl_device_id device_id () const
 
-cl_command_queue command_queue () const
 
-void set_command_queue (cl_command_queue cmd_queue)
 
+bool init (const opencl_device_list &device_list)
 
+template<typename... Args>
void send_kernel (opencl_device device, const kernel_type &kernel, const range_type &work_size, Args &...args)
 
+template<typename T , typename... Rest>
void send_data (opencl_device device, T &t, Rest &...args)
 
+void send_data (opencl_device)
 
+template<typename FinalizeFn , typename... Args>
void finalize (opencl_device device, FinalizeFn fn, Args &...args)
 
+const opencl_device_listdevices ()
 
- - - - - - - - - - - + + + + + +

Friends

-template<typename DeviceFilter >
class opencl_factory
 
-template<typename Factory >
class opencl_memory
 
template<typename Factory >
class opencl_program
 
-template<typename T , typename Factory >
class opencl_buffer
 
-bool operator== (opencl_device d1, opencl_device d2)
 
+template<typename Factory >
class opencl_buffer_impl
 
+template<typename Factory >
class opencl_memory
 

The documentation for this class was generated from the following file:
  • flow_graph_opencl_node.h
  • diff --git a/doc/html/a00097.html b/doc/html/a00097.html index 3c161a9..9c52ade 100644 --- a/doc/html/a00097.html +++ b/doc/html/a00097.html @@ -4,7 +4,7 @@ -tbb::flow::interface10::opencl_device_list Class Reference +tbb::flow::interface10::opencl_memory< Factory > Class Template Reference @@ -33,64 +33,76 @@
-
tbb::flow::interface10::opencl_device_list Class Reference
+
tbb::flow::interface10::opencl_memory< Factory > Class Template Referenceabstract
+
+Inheritance diagram for tbb::flow::interface10::opencl_memory< Factory >:
+
+
+ + +tbb::flow::interface10::opencl_buffer_impl< Factory > + +
- - - - - - - -

-Public Types

-typedef container_type::iterator iterator
 
-typedef
-container_type::const_iterator 
const_iterator
 
-typedef container_type::size_type size_type
 
- - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + +

Public Member Functions

opencl_device_list (std::initializer_list< opencl_device > il)
 
-void add (opencl_device d)
 
-size_type size () const
 
-bool empty () const
 
-iterator begin ()
 
-iterator end ()
 
-const_iterator begin () const
 
-const_iterator end () const
 
-const_iterator cbegin () const
 
-const_iterator cend () const
 
opencl_memory (Factory &f)
 
+cl_mem get_cl_mem () const
 
+void * get_host_ptr ()
 
+Factory * factory () const
 
+opencl_async_msg< void *, Factory > receive (const cl_event *e)
 
+opencl_async_msg< void *, Factory > send (opencl_device device, const cl_event *e)
 
+virtual void map_memory (opencl_device, opencl_async_msg< void *, Factory > &)=0
 
+ + + + + + + + + + + + + + +

+Protected Attributes

+cl_mem my_cl_mem
 
+tbb::atomic
+< opencl_device::device_id_type > 
my_curr_device_id
 
+void * my_host_ptr
 
+Factory * my_factory
 
+tbb::spin_mutex my_sending_lock
 
+bool my_sending_event_present
 
+cl_event my_sending_event
 

The documentation for this class was generated from the following file:
  • flow_graph_opencl_node.h
  • diff --git a/doc/html/a00097.png b/doc/html/a00097.png new file mode 100644 index 0000000000000000000000000000000000000000..ccd505daffccbdc5b64b60d7a6df1e19730ac2c9 GIT binary patch literal 1158 zcmeAS@N?(olHy`uVBq!ia0y~yU^D}=12~w0U5Ie*1ph z9md-S*O}`}nGrA#~6 z*%Pkm2mU_4`0e%;wMu3U{^3c?9NHThTc+M%IOLVXkZ8LB7$vKw1TiuF2&rXU!k`2c z46LnHHE&n|jGhqwtdqP7%Z{*p;8it2iLfvXIoc zcf*q=FWDe8TcvgC4HeBbN7OtMO>;ey_-nx&{s~JWm-o#} zs|ogdp7`#w^2wO**S>Py-duS2(jFzxPg~Z0UUqf*jijF7YA?3^nJ6CU3~UwcI8dys>ZWNCjEZrJE5Or_iClgYb@{BH@;2ZyfKr#I_9x= zPHhy!?FYZPX0K#;tho13TJhgoT}ijk@0QP1o;11le&@E&H^ncSJ^ifIJ6$~2eRAK` z#NFu^(=JWje#SCwJ>SdTJ87{Mk*}4upEZ4@b!*?u+t0KfKi#%-(z%xx-&{ZYyzE5S zoV#APxKp;*u9^FI^U6u@cGi6<70uPx&WwJsMRrchbQ`x(IyU+j2H>NGg zH`=9Q`H5{`^V#{cFRFPyx0?CO5~yf?AV&1qZnzqiz3N&N^DpLuS`J!jMvrQMg$9GC LtDnm{r-UW|>RLHH literal 0 HcmV?d00001 diff --git a/doc/html/a00098.html b/doc/html/a00098.html index b953da7..b03425f 100644 --- a/doc/html/a00098.html +++ b/doc/html/a00098.html @@ -4,7 +4,7 @@ -tbb::flow::interface10::opencl_factory< DeviceFilter > Class Template Reference +tbb::flow::interface10::opencl_node< Args > Class Template Reference @@ -33,81 +33,14 @@
-
-
tbb::flow::interface10::opencl_factory< DeviceFilter > Class Template Reference
+
tbb::flow::interface10::opencl_node< Args > Class Template Reference
- - - - -

-Classes

class  kernel
 
- - - - - - - - - - -

-Public Types

-template<typename T >
using async_msg_type = opencl_async_msg< T, opencl_factory< DeviceFilter >>
 
-typedef opencl_device device_type
 
-typedef kernel kernel_type
 
-typedef opencl_range range_type
 
- - - - - - - - - - - - - - - - -

-Public Member Functions

-bool init (const opencl_device_list &device_list)
 
-template<typename... Args>
void send_kernel (opencl_device device, const kernel_type &kernel, const range_type &work_size, Args &...args)
 
-template<typename T , typename... Rest>
void send_data (opencl_device device, T &t, Rest &...args)
 
-void send_data (opencl_device)
 
-template<typename FinalizeFn , typename... Args>
void finalize (opencl_device device, FinalizeFn fn, Args &...args)
 
-const opencl_device_listdevices ()
 
- - - - - - - - - - -

-Friends

-template<typename Factory >
class opencl_program
 
-template<typename Factory >
class opencl_buffer_impl
 
-template<typename Factory >
class opencl_memory
 

The documentation for this class was generated from the following file:
  • flow_graph_opencl_node.h
diff --git a/doc/html/a00099.html b/doc/html/a00099.html index be12e29..97a9fd1 100644 --- a/doc/html/a00099.html +++ b/doc/html/a00099.html @@ -4,7 +4,7 @@ -tbb::flow::interface10::opencl_memory< Factory > Class Template Reference +tbb::flow::interface10::opencl_node< tuple< Ports...> > Class Template Reference @@ -33,76 +33,43 @@
-
tbb::flow::interface10::opencl_memory< Factory > Class Template Referenceabstract
+
tbb::flow::interface10::opencl_node< tuple< Ports...> > Class Template Reference
-Inheritance diagram for tbb::flow::interface10::opencl_memory< Factory >:
+Inheritance diagram for tbb::flow::interface10::opencl_node< tuple< Ports...> >:
- - -tbb::flow::interface10::opencl_buffer_impl< Factory > + + +tbb::flow::interface10::opencl_node< tuple< Ports...>, queueing, opencl_info::default_opencl_factory >
+ + + +

+Public Types

+typedef base_type::kernel_type kernel_type
 
- - - - - - - - - - - - - - -

Public Member Functions

opencl_memory (Factory &f)
 
-cl_mem get_cl_mem () const
 
-void * get_host_ptr ()
 
-Factory * factory () const
 
-opencl_async_msg< void *, Factory > receive (const cl_event *e)
 
-opencl_async_msg< void *, Factory > send (opencl_device device, const cl_event *e)
 
-virtual void map_memory (opencl_device, opencl_async_msg< void *, Factory > &)=0
 
- - - - - - - - - - - - - - - + + + + +

-Protected Attributes

-cl_mem my_cl_mem
 
-tbb::atomic
-< opencl_device::device_id_type > 
my_curr_device_id
 
-void * my_host_ptr
 
-Factory * my_factory
 
-tbb::spin_mutex my_sending_lock
 
-bool my_sending_event_present
 
-cl_event my_sending_event
 
opencl_node (graph &g, const kernel_type &kernel)
 
+template<typename DeviceSelector >
 opencl_node (graph &g, const kernel_type &kernel, DeviceSelector d)
 

The documentation for this class was generated from the following file:
  • flow_graph_opencl_node.h
  • diff --git a/doc/html/a00099.png b/doc/html/a00099.png index ccd505daffccbdc5b64b60d7a6df1e19730ac2c9..4a6091550558b3a238fa9118cd2ab91422910b63 100644 GIT binary patch literal 1611 zcmc(fdpOg39LIlgqAYgK;V31#EOHIaD0K1Aj7DzlXlCScFeA62xl~J9J))61k4x)d zdvK6x#N47NhN8L5goMpf9Aj>4XU^rRKhFQ>`#j&z=k@tK-#9PHcxKn^M6bKB%)@#tcef-LPich`r^cZ<))V%PG|V-rk~vIW5s%rJ4Vrh{!LoAA ztmLYtc;y6|b})WDWl*aH8W4r0upH8E5Hn?My zqU+^UO;l!4L3L-s@Vto19fZ3P8=+>1&R;`yFvDTpJ-2WUhXlu5xRfGY>uP~;+SUnk z&;NdnpHJ8lcu3Saene&nBg~Ia2=BK^-T{mN)k@LOoGc`UFa}yORH6yp&!Hy=vKyG zyi+GYIJ9dfder5kcJqq32Q%(C9oF-HLx0?;f_GFGrEkxu*JNfXOm%x|y+=WoVw@J! zVX;>e@-$4tdhw-|nA(se`j`|^`m%H>w`!-cSdXjL(J+Ro76`6C9DZvUGd3{MYJ;6J zPIhypTCv6$g2-U42vS4;>+w{h<*4x4)}(Cx_Rta};__umF2fYtgPc)q%FOL?ri)Rl zmKIEP%_&;Ex-N--lsAmHuYE=r7P!93w~J79zO-+e&oue)wu<{qogX%v#TmHtF{J_2 zn|91Qf1ZrQT+>i6Gv*nTC2Edmy3Z0hG;<-Z*1ONnhJM360*r#sE^VY~WzC`Qb|UVztv?E_ zr9v6A@Datnh``3UHcyeSJ3}J{o#@b!nOPM5A140C(RIU547)Do1bVR< zhFv=Vh4E}GpwI%G^~(izv_PAay>tP2liPSX6QG|Lz;Ff>e19DI&KGEsXUU>$Ib;p3 z&Bp(Vy?VuJ?v8r2Y&RMe*d-hI>gK?ULpn0d_=>&s;g~($Nv9&crvj)b)x%H8oUhMA(Uz$io`V;;(?G+QQb97Uv>B z(W4bO(O}woMo{A*9QW)?1d+jvZU$q`laUueqtkKSj2GvH{B{BKAiK=GkW5N3ij~{I zoG`V(w^}zXCo)q!b3+rbiwlq@FG&dg7A9{r^&s?{y#r%Z;9|wnx37o(QIT1!L<-(u@@EImdANjYV$`h1k?>*7fGv2KouWZZ8o{Wj{)G{`#z)8S-DSnFLxNXz+s6+G-{G4Xe0${{m--Ep z<5halEFncFZ~TtSJ7X?aZ?M)X};bH{*_dAqUnVPZ9Hv zbQr}YCILRrVOutEmKIwY$X~_!Mz_C_7pDKO%0VmOr91*{1l99W_VWV>duO`}TiU5Ie*1ph z9md-S*O}`}nGrA#~6 z*%Pkm2mU_4`0e%;wMu3U{^3c?9NHThTc+M%IOLVXkZ8LB7$vKw1TiuF2&rXU!k`2c z46LnHHE&n|jGhqwtdqP7%Z{*p;8it2iLfvXIoc zcf*q=FWDe8TcvgC4HeBbN7OtMO>;ey_-nx&{s~JWm-o#} zs|ogdp7`#w^2wO**S>Py-duS2(jFzxPg~Z0UUqf*jijF7YA?3^nJ6CU3~UwcI8dys>ZWNCjEZrJE5Or_iClgYb@{BH@;2ZyfKr#I_9x= zPHhy!?FYZPX0K#;tho13TJhgoT}ijk@0QP1o;11le&@E&H^ncSJ^ifIJ6$~2eRAK` z#NFu^(=JWje#SCwJ>SdTJ87{Mk*}4upEZ4@b!*?u+t0KfKi#%-(z%xx-&{ZYyzE5S zoV#APxKp;*u9^FI^U6u@cGi6<70uPx&WwJsMRrchbQ`x(IyU+j2H>NGg zH`=9Q`H5{`^V#{cFRFPyx0?CO5~yf?AV&1qZnzqiz3N&N^DpLuS`J!jMvrQMg$9GC LtDnm{r-UW|>RLHH diff --git a/doc/html/a00100.html b/doc/html/a00100.html index ff957a3..955514f 100644 --- a/doc/html/a00100.html +++ b/doc/html/a00100.html @@ -4,7 +4,7 @@ -tbb::flow::interface10::opencl_node< Args > Class Template Reference +tbb::flow::interface10::opencl_node< tuple< Ports...>, JP > Class Template Reference @@ -33,14 +33,44 @@
+
-
tbb::flow::interface10::opencl_node< Args > Class Template Reference
+
tbb::flow::interface10::opencl_node< tuple< Ports...>, JP > Class Template Reference
+
+Inheritance diagram for tbb::flow::interface10::opencl_node< tuple< Ports...>, JP >:
+
+
+ + +tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, opencl_info::default_opencl_factory > + +
+ + + + +

+Public Types

+typedef base_type::kernel_type kernel_type
 
+ + + + + + +

+Public Member Functions

opencl_node (graph &g, const kernel_type &kernel)
 
+template<typename DeviceSelector >
 opencl_node (graph &g, const kernel_type &kernel, DeviceSelector d)
 

The documentation for this class was generated from the following file:
  • flow_graph_opencl_node.h
diff --git a/doc/html/a00100.png b/doc/html/a00100.png new file mode 100644 index 0000000000000000000000000000000000000000..0efca40bd406be819b4995adf281ada7f76b93ca GIT binary patch literal 1585 zcmcgsX;hL~82-#-xm8nXCCU@|J-x#eV+Ti&pqe;@jN%l-PK{Ms*WlE z09(9z4B{w3cAI=<5Rkhq}`Le(o8^z2mB&h z83$hnW`+3lK&Y`BZITfT4@TOmGdFW`)T#pbz;p#ICy^@-4+4h`$#WF_dIcMnC_j#iqq@2d}&TT;Nyp3eZ$?{XC`Xw zeKsr3=6mGv)~!buA{RAdN$dF|qM&T4V>GbYVy(PA}|vOGeMOP1ihk2kMK zqcDlZ>B5M9A&n%Nj55!e8w+jUuZiRu$FBCVEW<2Ea#{lT6Vs+&)jPsmxQJs=xJ9`T;nL~lX37Ab$;9f(Du*8 z;NPDrb zy_;TOJ*$wOLpJx$#4!(P_{FV^Hld>HW_ZM+#nU#aGB{Es3EhcHd>P4`Gd6l-7kR&> zdiT&&1xTpl#eOMwq%x_Xele@Gq~8CKOtwHAu=0`y^1}!?ZZvP|UE?Y$cmXB9YT;2o z%KB-IS@>~W3--}Dir&B;Z}JCB!d2rH92;*3dI9Pu z5-^Zue&8Fu4oyj6I2hg@Ty`0BQ&}-MqaMc`(4H`CqI>?u#nfM9jYE%M3nmk zj8*w;Buq%nW85A1JfWYw;(#puH%Y@O|0Ic8Nm=Ai=czjwaK?)`RGcequ%Ax5XA85q z+7y3kDdL7X>Xm)D4JQ?e@T~AIsRHNwh!sWF9`&tjGP@Txu{Fc}3u{|^my*iVPYT4B z3o|;(hC2H48P)~;U{n&UKPcbvV!Z literal 0 HcmV?d00001 diff --git a/doc/html/a00101.html b/doc/html/a00101.html index e477903..a45e5d9 100644 --- a/doc/html/a00101.html +++ b/doc/html/a00101.html @@ -4,7 +4,7 @@ -tbb::flow::interface10::opencl_node< tuple< Ports...> > Class Template Reference +tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory > Class Template Reference @@ -33,43 +33,45 @@
-
tbb::flow::interface10::opencl_node< tuple< Ports...> > Class Template Reference
+
tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory > Class Template Reference
-Inheritance diagram for tbb::flow::interface10::opencl_node< tuple< Ports...> >:
+Inheritance diagram for tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory >:
- - -tbb::flow::interface10::opencl_node< tuple< Ports...>, queueing, opencl_info::default_opencl_factory > + +
- - +

Public Types

+
typedef base_type::kernel_type kernel_type
 
 
- - - + + + + - - + +

Public Member Functions

opencl_node (graph &g, const kernel_type &kernel)
 
+
opencl_node (graph &g, const kernel_type &kernel)
 
opencl_node (graph &g, const kernel_type &kernel, Factory &f)
 
template<typename DeviceSelector >
 opencl_node (graph &g, const kernel_type &kernel, DeviceSelector d)
 
 opencl_node (graph &g, const kernel_type &kernel, DeviceSelector d, Factory &f)
 

The documentation for this class was generated from the following file:
  • flow_graph_opencl_node.h
  • diff --git a/doc/html/a00101.png b/doc/html/a00101.png index 4a6091550558b3a238fa9118cd2ab91422910b63..b87ca5cc69f1fbd508430f3f463871194bb8e344 100644 GIT binary patch literal 1284 zcmeAS@N?(olHy`uVBq!ia0y~yVC)9612~w0gC%yLKVCkO!=RTv+Smf zvr+$h#m+sSxMcONV@W27B@T~&Xg*W_?)NXEeyhyw$g@(x<*(KE`&gVQ{dw^2--%D= zDT~dGoGp8;QG8)cn&L^Tt?lprzI~+hBKz%~O&oVGUhVdqSeYo=@!IwHsr+}j`+OcV zTdpcR^Q2cZ`{Wk8^hln`bA1)N3nD6vo&M(tJq(PDdea$M!l3%HdRNTu-J5qR*BR?s z&HnZ%$vQ{fYkSnN$KYU!JcydqN^=|Ws zoVU4=ccS%|$!rbT_tC`p*MyU{#rtk-h)Ca>e^)N~`IM<;ZKj&3k#!6ApMCqc<*Vr{ z`Ol9wr3AmwXZn%SH)%`A zO^g#9jxs59cdi!Fd@ zM=6h~bd7G`h!|yqEH!r9D{j>1l zlV=UpaT_c4&52kky~#hx=K0Cc`o^Qy?d*4qcdwaS@X3Th`mD}8zp6jIeo+Vc_DM@k zmp^;S`SOL0f25<2l`bp)zIEO{POa^^f3D5BzJAxdb?J7#F>AUO725XN|5>@gHs#{1 zyF1h0Ywg-0AwGZqw6oLJPd$3;e*c{4KW9pRPiwvZ=*3x8`|J1euKzHI(v%aEy_dUl zc1eFk&YJ!^mv!$vUy+xxBki_i&NcSF^QE_Ua4f9k*k|yT_gk6l?!~Lc=Pp{ovDzU< zU+FdPi>tbS9D%8~cuRSD&B>&>W%G_29Jf?W5#%clS3R)RU%BbpvlYr>vIp`v&bS;a zBi}9+eRce{N$WD|T+<&68%{y!(sa>EA1( UjF_@zz#@ym)78&qol`;+0Mfi{#{d8T literal 1611 zcmc(fdpOg39LIlgqAYgK;V31#EOHIaD0K1Aj7DzlXlCScFeA62xl~J9J))61k4x)d zdvK6x#N47NhN8L5goMpf9Aj>4XU^rRKhFQ>`#j&z=k@tK-#9PHcxKn^M6bKB%)@#tcef-LPich`r^cZ<))V%PG|V-rk~vIW5s%rJ4Vrh{!LoAA ztmLYtc;y6|b})WDWl*aH8W4r0upH8E5Hn?My zqU+^UO;l!4L3L-s@Vto19fZ3P8=+>1&R;`yFvDTpJ-2WUhXlu5xRfGY>uP~;+SUnk z&;NdnpHJ8lcu3Saene&nBg~Ia2=BK^-T{mN)k@LOoGc`UFa}yORH6yp&!Hy=vKyG zyi+GYIJ9dfder5kcJqq32Q%(C9oF-HLx0?;f_GFGrEkxu*JNfXOm%x|y+=WoVw@J! zVX;>e@-$4tdhw-|nA(se`j`|^`m%H>w`!-cSdXjL(J+Ro76`6C9DZvUGd3{MYJ;6J zPIhypTCv6$g2-U42vS4;>+w{h<*4x4)}(Cx_Rta};__umF2fYtgPc)q%FOL?ri)Rl zmKIEP%_&;Ex-N--lsAmHuYE=r7P!93w~J79zO-+e&oue)wu<{qogX%v#TmHtF{J_2 zn|91Qf1ZrQT+>i6Gv*nTC2Edmy3Z0hG;<-Z*1ONnhJM360*r#sE^VY~WzC`Qb|UVztv?E_ zr9v6A@Datnh``3UHcyeSJ3}J{o#@b!nOPM5A140C(RIU547)Do1bVR< zhFv=Vh4E}GpwI%G^~(izv_PAay>tP2liPSX6QG|Lz;Ff>e19DI&KGEsXUU>$Ib;p3 z&Bp(Vy?VuJ?v8r2Y&RMe*d-hI>gK?ULpn0d_=>&s;g~($Nv9&crvj)b)x%H8oUhMA(Uz$io`V;;(?G+QQb97Uv>B z(W4bO(O}woMo{A*9QW)?1d+jvZU$q`laUueqtkKSj2GvH{B{BKAiK=GkW5N3ij~{I zoG`V(w^}zXCo)q!b3+rbiwlq@FG&dg7A9{r^&s?{y#r%Z;9|wnx37o(QIT1!L<-(u@@EImdANjYV$`h1k?>*7fGv2KouWZZ8o{Wj{)G{`#z)8S-DSnFLxNXz+s6+G-{G4Xe0${{m--Ep z<5halEFncFZ~TtSJ7X?aZ?M)X};bH{*_dAqUnVPZ9Hv zbQr}YCILRrVOutEmKIwY$X~_!Mz_C_7pDKO%0VmOr91*{1l99W_VWV>duO`}Ti -tbb::flow::interface10::opencl_node< tuple< Ports...>, JP > Class Template Reference +tbb::flow::interface10::opencl_program< Factory > Class Template Reference @@ -33,43 +33,75 @@
-
tbb::flow::interface10::opencl_node< tuple< Ports...>, JP > Class Template Reference
+
tbb::flow::interface10::opencl_program< Factory > Class Template Reference
-Inheritance diagram for tbb::flow::interface10::opencl_node< tuple< Ports...>, JP >:
+Inheritance diagram for tbb::flow::interface10::opencl_program< Factory >:
- - -tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, opencl_info::default_opencl_factory > + +
- - + +

Public Types

-typedef base_type::kernel_type kernel_type
 
+typedef Factory::kernel_type kernel_type
 
- - - - - + + + + + + + + + + + + + + + + + + +

Public Member Functions

opencl_node (graph &g, const kernel_type &kernel)
 
-template<typename DeviceSelector >
 opencl_node (graph &g, const kernel_type &kernel, DeviceSelector d)
 
opencl_program (Factory &factory, opencl_program_type type, const std::string &program_name)
 
opencl_program (Factory &factory, const char *program_name)
 
opencl_program (Factory &factory, const std::string &program_name)
 
opencl_program (opencl_program_type type, const std::string &program_name)
 
opencl_program (const char *program_name)
 
opencl_program (const std::string &program_name)
 
opencl_program (opencl_program_type type)
 
opencl_program (const opencl_program &src)
 
+kernel_type get_kernel (const std::string &k) const
 
+ + + + + + +

+Friends

+template<typename DeviceFilter >
class opencl_factory
 
+template<typename DeviceFilter >
class opencl_factory< DeviceFilter >::kernel
 

The documentation for this class was generated from the following file:
  • flow_graph_opencl_node.h
  • diff --git a/doc/html/a00102.png b/doc/html/a00102.png index 0efca40bd406be819b4995adf281ada7f76b93ca..8ce2c236820443b396cd09c4c062ee66d1b7e022 100644 GIT binary patch delta 828 zcmdnU^PEkwGr-TCmrII^fq{Y7)59f*fq_vC$PVCO29nKU8VwT_t?HS+dAc};R4~4s zd%JJ3fdK33r4!Hn|Nl`aZ{LvzDYC3--!oQBka+CvyZiUl4h~_#LN-NDw@G~))jVG% z`A)iWbe77>Zd1>o>9@0Y9seW)6nSdoyKqK&-_vbd^Ll?jKXb)$ucGJuXI8$SkBM_1 z<>X#jnCo$gHAcdh*Y|bv(!~GuHgB{%?>|hNwaj_@yiIQ|LpYd%BkMbsB{xs{!drKG;p8RU7!L9bc4_JC zuwZBfexcYL!pc>16zWOyKn=e z#PN$P2@J;yO-K>mnQY?fGNYrzn1g}2pvRQ4WTRSx-ZhpBM`tnYdNXTT^sg|HL&+0g zI^IpK;$Cp@(}O^3hPWrn|4(gAsb~E8_0|Pj-+p=ho{&<@X`=5KBd$#xY^qdzvGwU|g>*$`gc>Vs-wms2VQM=b)-d3Ob`fl3Ewm9}Xv!|_h zsGB_UPu0_p{JJExC?jN7h{)-w=C5N!lNqLeyk*5# zRa+puKkD+Fo8OiAm#pS7ZxFnt{FnRUlvg$fB-$@liTg5a2gO5#u!DFu(~BfuhFCRU gK|wX8M=kc8PlUEq>Nu^K56ln@p00i_>zopr0CvBEfdBvi literal 1585 zcmcgsX;hL~82-#-xm8nXCCU@|J-x#eV+Ti&pqe;@jN%l-PK{Ms*WlE z09(9z4B{w3cAI=<5Rkhq}`Le(o8^z2mB&h z83$hnW`+3lK&Y`BZITfT4@TOmGdFW`)T#pbz;p#ICy^@-4+4h`$#WF_dIcMnC_j#iqq@2d}&TT;Nyp3eZ$?{XC`Xw zeKsr3=6mGv)~!buA{RAdN$dF|qM&T4V>GbYVy(PA}|vOGeMOP1ihk2kMK zqcDlZ>B5M9A&n%Nj55!e8w+jUuZiRu$FBCVEW<2Ea#{lT6Vs+&)jPsmxQJs=xJ9`T;nL~lX37Ab$;9f(Du*8 z;NPDrb zy_;TOJ*$wOLpJx$#4!(P_{FV^Hld>HW_ZM+#nU#aGB{Es3EhcHd>P4`Gd6l-7kR&> zdiT&&1xTpl#eOMwq%x_Xele@Gq~8CKOtwHAu=0`y^1}!?ZZvP|UE?Y$cmXB9YT;2o z%KB-IS@>~W3--}Dir&B;Z}JCB!d2rH92;*3dI9Pu z5-^Zue&8Fu4oyj6I2hg@Ty`0BQ&}-MqaMc`(4H`CqI>?u#nfM9jYE%M3nmk zj8*w;Buq%nW85A1JfWYw;(#puH%Y@O|0Ic8Nm=Ai=czjwaK?)`RGcequ%Ax5XA85q z+7y3kDdL7X>Xm)D4JQ?e@T~AIsRHNwh!sWF9`&tjGP@Txu{Fc}3u{|^my*iVPYT4B z3o|;(hC2H48P)~;U{n&UKPcbvV!Z diff --git a/doc/html/a00103.html b/doc/html/a00103.html index 67e93a6..2e520f8 100644 --- a/doc/html/a00103.html +++ b/doc/html/a00103.html @@ -4,7 +4,7 @@ -tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory > Class Template Reference +tbb::flow::interface10::opencl_range Class Reference @@ -33,45 +33,41 @@
-
tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory > Class Template Reference
+
tbb::flow::interface10::opencl_range Class Reference
-
-Inheritance diagram for tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory >:
-
-
- - - -
- - + + + +

Public Types

-typedef base_type::kernel_type kernel_type
 
+typedef size_t range_index_type
 
+typedef std::array
+< range_index_type, 3 > 
nd_range_type
 
- - - - - - - + + + + + + +

Public Member Functions

opencl_node (graph &g, const kernel_type &kernel)
 
opencl_node (graph &g, const kernel_type &kernel, Factory &f)
 
-template<typename DeviceSelector >
 opencl_node (graph &g, const kernel_type &kernel, DeviceSelector d, Factory &f)
 
+template<typename G = std::initializer_list<int>, typename L = std::initializer_list<int>, typename = typename std::enable_if<!std::is_same<typename std::decay<G>::type, opencl_range>::value>::type>
 opencl_range (G &&global_work=std::initializer_list< int >({0}), L &&local_work=std::initializer_list< int >({0, 0, 0}))
 
+const nd_range_type & global_range () const
 
+const nd_range_type & local_range () const
 

The documentation for this class was generated from the following file:
  • flow_graph_opencl_node.h
  • diff --git a/doc/html/a00103.png b/doc/html/a00103.png deleted file mode 100644 index b87ca5cc69f1fbd508430f3f463871194bb8e344..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1284 zcmeAS@N?(olHy`uVBq!ia0y~yVC)9612~w0gC%yLKVCkO!=RTv+Smf zvr+$h#m+sSxMcONV@W27B@T~&Xg*W_?)NXEeyhyw$g@(x<*(KE`&gVQ{dw^2--%D= zDT~dGoGp8;QG8)cn&L^Tt?lprzI~+hBKz%~O&oVGUhVdqSeYo=@!IwHsr+}j`+OcV zTdpcR^Q2cZ`{Wk8^hln`bA1)N3nD6vo&M(tJq(PDdea$M!l3%HdRNTu-J5qR*BR?s z&HnZ%$vQ{fYkSnN$KYU!JcydqN^=|Ws zoVU4=ccS%|$!rbT_tC`p*MyU{#rtk-h)Ca>e^)N~`IM<;ZKj&3k#!6ApMCqc<*Vr{ z`Ol9wr3AmwXZn%SH)%`A zO^g#9jxs59cdi!Fd@ zM=6h~bd7G`h!|yqEH!r9D{j>1l zlV=UpaT_c4&52kky~#hx=K0Cc`o^Qy?d*4qcdwaS@X3Th`mD}8zp6jIeo+Vc_DM@k zmp^;S`SOL0f25<2l`bp)zIEO{POa^^f3D5BzJAxdb?J7#F>AUO725XN|5>@gHs#{1 zyF1h0Ywg-0AwGZqw6oLJPd$3;e*c{4KW9pRPiwvZ=*3x8`|J1euKzHI(v%aEy_dUl zc1eFk&YJ!^mv!$vUy+xxBki_i&NcSF^QE_Ua4f9k*k|yT_gk6l?!~Lc=Pp{ovDzU< zU+FdPi>tbS9D%8~cuRSD&B>&>W%G_29Jf?W5#%clS3R)RU%BbpvlYr>vIp`v&bS;a zBi}9+eRce{N$WD|T+<&68%{y!(sa>EA1( UjF_@zz#@ym)78&qol`;+0Mfi{#{d8T diff --git a/doc/html/a00104.html b/doc/html/a00104.html index 8566b9c..0ee096c 100644 --- a/doc/html/a00104.html +++ b/doc/html/a00104.html @@ -4,7 +4,7 @@ -tbb::flow::interface10::opencl_program< Factory > Class Template Reference +tbb::flow::interface10::opencl_subbuffer< T, Factory > Class Template Reference @@ -33,75 +33,92 @@
-
tbb::flow::interface10::opencl_program< Factory > Class Template Reference
+
tbb::flow::interface10::opencl_subbuffer< T, Factory > Class Template Reference
-Inheritance diagram for tbb::flow::interface10::opencl_program< Factory >:
+Inheritance diagram for tbb::flow::interface10::opencl_subbuffer< T, Factory >:
- - + + +tbb::flow::interface10::opencl_buffer< T, Factory >
- - - -

-Public Types

-typedef Factory::kernel_type kernel_type
 
- - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

opencl_program (Factory &factory, opencl_program_type type, const std::string &program_name)
 
opencl_program (Factory &factory, const char *program_name)
 
opencl_program (Factory &factory, const std::string &program_name)
 
opencl_program (opencl_program_type type, const std::string &program_name)
 
opencl_program (const char *program_name)
 
opencl_program (const std::string &program_name)
 
opencl_program (opencl_program_type type)
 
opencl_program (const opencl_program &src)
 
-kernel_type get_kernel (const std::string &k) const
 
opencl_subbuffer (const opencl_buffer< T, Factory > &owner, size_t index, size_t size)
 
- Public Member Functions inherited from tbb::flow::interface10::opencl_buffer< T, Factory >
+template<access_type a>
iterator< a > access () const
 
+T * data () const
 
+template<access_type a = read_write>
iterator< a > begin () const
 
+template<access_type a = read_write>
iterator< a > end () const
 
+size_t size () const
 
+T & operator[] (ptrdiff_t k)
 
opencl_buffer (size_t size)
 
opencl_buffer (Factory &f, size_t size)
 
+cl_mem native_object () const
 
+const opencl_buffermemory_object () const
 
+void send (opencl_device device, opencl_async_msg< opencl_buffer, Factory > &dependency) const
 
+void receive (const opencl_async_msg< opencl_buffer, Factory > &dependency) const
 
+opencl_subbuffer< T, Factory > subbuffer (size_t index, size_t size) const
 
- - - - - - - + + + + + + + + + + +

-Friends

-template<typename DeviceFilter >
class opencl_factory
 
-template<typename DeviceFilter >
class opencl_factory< DeviceFilter >::kernel
 

+Additional Inherited Members

- Public Types inherited from tbb::flow::interface10::opencl_buffer< T, Factory >
+typedef cl_mem native_object_type
 
+typedef opencl_buffer memory_object_type
 
+typedef Factory opencl_factory_type
 
+template<access_type a>
using iterator = T *
 

The documentation for this class was generated from the following file:
  • flow_graph_opencl_node.h
  • diff --git a/doc/html/a00104.png b/doc/html/a00104.png index 8ce2c236820443b396cd09c4c062ee66d1b7e022..98b15820ccac1b6236c910a19cb67b24f63929ef 100644 GIT binary patch literal 1176 zcmeAS@N?(olHy`uVBq!ia0y~yV6+9Y12~w0WK2ZRd>|ze;1lBd|Nnm=^TnI5rTvE{ z09jys;J^Xa&O7ozE=Ng_UoZnu5eQs86=KA|z@qNy;uuoF_;&8?vL_ZCuG{;rpZZ__ zDdeY`qH?@P+AbsC^0_yrsXE-|h?}`A)64g=3F{FRPfgFNHA~bz166H3yR=?<28DR~ zPg+#;V(QQB_qIM>D!n0_ul%=`XVI2D8jm?AUCDm&BKO&m>z~%kPe`fjcdB%G|F__9 z)qYLSPg{=FU4EsyH{1I7&q*m?YpdSp?)|6#@XC4P_hoW-@}p{c2TP`r7{L+;_~I7v~;&7ajCl`a*W|tET<`RGRNZGvrRUmH+N7{Qcj)`8#`W zOf_9HZC+{Nx0L=@2eV$^zQ#NMo}!ulk3?3f`FHZRzFuDYlI4Q>a@*wNcZv<8bEX~R z+&tgQCEz zYLZAOP{WEz^Hf~FE;9GMJZ09h%qqPG{%hh6TnY=8unSzd9{z~AL-Qpg%h#sqKNy_6 zsu&7Yts7QMl5+_0}Klpc5s(yLwAP|K-)xJk4$D-+SVEmuGW<)6cf%x7v1# zw~I2`e~&V1{(JxA-j7-4mkQs7wyWSa9@(XWkvym@kOMfJ7T@V&=M z^EF@BzLk~Vk$+`x-@IsWBJ#tQh~Dp;Wybivxwn3M=(ffZ+w%VHw?+a14# T*_J#279$Lvu6{1-oD!MZd1>o>9@0Y9seW)6nSdoyKqK&-_vbd^Ll?jKXb)$ucGJuXI8$SkBM_1 z<>X#jnCo$gHAcdh*Y|bv(!~GuHgB{%?>|hNwaj_@yiIQ|LpYd%BkMbsB{xs{!drKG;p8RU7!L9bc4_JC zuwZBfexcYL!pc>16zWOyKn=e z#PN$P2@J;yO-K>mnQY?fGNYrzn1g}2pvRQ4WTRSx-ZhpBM`tnYdNXTT^sg|HL&+0g zI^IpK;$Cp@(}O^3hPWrn|4(gAsb~E8_0|Pj-+p=ho{&<@X`=5KBd$#xY^qdzvGwU|g>*$`gc>Vs-wms2VQM=b)-d3Ob`fl3Ewm9}Xv!|_h zsGB_UPu0_p{JJExC?jN7h{)-w=C5N!lNqLeyk*5# zRa+puKkD+Fo8OiAm#pS7ZxFnt{FnRUlvg$fB-$@liTg5a2gO5#u!DFu(~BfuhFCRU gK|wX8M=kc8PlUEq>Nu^K56ln@p00i_>zopr030%cWdHyG diff --git a/doc/html/a00105.html b/doc/html/a00105.html index 3bdda08..59d30af 100644 --- a/doc/html/a00105.html +++ b/doc/html/a00105.html @@ -4,7 +4,7 @@ -tbb::flow::interface10::opencl_range Class Reference +tbb::parallel_while< Body > Class Template Reference @@ -33,44 +33,125 @@
-
tbb::flow::interface10::opencl_range Class Reference
+
tbb::parallel_while< Body > Class Template Reference
+ +

Parallel iteration over a stream, with optional addition of more work. + More...

+ +

#include <parallel_while.h>

+
+Inheritance diagram for tbb::parallel_while< Body >:
+
+
+ + + +
- - - - + + +

Public Types

-typedef size_t range_index_type
 
-typedef std::array
-< range_index_type, 3 > 
nd_range_type
 
+typedef Body::argument_type value_type
 Type of items.
 
- - - - - - - + + + + + + + + + + + + +

Public Member Functions

-template<typename G = std::initializer_list<int>, typename L = std::initializer_list<int>, typename = typename std::enable_if<!std::is_same<typename std::decay<G>::type, opencl_range>::value>::type>
 opencl_range (G &&global_work=std::initializer_list< int >({0}), L &&local_work=std::initializer_list< int >({0, 0, 0}))
 
-const nd_range_type & global_range () const
 
-const nd_range_type & local_range () const
 
parallel_while ()
 Construct empty non-running parallel while.
 
~parallel_while ()
 Destructor cleans up data members before returning.
 
template<typename Stream >
void run (Stream &stream, const Body &body)
 Apply body.apply to each item in the stream. More...
 
void add (const value_type &item)
 Add a work item while running. More...
 
+

Detailed Description

+

template<typename Body>
+class tbb::parallel_while< Body >

+ +

Parallel iteration over a stream, with optional addition of more work.

+

The Body b has the requirement:
+ "b(v)"
+ "b.argument_type"
+ where v is an argument_type

+

Member Function Documentation

+ +
+
+
+template<typename Body >
+ + + + + + + + +
void tbb::parallel_while< Body >::add (const value_typeitem)
+
+ +

Add a work item while running.

+

Should be executed only by body.apply or a thread spawned therefrom.

+ +
+
+ +
+
+
+template<typename Body >
+
+template<typename Stream >
+ + + + + + + + + + + + + + + + + + +
void tbb::parallel_while< Body >::run (Stream & stream,
const Body & body 
)
+
+ +

Apply body.apply to each item in the stream.

+

A Stream s has the requirements
+ "S::value_type"
+ "s.pop_if_present(value) is convertible to bool

+ +
+

The documentation for this class was generated from the following file:
    -
  • flow_graph_opencl_node.h
  • +
  • parallel_while.h

diff --git a/doc/html/a00107.png b/doc/html/a00105.png similarity index 100% rename from doc/html/a00107.png rename to doc/html/a00105.png diff --git a/doc/html/a00106.html b/doc/html/a00106.html index 634c848..6c758fc 100644 --- a/doc/html/a00106.html +++ b/doc/html/a00106.html @@ -4,7 +4,7 @@ -tbb::flow::interface10::opencl_subbuffer< T, Factory > Class Template Reference +tbb::pipeline Class Reference @@ -33,95 +33,99 @@
-
tbb::flow::interface10::opencl_subbuffer< T, Factory > Class Template Reference
+
tbb::pipeline Class Reference
-
-Inheritance diagram for tbb::flow::interface10::opencl_subbuffer< T, Factory >:
-
-
- - -tbb::flow::interface10::opencl_buffer< T, Factory > - -
+ +

A processing pipeline that applies filters to items. + More...

+ +

#include <pipeline.h>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + +

Public Member Functions

opencl_subbuffer (const opencl_buffer< T, Factory > &owner, size_t index, size_t size)
 
- Public Member Functions inherited from tbb::flow::interface10::opencl_buffer< T, Factory >
-template<access_type a>
iterator< a > access () const
 
-T * data () const
 
-template<access_type a = read_write>
iterator< a > begin () const
 
-template<access_type a = read_write>
iterator< a > end () const
 
-size_t size () const
 
-T & operator[] (ptrdiff_t k)
 
opencl_buffer (size_t size)
 
opencl_buffer (Factory &f, size_t size)
 
-cl_mem native_object () const
 
-const opencl_buffermemory_object () const
 
-void send (opencl_device device, opencl_async_msg< opencl_buffer, Factory > &dependency) const
 
-void receive (const opencl_async_msg< opencl_buffer, Factory > &dependency) const
 
-opencl_subbuffer< T, Factory > subbuffer (size_t index, size_t size) const
 
+__TBB_EXPORTED_METHOD pipeline ()
 Construct empty pipeline.
 
virtual __TBB_EXPORTED_METHOD ~pipeline ()
 
+void __TBB_EXPORTED_METHOD add_filter (filter &filter_)
 Add filter to end of pipeline.
 
+void __TBB_EXPORTED_METHOD run (size_t max_number_of_live_tokens)
 Run the pipeline to completion.
 
+void __TBB_EXPORTED_METHOD run (size_t max_number_of_live_tokens, tbb::task_group_context &context)
 Run the pipeline to completion with user-supplied context.
 
+void __TBB_EXPORTED_METHOD clear ()
 Remove all filters from the pipeline.
 
- - - - - - - - - - - + + + + + + + + + + + + +

-Additional Inherited Members

- Public Types inherited from tbb::flow::interface10::opencl_buffer< T, Factory >
-typedef cl_mem native_object_type
 
-typedef opencl_buffer memory_object_type
 
-typedef Factory opencl_factory_type
 
-template<access_type a>
using iterator = T *
 

+Friends

+class internal::stage_task
 
+class internal::pipeline_root_task
 
+class filter
 
+class thread_bound_filter
 
+class internal::pipeline_cleaner
 
+class tbb::interface6::internal::pipeline_proxy
 
+

Detailed Description

+

A processing pipeline that applies filters to items.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual __TBB_EXPORTED_METHOD tbb::pipeline::~pipeline ()
+
+virtual
+
+

Though the current implementation declares the destructor virtual, do not rely on this detail. The virtualness is deprecated and may disappear in future versions of TBB.

+ +
+

The documentation for this class was generated from the following file:
    -
  • flow_graph_opencl_node.h
  • +
  • pipeline.h

diff --git a/doc/html/a00106.png b/doc/html/a00106.png deleted file mode 100644 index 98b15820ccac1b6236c910a19cb67b24f63929ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1176 zcmeAS@N?(olHy`uVBq!ia0y~yV6+9Y12~w0WK2ZRd>|ze;1lBd|Nnm=^TnI5rTvE{ z09jys;J^Xa&O7ozE=Ng_UoZnu5eQs86=KA|z@qNy;uuoF_;&8?vL_ZCuG{;rpZZ__ zDdeY`qH?@P+AbsC^0_yrsXE-|h?}`A)64g=3F{FRPfgFNHA~bz166H3yR=?<28DR~ zPg+#;V(QQB_qIM>D!n0_ul%=`XVI2D8jm?AUCDm&BKO&m>z~%kPe`fjcdB%G|F__9 z)qYLSPg{=FU4EsyH{1I7&q*m?YpdSp?)|6#@XC4P_hoW-@}p{c2TP`r7{L+;_~I7v~;&7ajCl`a*W|tET<`RGRNZGvrRUmH+N7{Qcj)`8#`W zOf_9HZC+{Nx0L=@2eV$^zQ#NMo}!ulk3?3f`FHZRzFuDYlI4Q>a@*wNcZv<8bEX~R z+&tgQCEz zYLZAOP{WEz^Hf~FE;9GMJZ09h%qqPG{%hh6TnY=8unSzd9{z~AL-Qpg%h#sqKNy_6 zsu&7Yts7QMl5+_0}Klpc5s(yLwAP|K-)xJk4$D-+SVEmuGW<)6cf%x7v1# zw~I2`e~&V1{(JxA-j7-4mkQs7wyWSa9@(XWkvym@kOMfJ7T@V&=M z^EF@BzLk~Vk$+`x-@IsWBJ#tQh~Dp;Wybivxwn3M=(ffZ+w%VHw?+a14# T*_J#279$Lvu6{1-oD!M -tbb::parallel_while< Body > Class Template Reference +tbb::pre_scan_tag Struct Reference @@ -33,125 +33,40 @@
-
tbb::parallel_while< Body > Class Template Reference
+
tbb::pre_scan_tag Struct Reference
-

Parallel iteration over a stream, with optional addition of more work. +

Used to indicate that the initial scan is being performed. More...

-

#include <parallel_while.h>

-
-Inheritance diagram for tbb::parallel_while< Body >:
-
-
- - - -
+

#include <parallel_scan.h>

- - - - -

-Public Types

-typedef Body::argument_type value_type
 Type of items.
 
- - - - - - - - - - - - - + + +

Public Member Functions

parallel_while ()
 Construct empty non-running parallel while.
 
~parallel_while ()
 Destructor cleans up data members before returning.
 
template<typename Stream >
void run (Stream &stream, const Body &body)
 Apply body.apply to each item in the stream. More...
 
void add (const value_type &item)
 Add a work item while running. More...
 
operator bool ()
 
+ + +

+Static Public Member Functions

+static bool is_final_scan ()
 

Detailed Description

-

template<typename Body>
-class tbb::parallel_while< Body >

- -

Parallel iteration over a stream, with optional addition of more work.

-

The Body b has the requirement:
- "b(v)"
- "b.argument_type"
- where v is an argument_type

-

Member Function Documentation

- -
-
-
-template<typename Body >
- - - - - - - - -
void tbb::parallel_while< Body >::add (const value_typeitem)
-
- -

Add a work item while running.

-

Should be executed only by body.apply or a thread spawned therefrom.

- -
-
- -
-
-
-template<typename Body >
-
-template<typename Stream >
- - - - - - - - - - - - - - - - - - -
void tbb::parallel_while< Body >::run (Stream & stream,
const Body & body 
)
-
- -

Apply body.apply to each item in the stream.

-

A Stream s has the requirements
- "S::value_type"
- "s.pop_if_present(value) is convertible to bool

- -
-
-
The documentation for this class was generated from the following file:
    -
  • parallel_while.h
  • +

    Used to indicate that the initial scan is being performed.

    +

    The documentation for this struct was generated from the following file:
      +
    • parallel_scan.h

diff --git a/doc/html/a00108.html b/doc/html/a00108.html index 3144199..f1d92ec 100644 --- a/doc/html/a00108.html +++ b/doc/html/a00108.html @@ -4,7 +4,7 @@ -tbb::pipeline Class Reference +tbb::flow::interface10::internal::predecessor_cache< T, M > Class Template Reference @@ -33,99 +33,16 @@
-
-
tbb::pipeline Class Reference
+
tbb::flow::interface10::internal::predecessor_cache< T, M > Class Template Reference
- -

A processing pipeline that applies filters to items. - More...

- -

#include <pipeline.h>

- - - - - - - - - - - - - - - - - - - -

-Public Member Functions

-__TBB_EXPORTED_METHOD pipeline ()
 Construct empty pipeline.
 
virtual __TBB_EXPORTED_METHOD ~pipeline ()
 
-void __TBB_EXPORTED_METHOD add_filter (filter &filter_)
 Add filter to end of pipeline.
 
-void __TBB_EXPORTED_METHOD run (size_t max_number_of_live_tokens)
 Run the pipeline to completion.
 
-void __TBB_EXPORTED_METHOD run (size_t max_number_of_live_tokens, tbb::task_group_context &context)
 Run the pipeline to completion with user-supplied context.
 
-void __TBB_EXPORTED_METHOD clear ()
 Remove all filters from the pipeline.
 
- - - - - - - - - - - - - -

-Friends

-class internal::stage_task
 
-class internal::pipeline_root_task
 
-class filter
 
-class thread_bound_filter
 
-class internal::pipeline_cleaner
 
-class tbb::interface6::internal::pipeline_proxy
 
-

Detailed Description

-

A processing pipeline that applies filters to items.

-

Constructor & Destructor Documentation

- -
-
- - - - - -
- - - - - - - -
virtual __TBB_EXPORTED_METHOD tbb::pipeline::~pipeline ()
-
-virtual
-
-

Though the current implementation declares the destructor virtual, do not rely on this detail. The virtualness is deprecated and may disappear in future versions of TBB.

- -
-

The documentation for this class was generated from the following file:

diff --git a/doc/html/a00109.html b/doc/html/a00109.html index fe82e3c..56b3965 100644 --- a/doc/html/a00109.html +++ b/doc/html/a00109.html @@ -4,7 +4,7 @@ -tbb::pre_scan_tag Struct Reference +tbb::queuing_mutex Class Reference @@ -33,33 +33,65 @@
-
tbb::pre_scan_tag Struct Reference
+
tbb::queuing_mutex Class Reference
-

Used to indicate that the initial scan is being performed. +

Queuing mutex with local-only spinning. More...

-

#include <parallel_scan.h>

+

#include <queuing_mutex.h>

+
+Inheritance diagram for tbb::queuing_mutex:
+
+
+ + + +
- - - + + + + +

-Static Public Member Functions

-static bool is_final_scan ()
 

+Classes

class  scoped_lock
 The scoped locking pattern. More...
 
+ + + + + + +

+Public Member Functions

queuing_mutex ()
 Construct unacquired mutex.
 
+void __TBB_EXPORTED_METHOD internal_construct ()
 
+ + + + + + +

+Static Public Attributes

+static const bool is_rw_mutex = false
 
+static const bool is_recursive_mutex = false
 
+static const bool is_fair_mutex = true
 

Detailed Description

-

Used to indicate that the initial scan is being performed.

-

The documentation for this struct was generated from the following file:
    -
  • parallel_scan.h
  • +

    Queuing mutex with local-only spinning.

    +

    The documentation for this class was generated from the following file:
      +
    • queuing_mutex.h

diff --git a/doc/html/a00109.png b/doc/html/a00109.png new file mode 100644 index 0000000000000000000000000000000000000000..97f8b53bdb2fc94c669545ed9d635338907e3f57 GIT binary patch literal 754 zcmeAS@N?(olHy`uVBq!ia0vp^FMv3JgBeJwygLaJkO=SzasB`QKS=J)*V6t&6M!r* zK5*awYv&z#AeW;g$S;@ys0akEo(eHyU|?$Wba4!+V0=6G?WAS}9#{V~tK$3rd$0fU zWLUec?6zCko~x}YMI4>=hQ_;_3_QEmvuSxwyyBp$IVsFB{;~aox4zqDxKH1y__JT? z<8nvUo!R0me4|ZP{Qgj~{onE5-;yuC%`@MvqITFL%jlT@+{@)Y%yvDW&p&(ibe)d+ z_b7+z)vVhpqQ0rmENVMBQ_JU0K%MuzQ|4#Y>hvVn-xL#^+!OY3ny`^G1~;yjG> z<@0oXg4(6mfA}CRXzuvF-rCW4^3mIldd`n4i}kg%7TB;(-8-i*FZX4&qxRdiTvj3p zsiKo~f_2@}s$N`JBkug|lGF-q+xtDMOrsjEWtHTrYgBF+*sc4XXKL4bJ>ivI{@>3@*MIZat0&B#e6jE=+q+qg-O)+2 z8ovFwcg~j4X7%O1yh%Mj@8mXw*%(YaZNGCdQ$fssma6~NTqOm6WG|Gw$#9G1XjuNG zP0F`@^2I$C+NQ5wS8x11DQ!ym-OO6yXO~K+$4$Nx$7*tS(fgOX7_@JR{_1`IU+%)s zX3K9f4dyQoOV(Q7|KGq=(+zX_tl7I~MrQnFG_P)+;rcJ?E--;Ic)I$ztaD0e0suRY BTY3Nh literal 0 HcmV?d00001 diff --git a/doc/html/a00110.html b/doc/html/a00110.html index 7c8faeb..56a683e 100644 --- a/doc/html/a00110.html +++ b/doc/html/a00110.html @@ -4,7 +4,7 @@ -tbb::flow::interface10::internal::predecessor_cache< T, M > Class Template Reference +tbb::queuing_rw_mutex Class Reference @@ -33,16 +33,70 @@
+
-
tbb::flow::interface10::internal::predecessor_cache< T, M > Class Template Reference
+
tbb::queuing_rw_mutex Class Reference
-
The documentation for this class was generated from the following file:
    -
  • flow_graph.h
  • + +

    Queuing reader-writer mutex with local-only spinning. + More...

    + +

    #include <queuing_rw_mutex.h>

    +
    +Inheritance diagram for tbb::queuing_rw_mutex:
    +
    +
    + + + +
    + + + + + +

    +Classes

    class  scoped_lock
     The scoped locking pattern. More...
     
    + + + + + + + + + +

    +Public Member Functions

    queuing_rw_mutex ()
     Construct unacquired mutex.
     
    ~queuing_rw_mutex ()
     Destructor asserts if the mutex is acquired, i.e. q_tail is non-NULL.
     
    +void __TBB_EXPORTED_METHOD internal_construct ()
     
    + + + + + + + +

    +Static Public Attributes

    +static const bool is_rw_mutex = true
     
    +static const bool is_recursive_mutex = false
     
    +static const bool is_fair_mutex = true
     
    +

    Detailed Description

    +

    Queuing reader-writer mutex with local-only spinning.

    +

    Adapted from Krieger, Stumm, et al. pseudocode at http://www.eecg.toronto.edu/parallel/pubs_abs.html#Krieger_etal_ICPP93

    +

    The documentation for this class was generated from the following file:
      +
    • queuing_rw_mutex.h

diff --git a/doc/html/a00112.png b/doc/html/a00110.png similarity index 100% rename from doc/html/a00112.png rename to doc/html/a00110.png diff --git a/doc/html/a00111.html b/doc/html/a00111.html index f0044b4..cf375e7 100644 --- a/doc/html/a00111.html +++ b/doc/html/a00111.html @@ -4,7 +4,7 @@ -tbb::queuing_mutex Class Reference +tbb::interface5::reader_writer_lock Class Reference @@ -33,65 +33,191 @@
-
tbb::queuing_mutex Class Reference
+
tbb::interface5::reader_writer_lock Class Reference
-

Queuing mutex with local-only spinning. +

Writer-preference reader-writer lock with local-only spinning on readers. More...

-

#include <queuing_mutex.h>

+

#include <reader_writer_lock.h>

-Inheritance diagram for tbb::queuing_mutex:
+Inheritance diagram for tbb::interface5::reader_writer_lock:
- - + +
- - + + + + + +

Classes

class  scoped_lock
 The scoped locking pattern. More...
class  scoped_lock
 The scoped lock pattern for write locks. More...
 
class  scoped_lock_read
 The scoped lock pattern for read locks. More...
 
+ + + +

+Public Types

enum  status_t { waiting_nonblocking, +waiting, +active, +invalid + }
 Status type for nodes associated with lock instances. More...
 
- - - - - + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

queuing_mutex ()
 Construct unacquired mutex.
 
-void __TBB_EXPORTED_METHOD internal_construct ()
 
reader_writer_lock ()
 Constructs a new reader_writer_lock.
 
~reader_writer_lock ()
 Destructs a reader_writer_lock object.
 
void __TBB_EXPORTED_METHOD lock ()
 Acquires the reader_writer_lock for write. More...
 
bool __TBB_EXPORTED_METHOD try_lock ()
 Tries to acquire the reader_writer_lock for write. More...
 
void __TBB_EXPORTED_METHOD lock_read ()
 Acquires the reader_writer_lock for read. More...
 
bool __TBB_EXPORTED_METHOD try_lock_read ()
 Tries to acquire the reader_writer_lock for read. More...
 
+void __TBB_EXPORTED_METHOD unlock ()
 Releases the reader_writer_lock.
 
- - - - - - - + + + + +

-Static Public Attributes

-static const bool is_rw_mutex = false
 
-static const bool is_recursive_mutex = false
 
-static const bool is_fair_mutex = true
 

+Friends

+class scoped_lock
 
+class scoped_lock_read
 

Detailed Description

-

Queuing mutex with local-only spinning.

-

The documentation for this class was generated from the following file:
    -
  • queuing_mutex.h
  • +

    Writer-preference reader-writer lock with local-only spinning on readers.

    +

    Loosely adapted from Mellor-Crummey and Scott pseudocode at http://www.cs.rochester.edu/research/synchronization/pseudocode/rw.html#s_wp

    +

    Member Enumeration Documentation

    + +
    +
    + +

    Status type for nodes associated with lock instances.

    +

    waiting_nonblocking: the wait state for nonblocking lock instances; for writes, these transition straight to active states; for reads, these are unused.

    +

    waiting: the start and spin state for all lock instances; these will transition to active state when appropriate. Non-blocking write locks transition from this state to waiting_nonblocking immediately.

    +

    active: the active state means that the lock instance holds the lock; it will transition to invalid state during node deletion

    +

    invalid: the end state for all nodes; this is set in the destructor so if we encounter this state, we are looking at memory that has already been freed

    +

    The state diagrams below describe the status transitions. Single arrows indicate that the thread that owns the node is responsible for the transition; double arrows indicate that any thread could make the transition.

    +

    State diagram for scoped_lock status:

    +

    waiting -------—> waiting_nonblocking | _____________/ | V V V active --------------—> invalid

    +

    State diagram for scoped_lock_read status:

    +

    waiting | V active --------------—>invalid

    + +
    +
    +

    Member Function Documentation

    + +
    +
    + + + + + + + +
    void __TBB_EXPORTED_METHOD tbb::interface5::reader_writer_lock::lock ()
    +
    + +

    Acquires the reader_writer_lock for write.

    +

    If the lock is currently held in write mode by another context, the writer will block by spinning on a local variable. Exceptions thrown: improper_lock The context tries to acquire a reader_writer_lock that it already has write ownership of.

    + +
    +
    + +
    +
    + + + + + + + +
    void __TBB_EXPORTED_METHOD tbb::interface5::reader_writer_lock::lock_read ()
    +
    + +

    Acquires the reader_writer_lock for read.

    +

    If the lock is currently held by a writer, this reader will block and wait until the writers are done. Exceptions thrown: improper_lock The context tries to acquire a reader_writer_lock that it already has write ownership of.

    + +
    +
    + +
    +
    + + + + + + + +
    bool __TBB_EXPORTED_METHOD tbb::interface5::reader_writer_lock::try_lock ()
    +
    + +

    Tries to acquire the reader_writer_lock for write.

    +

    This function does not block. Return Value: True or false, depending on whether the lock is acquired or not. If the lock is already held by this acquiring context, try_lock() returns false.

    + +
    +
    + +
    +
    + + + + + + + +
    bool __TBB_EXPORTED_METHOD tbb::interface5::reader_writer_lock::try_lock_read ()
    +
    + +

    Tries to acquire the reader_writer_lock for read.

    +

    This function does not block. Return Value: True or false, depending on whether the lock is acquired or not.

    + +
    +
    +
    The documentation for this class was generated from the following file:
      +
    • reader_writer_lock.h

    diff --git a/doc/html/a00111.png b/doc/html/a00111.png index 97f8b53bdb2fc94c669545ed9d635338907e3f57..12ea5c61822a9cff028a841febee251e03da1868 100644 GIT binary patch delta 611 zcmeywI+0beGr-TCmrII^fq{Y7)59eQNS_7b01jp#**lBz*hEF^dIe7x$B+ufw{zd- zJvQKBX?JL-{cmn}{1dzC&6V%Zc}6s@WnU!|_9RR7nSNT@;Rer33QMFsyF6D-Trva1 zIQcfq$85cYY5o6e`(vEKR9>pR3pZXHE*JjFD7t;IfakCLdk@Zb&WgK|k@arh=J=4$ zd+aBbD9;bRe0O&Il4nl-^}GKssD1i7?eve+SA61Z>Q#QG&%HnYXZO85iXY9dcwDOX zFr6eaIYimhaORa6Gkcj1uvakf91h5m>!0|9XK9*{@q{@WuQ2quSTPGs{=%l9_LA4Z z=aO{8j3wp_hMxHhNt5m|98uZJ*x^})rl97OwDIP|1N97SidTV3fH)=CnD=-5zt8{H zZxv_yGUXmq!MUljcet7UT;BWDbYEEUt`nJ#;@Ye~I_txNtG@18dHR8i-Sf|F`n&(t z1UpUNDgP?v^RL_+GMm>w?TVU_of-V=(e0kug6C#`s*>Gy+<)5ES$D1mEG=00JK%49 zY-;Suz#EQk+ZF4-dKPnkSs!b+fAPDPvi7ZAd$?^aoVs3s}=?fn%uzwdRK@^jmZ zvcJ-%zjvO vnZGOhAOm|0hc_tHvLN`=pH(Kt(k=G4WNI_NB$sRhrW*!NS3j3^P68O8?a;UCf&AP23>YMt^qPCMWwS4Xb)OpW4WqwwzPET_EO)t5Va$icxdM;?CbLNv+Vfz2CFSG^*iRR!Q#L`u?nv z)OTN{=2l&5TsM2_HLvSu=l;HJu=iH!agW`*-if?%ygqfw;iArIOM=$d_N%^>dCU5C zwe?%CzN9>k*J_itcz-qMf3A}0yga2u`^fs#kV$n>ydjg6RyKMCsgy2AOA{A3u>Un% z0c$Mlm$Ka)FGC%y&t*@DV-tCxl=YLPW68Aozy^;jNmd|>NX9P@x3g!~Dex%llhSZd zF%4+&sFL0CS>E|gZ^<^<1J1QfA_@KbxJ!OGmD<;?QMqAYx9)qMsa@~&gjaU?e?KQ( z|IK5so-lv%#lo*_?`Ao6*GDJKYWVi!-Z@)Fo7I>5@+S5Cyp!7yW@9kzwEfP-Oa(Fj zS*re5bCneQk-bpzCc`b3qha}%HYwls$rtxnXq&!zUA^)5q_ipJcQb2+pIs`Q9yj?) z9IMIQMekqkV$i-N`m6W-f4K`kn=QY|G?>3UELm%P|9=BhO*hQ#v!rM5o*9|(m(jes Wd4}u1sJp8bg=d#Wzp$Pz%qDRUA diff --git a/doc/html/a00112.html b/doc/html/a00112.html index 7d4363f..382f919 100644 --- a/doc/html/a00112.html +++ b/doc/html/a00112.html @@ -4,7 +4,7 @@ -tbb::queuing_rw_mutex Class Reference +tbb::cache_aligned_allocator< void >::rebind< U > Struct Template Reference @@ -33,70 +33,27 @@
-
tbb::queuing_rw_mutex Class Reference
+
tbb::cache_aligned_allocator< void >::rebind< U > Struct Template Reference
- -

Queuing reader-writer mutex with local-only spinning. - More...

- -

#include <queuing_rw_mutex.h>

-
-Inheritance diagram for tbb::queuing_rw_mutex:
-
-
- - - -
- - - - -

-Classes

class  scoped_lock
 The scoped locking pattern. More...
 
- - - - - - - - - -

-Public Member Functions

queuing_rw_mutex ()
 Construct unacquired mutex.
 
~queuing_rw_mutex ()
 Destructor asserts if the mutex is acquired, i.e. q_tail is non-NULL.
 
-void __TBB_EXPORTED_METHOD internal_construct ()
 
- - - - - - - + + +

-Static Public Attributes

-static const bool is_rw_mutex = true
 
-static const bool is_recursive_mutex = false
 
-static const bool is_fair_mutex = true
 

+Public Types

+typedef
+cache_aligned_allocator< U > 
other
 
-

Detailed Description

-

Queuing reader-writer mutex with local-only spinning.

-

Adapted from Krieger, Stumm, et al. pseudocode at http://www.eecg.toronto.edu/parallel/pubs_abs.html#Krieger_etal_ICPP93

-

The documentation for this class was generated from the following file:
    -
  • queuing_rw_mutex.h
  • +
    The documentation for this struct was generated from the following file:
      +
    • cache_aligned_allocator.h

diff --git a/doc/html/a00113.html b/doc/html/a00113.html index c6cb414..dcb8962 100644 --- a/doc/html/a00113.html +++ b/doc/html/a00113.html @@ -4,7 +4,7 @@ -tbb::interface5::reader_writer_lock Class Reference +tbb::cache_aligned_allocator< T >::rebind< U > Struct Template Reference @@ -33,191 +33,27 @@
-
tbb::interface5::reader_writer_lock Class Reference
+
tbb::cache_aligned_allocator< T >::rebind< U > Struct Template Reference
- -

Writer-preference reader-writer lock with local-only spinning on readers. - More...

- -

#include <reader_writer_lock.h>

-
-Inheritance diagram for tbb::interface5::reader_writer_lock:
-
-
- - - -
- - - - - - - -

-Classes

class  scoped_lock
 The scoped lock pattern for write locks. More...
 
class  scoped_lock_read
 The scoped lock pattern for read locks. More...
 
- - - -

Public Types

enum  status_t { waiting_nonblocking, -waiting, -active, -invalid - }
 Status type for nodes associated with lock instances. More...
 
- - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

reader_writer_lock ()
 Constructs a new reader_writer_lock.
 
~reader_writer_lock ()
 Destructs a reader_writer_lock object.
 
void __TBB_EXPORTED_METHOD lock ()
 Acquires the reader_writer_lock for write. More...
 
bool __TBB_EXPORTED_METHOD try_lock ()
 Tries to acquire the reader_writer_lock for write. More...
 
void __TBB_EXPORTED_METHOD lock_read ()
 Acquires the reader_writer_lock for read. More...
 
bool __TBB_EXPORTED_METHOD try_lock_read ()
 Tries to acquire the reader_writer_lock for read. More...
 
-void __TBB_EXPORTED_METHOD unlock ()
 Releases the reader_writer_lock.
 
- - - - - + +

-Friends

-class scoped_lock
 
-class scoped_lock_read
 
+typedef
+cache_aligned_allocator< U > 
other
 
-

Detailed Description

-

Writer-preference reader-writer lock with local-only spinning on readers.

-

Loosely adapted from Mellor-Crummey and Scott pseudocode at http://www.cs.rochester.edu/research/synchronization/pseudocode/rw.html#s_wp

-

Member Enumeration Documentation

- -
-
- -

Status type for nodes associated with lock instances.

-

waiting_nonblocking: the wait state for nonblocking lock instances; for writes, these transition straight to active states; for reads, these are unused.

-

waiting: the start and spin state for all lock instances; these will transition to active state when appropriate. Non-blocking write locks transition from this state to waiting_nonblocking immediately.

-

active: the active state means that the lock instance holds the lock; it will transition to invalid state during node deletion

-

invalid: the end state for all nodes; this is set in the destructor so if we encounter this state, we are looking at memory that has already been freed

-

The state diagrams below describe the status transitions. Single arrows indicate that the thread that owns the node is responsible for the transition; double arrows indicate that any thread could make the transition.

-

State diagram for scoped_lock status:

-

waiting -------—> waiting_nonblocking | _____________/ | V V V active --------------—> invalid

-

State diagram for scoped_lock_read status:

-

waiting | V active --------------—>invalid

- -
-
-

Member Function Documentation

- -
-
- - - - - - - -
void __TBB_EXPORTED_METHOD tbb::interface5::reader_writer_lock::lock ()
-
- -

Acquires the reader_writer_lock for write.

-

If the lock is currently held in write mode by another context, the writer will block by spinning on a local variable. Exceptions thrown: improper_lock The context tries to acquire a reader_writer_lock that it already has write ownership of.

- -
-
- -
-
- - - - - - - -
void __TBB_EXPORTED_METHOD tbb::interface5::reader_writer_lock::lock_read ()
-
- -

Acquires the reader_writer_lock for read.

-

If the lock is currently held by a writer, this reader will block and wait until the writers are done. Exceptions thrown: improper_lock The context tries to acquire a reader_writer_lock that it already has write ownership of.

- -
-
- -
-
- - - - - - - -
bool __TBB_EXPORTED_METHOD tbb::interface5::reader_writer_lock::try_lock ()
-
- -

Tries to acquire the reader_writer_lock for write.

-

This function does not block. Return Value: True or false, depending on whether the lock is acquired or not. If the lock is already held by this acquiring context, try_lock() returns false.

- -
-
- -
-
- - - - - - - -
bool __TBB_EXPORTED_METHOD tbb::interface5::reader_writer_lock::try_lock_read ()
-
- -

Tries to acquire the reader_writer_lock for read.

-

This function does not block. Return Value: True or false, depending on whether the lock is acquired or not.

- -
-
-
The documentation for this class was generated from the following file:
    -
  • reader_writer_lock.h
  • +
    The documentation for this struct was generated from the following file:
      +
    • cache_aligned_allocator.h

diff --git a/doc/html/a00113.png b/doc/html/a00113.png deleted file mode 100644 index 12ea5c61822a9cff028a841febee251e03da1868..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 657 zcmeAS@N?(olHy`uVBq!ia0vp^XMs3?gBeKn&SE?Uq$C1-LR|m<{|{uoc=NTi|Ih>= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IZ06g*uVLn;{G&V8Hr*no$n-JzlOzq#G< zPwc8USH3^z8PT|weU(hulPuL|`e|v08$2&5ERpi;@?14>$qW$VF>1DKTcoqiLCn}XU)UI(8`(hW0~m@^o9<})Ns zy2o%tWiMlgXBC=)np4uon-dQ(uqj>zssQ4YU}N6j@&7*mTfbGD>C2RROaqI*Mzv{^+a^3$FUQXXWV!E_Tm9x9RWxR}<_seW(1Zl+V9%Z^&$3 z|FkP=Ms{ZKuSd6gW(%I1{i#ZJ+j0MCTW8(58nCor;qQRI^|7h3Cj)Odx@}kd>RHVF zWqqvO{>ATF%G$SbzTa%2y<27dp_-)dxA#}v{Jz&^%Fk^t%Kl25{@%Gpch90{I&aua z*`@E5_FI)FM}&LErv0?_u3Yu($C9hde?6aER+E3u@7Bq^nX@hzJ=dSV#p}zuWp6Xz zx~`ErQ+KJaDs1)X+5oXtRkyfJOHYa0=Ds}>UTyDCp|oOV{;uqU4D2x+-k>1Mg5Xbo fR+$(}x7gp3sm=V7T(S+Aei%Gm{an^LB{Ts5dagH? diff --git a/doc/html/a00114.html b/doc/html/a00114.html index ea7c5e5..af70b8a 100644 --- a/doc/html/a00114.html +++ b/doc/html/a00114.html @@ -4,7 +4,7 @@ -tbb::cache_aligned_allocator< void >::rebind< U > Struct Template Reference +tbb::scalable_allocator< T >::rebind< U > Struct Template Reference @@ -33,27 +33,26 @@
-
tbb::cache_aligned_allocator< void >::rebind< U > Struct Template Reference
+
tbb::scalable_allocator< T >::rebind< U > Struct Template Reference
- - + +

Public Types

-typedef
-cache_aligned_allocator< U > 
other
 
+typedef scalable_allocator< U > other
 

The documentation for this struct was generated from the following file:

diff --git a/doc/html/a00115.html b/doc/html/a00115.html index 5fe6247..ee737ff 100644 --- a/doc/html/a00115.html +++ b/doc/html/a00115.html @@ -4,7 +4,7 @@ -tbb::scalable_allocator< T >::rebind< U > Struct Template Reference +tbb::scalable_allocator< void >::rebind< U > Struct Template Reference @@ -33,26 +33,26 @@
-
tbb::scalable_allocator< T >::rebind< U > Struct Template Reference
+
tbb::scalable_allocator< void >::rebind< U > Struct Template Reference
- - + +

Public Types

-typedef scalable_allocator< U > other
 
+typedef scalable_allocator< U > other
 

The documentation for this struct was generated from the following file:

diff --git a/doc/html/a00116.html b/doc/html/a00116.html index 5b4a99a..d39edb7 100644 --- a/doc/html/a00116.html +++ b/doc/html/a00116.html @@ -4,7 +4,7 @@ -tbb::cache_aligned_allocator< T >::rebind< U > Struct Template Reference +tbb::zero_allocator< T, Allocator >::rebind< U > Struct Template Reference @@ -33,27 +33,27 @@
-
tbb::cache_aligned_allocator< T >::rebind< U > Struct Template Reference
+
tbb::zero_allocator< T, Allocator >::rebind< U > Struct Template Reference
- - + +

Public Types

-typedef
-cache_aligned_allocator< U > 
other
 
+typedef zero_allocator< U,
+Allocator > 
other
 

The documentation for this struct was generated from the following file:
    -
  • cache_aligned_allocator.h
  • +
  • tbb_allocator.h

diff --git a/doc/html/a00117.html b/doc/html/a00117.html index 0c940de..9b09c87 100644 --- a/doc/html/a00117.html +++ b/doc/html/a00117.html @@ -33,13 +33,13 @@
tbb::tbb_allocator< T >::rebind< U > Struct Template Reference
@@ -48,7 +48,7 @@

Public Types

-typedef tbb_allocator< U > other +typedef tbb_allocator< U > other  
The documentation for this struct was generated from the following file:
    diff --git a/doc/html/a00118.html b/doc/html/a00118.html index c89030f..75b94ce 100644 --- a/doc/html/a00118.html +++ b/doc/html/a00118.html @@ -4,7 +4,7 @@ -tbb::interface6::memory_pool_allocator< void, P >::rebind< U > Struct Template Reference +tbb::tbb_allocator< void >::rebind< U > Struct Template Reference @@ -33,27 +33,26 @@
-
tbb::interface6::memory_pool_allocator< void, P >::rebind< U > Struct Template Reference
+
tbb::tbb_allocator< void >::rebind< U > Struct Template Reference
- - + +

Public Types

-typedef memory_pool_allocator
-< U, P > 
other
 
+typedef tbb_allocator< U > other
 

The documentation for this struct was generated from the following file:

diff --git a/doc/html/a00119.html b/doc/html/a00119.html index 0f98071..1d568d1 100644 --- a/doc/html/a00119.html +++ b/doc/html/a00119.html @@ -4,7 +4,7 @@ -tbb::interface6::memory_pool_allocator< T, P >::rebind< U > Struct Template Reference +tbb::interface6::memory_pool_allocator< void, P >::rebind< U > Struct Template Reference @@ -33,27 +33,27 @@
-
tbb::interface6::memory_pool_allocator< T, P >::rebind< U > Struct Template Reference
+
tbb::interface6::memory_pool_allocator< void, P >::rebind< U > Struct Template Reference
- - +

Public Types

-typedef memory_pool_allocator
+
+typedef memory_pool_allocator
< U, P > 
other
 
 

The documentation for this struct was generated from the following file:

diff --git a/doc/html/a00120.html b/doc/html/a00120.html index 13762d4..67a8fc8 100644 --- a/doc/html/a00120.html +++ b/doc/html/a00120.html @@ -4,7 +4,7 @@ -tbb::zero_allocator< T, Allocator >::rebind< U > Struct Template Reference +tbb::zero_allocator< void, Allocator >::rebind< U > Struct Template Reference @@ -33,24 +33,24 @@
-
tbb::zero_allocator< T, Allocator >::rebind< U > Struct Template Reference
+
tbb::zero_allocator< void, Allocator >::rebind< U > Struct Template Reference
- - +

Public Types

-typedef zero_allocator< U,
+
+typedef zero_allocator< U,
Allocator > 
other
 
 

The documentation for this struct was generated from the following file:
  • tbb_allocator.h
  • diff --git a/doc/html/a00121.html b/doc/html/a00121.html index ce50367..cf0b945 100644 --- a/doc/html/a00121.html +++ b/doc/html/a00121.html @@ -4,7 +4,7 @@ -tbb::zero_allocator< void, Allocator >::rebind< U > Struct Template Reference +tbb::interface6::memory_pool_allocator< T, P >::rebind< U > Struct Template Reference @@ -33,27 +33,27 @@
-
tbb::zero_allocator< void, Allocator >::rebind< U > Struct Template Reference
+
tbb::interface6::memory_pool_allocator< T, P >::rebind< U > Struct Template Reference
- - + +

Public Types

-typedef zero_allocator< U,
-Allocator > 
other
 
+typedef memory_pool_allocator
+< U, P > 
other
 

The documentation for this struct was generated from the following file:

diff --git a/doc/html/a00122.html b/doc/html/a00122.html index 5df5081..b01e238 100644 --- a/doc/html/a00122.html +++ b/doc/html/a00122.html @@ -4,7 +4,7 @@ -tbb::tbb_allocator< void >::rebind< U > Struct Template Reference +tbb::flow::interface10::receiver< T > Class Template Reference @@ -33,26 +33,201 @@
-
tbb::tbb_allocator< void >::rebind< U > Struct Template Reference
+
tbb::flow::interface10::receiver< T > Class Template Referenceabstract
+ +

Pure virtual template class that defines a receiver of messages of type T. + More...

+ +

#include <flow_graph.h>

+
+Inheritance diagram for tbb::flow::interface10::receiver< T >:
+
+
+ + +tbb::flow::interface10::internal::untyped_receiver + +
- - + + + + + + + + + + + + + + + + + + + + + + + +

Public Types

-typedef tbb_allocator< U > other
 
+typedef T input_type
 The input type of this receiver.
 
+typedef
+internal::async_helpers< T >
+::filtered_type 
filtered_type
 
+typedef T input_type
 The input type of this receiver.
 
+typedef sender< T > predecessor_type
 The predecessor type for this node.
 
+typedef
+internal::edge_container
+< predecessor_type
built_predecessors_type
 
+typedef
+built_predecessors_type::edge_list_type 
predecessor_list_type
 
- Public Types inherited from tbb::flow::interface10::internal::untyped_receiver
+typedef untyped_sender predecessor_type
 The predecessor type for this node.
 
+typedef
+internal::edge_container
+< predecessor_type
built_predecessors_type
 
+typedef
+built_predecessors_type::edge_list_type 
predecessor_list_type
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

+bool try_put (const typename internal::async_helpers< T >::filtered_type &t)
 Put an item to the receiver.
 
+bool try_put (const typename internal::async_helpers< T >::async_type &t)
 
+virtual ~receiver ()
 Destructor.
 
+bool try_put (const T &t)
 Put an item to the receiver.
 
+virtual bool register_predecessor (predecessor_type &)
 Add a predecessor to the node.
 
+virtual bool remove_predecessor (predecessor_type &)
 Remove a predecessor from the node.
 
+virtual built_predecessors_typebuilt_predecessors ()=0
 
+virtual void internal_add_built_predecessor (predecessor_type &)=0
 
+virtual void internal_delete_built_predecessor (predecessor_type &)=0
 
+virtual void copy_predecessors (predecessor_list_type &)=0
 
+virtual size_t predecessor_count ()=0
 
- Public Member Functions inherited from tbb::flow::interface10::internal::untyped_receiver
+virtual ~untyped_receiver ()
 Destructor.
 
+template<typename X >
bool try_put (const X &t)
 Put an item to the receiver.
 
+ + + + + + + + + + + + + + + + + + + +

+Protected Member Functions

+virtual task * try_put_task_wrapper (const void *p, bool is_async) __TBB_override
 
+virtual task * try_put_task (const T &t)=0
 Put item to successor; return task to run the successor if possible.
 
+virtual task * try_put_task (const T &t)=0
 
+virtual graph & graph_reference ()=0
 
+virtual void reset_receiver (reset_flags f=rf_reset_protocol)=0
 put receiver back in initial state
 
+virtual bool is_continue_receiver ()
 
- Protected Member Functions inherited from tbb::flow::interface10::internal::untyped_receiver
+template<typename X >
task * try_put_task (const X &t)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Friends

+template<typename >
class internal::async_storage
 
+template<typename , typename >
struct internal::async_helpers
 
+template<typename R , typename B >
class run_and_put_task
 put item to successor; return task to run the successor if possible.
 
+template<typename X , typename Y >
class internal::broadcast_cache
 
+template<typename X , typename Y >
class internal::round_robin_cache
 
+template<typename U >
class limiter_node
 put receiver back in initial state
 
+template<typename TT , typename M >
class internal::successor_cache
 
+template<typename , typename >
class proxy_dependency_receiver
 
-
The documentation for this struct was generated from the following file:
    -
  • tbb_allocator.h
  • +

    Detailed Description

    +

    template<typename T>
    +class tbb::flow::interface10::receiver< T >

    + +

    Pure virtual template class that defines a receiver of messages of type T.

    +

    The documentation for this class was generated from the following file:

diff --git a/doc/html/a00122.png b/doc/html/a00122.png new file mode 100644 index 0000000000000000000000000000000000000000..0b3fbdae080ea07d4b3363997e402f6dce3e8ed6 GIT binary patch literal 1020 zcmeAS@N?(olHy`uVBq!ia0y~yV3Y!~12~w0rc96T3MM|{PO+F8R;4Ky&*YF6!{>E!wfh>}%%rHHW{c&B{H|ci`6V!YB7GN1I6qo;B7_=J@-0k8(w?WS+8B z`;OVYoTA|u^_^Vb8krS(m)>6Gf9B-6nU$H(rYri+-e@pK$tXi@>ofBUZz@aH{P#HY z_MzCUgQvG$oWHPBJO8k|iQb|K{E4sn7ev-?es5bNAAURkjnwC<`WH)9*4C8I{;kcwZqD1Cw)O2r zoxoie3r`)k6j*QHpVqrBJ1IkYQ*!9rzZOOBU+PNtbUZs?Cs}KD|L3ldI^B(N{wsEL z)d`B+O3isR?bWu>`7_F{mwcXck+;v9?e1Uhf_)-q=eg&y{w}-0{Y+HK-0IEMXEhQ3 zUtVC?vGBb6=6`9s({3=Y+ZO*u>h>0syleM2WbgX)@WPzyCjKj=w;odux&MXj__|-0 zqKxMSBp1p$zsYvASs3Lsw|}1Qg3FvH)(fkcH_y?xSjg~C9cOsIYJ`U03-SCk%Lj$( SY7xM!%HZkh=d#Wzp$PyF7}rMt literal 0 HcmV?d00001 diff --git a/doc/html/a00123.html b/doc/html/a00123.html index da86ece..b4ae523 100644 --- a/doc/html/a00123.html +++ b/doc/html/a00123.html @@ -4,7 +4,7 @@ -tbb::scalable_allocator< void >::rebind< U > Struct Template Reference +tbb::flow::interface10::receiver_gateway< Input > Class Template Reference @@ -33,26 +33,53 @@
-
tbb::scalable_allocator< void >::rebind< U > Struct Template Reference
+
tbb::flow::interface10::receiver_gateway< Input > Class Template Referenceabstract
+
+Inheritance diagram for tbb::flow::interface10::receiver_gateway< Input >:
+
+
+ + +tbb::flow::interface10::graph_proxy + +
- - + + + +

Public Types

-typedef scalable_allocator< U > other
 
+typedef Input input_type
 Type of inputing data into FG.
 
+ + + + + + + + + + +

+Public Member Functions

+virtual bool try_put (const input_type &)=0
 Submit signal from an asynchronous activity to FG.
 
- Public Member Functions inherited from tbb::flow::interface10::graph_proxy
+virtual void reserve_wait ()=0
 Inform a graph that messages may come from outside, to prevent premature graph completion.
 
+virtual void release_wait ()=0
 Inform a graph that a previous call to reserve_wait is no longer in effect.
 
-
The documentation for this struct was generated from the following file:
    -
  • scalable_allocator.h
  • +
    The documentation for this class was generated from the following file:
      +
    • flow_graph_abstractions.h

diff --git a/doc/html/a00125.png b/doc/html/a00123.png similarity index 100% rename from doc/html/a00125.png rename to doc/html/a00123.png diff --git a/doc/html/a00124.html b/doc/html/a00124.html index 62e71fe..d3cc7d6 100644 --- a/doc/html/a00124.html +++ b/doc/html/a00124.html @@ -4,7 +4,7 @@ -tbb::flow::interface10::receiver< T > Class Template Reference +tbb::recursive_mutex Class Reference @@ -33,201 +33,122 @@
-
tbb::flow::interface10::receiver< T > Class Template Referenceabstract
+
tbb::recursive_mutex Class Reference
-

Pure virtual template class that defines a receiver of messages of type T. - More...

- -

#include <flow_graph.h>

+

#include <recursive_mutex.h>

-Inheritance diagram for tbb::flow::interface10::receiver< T >:
+Inheritance diagram for tbb::recursive_mutex:
- - -tbb::flow::interface10::internal::untyped_receiver + +
+ + + + +

+Classes

class  scoped_lock
 The scoped locking pattern. More...
 
- - - - - - - - - - - - - - - - - - - - - - - + + + + +

Public Types

-typedef T input_type
 The input type of this receiver.
 
-typedef
-internal::async_helpers< T >
-::filtered_type 
filtered_type
 
-typedef T input_type
 The input type of this receiver.
 
-typedef sender< T > predecessor_type
 The predecessor type for this node.
 
-typedef
-internal::edge_container
-< predecessor_type
built_predecessors_type
 
-typedef
-built_predecessors_type::edge_list_type 
predecessor_list_type
 
- Public Types inherited from tbb::flow::interface10::internal::untyped_receiver
-typedef untyped_sender predecessor_type
 The predecessor type for this node.
 
-typedef
-internal::edge_container
-< predecessor_type
built_predecessors_type
 
-typedef
-built_predecessors_type::edge_list_type 
predecessor_list_type
 
+typedef LPCRITICAL_SECTION native_handle_type
 Return native_handle.
 
+typedef pthread_mutex_t * native_handle_type
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + +

Public Member Functions

-bool try_put (const typename internal::async_helpers< T >::filtered_type &t)
 Put an item to the receiver.
 
-bool try_put (const typename internal::async_helpers< T >::async_type &t)
 
-virtual ~receiver ()
 Destructor.
 
-bool try_put (const T &t)
 Put an item to the receiver.
 
-virtual bool register_predecessor (predecessor_type &)
 Add a predecessor to the node.
 
-virtual bool remove_predecessor (predecessor_type &)
 Remove a predecessor from the node.
 
-virtual built_predecessors_typebuilt_predecessors ()=0
 
-virtual void internal_add_built_predecessor (predecessor_type &)=0
 
-virtual void internal_delete_built_predecessor (predecessor_type &)=0
 
-virtual void copy_predecessors (predecessor_list_type &)=0
 
-virtual size_t predecessor_count ()=0
 
- Public Member Functions inherited from tbb::flow::interface10::internal::untyped_receiver
-virtual ~untyped_receiver ()
 Destructor.
 
-template<typename X >
bool try_put (const X &t)
 Put an item to the receiver.
 
recursive_mutex ()
 Construct unacquired recursive_mutex.
 
+void lock ()
 Acquire lock.
 
bool try_lock ()
 Try acquiring lock (non-blocking) More...
 
+void unlock ()
 Release lock.
 
+native_handle_type native_handle ()
 
- - - - - - - - - - - - - - - - - - - + + + + + + +

-Protected Member Functions

-virtual task * try_put_task_wrapper (const void *p, bool is_async) __TBB_override
 
-virtual task * try_put_task (const T &t)=0
 Put item to successor; return task to run the successor if possible.
 
-virtual task * try_put_task (const T &t)=0
 
-virtual graphgraph_reference ()=0
 
-virtual void reset_receiver (reset_flags f=rf_reset_protocol)=0
 put receiver back in initial state
 
-virtual bool is_continue_receiver ()
 
- Protected Member Functions inherited from tbb::flow::interface10::internal::untyped_receiver
-template<typename X >
task * try_put_task (const X &t)
 

+Static Public Attributes

+static const bool is_rw_mutex = false
 
+static const bool is_recursive_mutex = true
 
+static const bool is_fair_mutex = false
 
- - - - - - - - - - - - - - - - - - - - - - - - - - + +

Friends

-template<typename >
class internal::async_storage
 
-template<typename , typename >
struct internal::async_helpers
 
-template<typename R , typename B >
class run_and_put_task
 put item to successor; return task to run the successor if possible.
 
-template<typename X , typename Y >
class internal::broadcast_cache
 
-template<typename X , typename Y >
class internal::round_robin_cache
 
-template<typename U >
class limiter_node
 put receiver back in initial state
 
-template<typename TT , typename M >
class internal::successor_cache
 
-template<typename , typename >
class proxy_dependency_receiver
 
+class scoped_lock
 

Detailed Description

-

template<typename T>
-class tbb::flow::interface10::receiver< T >

+

Mutex that allows recursive mutex acquisition.

+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
bool tbb::recursive_mutex::try_lock ()
+
+inline
+
+ +

Try acquiring lock (non-blocking)

+

Return true if lock acquired; false otherwise.

-

Pure virtual template class that defines a receiver of messages of type T.

-

The documentation for this class was generated from the following file:
+
+
The documentation for this class was generated from the following file:
    +
  • recursive_mutex.h

diff --git a/doc/html/a00124.png b/doc/html/a00124.png index 0b3fbdae080ea07d4b3363997e402f6dce3e8ed6..3157a913de76891db2928ba797af89eeb5eb82f1 100644 GIT binary patch delta 722 zcmV;@0xkXg2mS>iiBL{Q4GJ0x0000DNk~Le0002!0000`2m=5B03`0oQjsA#e*%q3 zL_t(|0qvdZlB^&Mgg>gbs^9;O*Be3r9bG+VW+Gd*&O#E?bQ1p(LI_U)L6ZEV6O|-S z=tL#S6E=xn37&6P0AHLqtP7q8Y=7XLw9E>pQK*$7r{@WG3@U zZnDJBo%46Z1slfr7kg{E8|jo@e~IX1mB?1V()nat#xSd?%ET;{kL*|drq#smW$P{5 zDq^N+lU_QssyeEa+h-vuSlDn|VX{8ld4(mv6LFX5_;-+KVUoNJ$+Wc8n|V>y0d*BL z&N7y6EA^v98{@4>bZ)>#7Lr1NR*b^*RMBiVL-EoUQPX;M7&UveBHHTFf34hK_2|al z^&X8g>BQ76T5DtKmd?{--rk(LOQb_nHwJq#btUOEjL?!)8c0^ijJOo`&e*jPDiUN2-R}{b#x}pG{&=m#ngsv!nCv-&tJfSNJ;0aw( z08i+O0(e4K6u=X@q5z)o7DYn{;RzrB_(vxS;0c{5fG1ocI=C+0=Yt&exJ!q(5d}Dc zParyfoQB&JCW|u#9d{R_Io-u>TuO&Dq4rJYm|vqHF0cFJCNoh%N>nO4Q5}t7h`B zemjbq`T#hKdwaB9y2+%>e!aC7O&uNceAh54r*5vTnYzn>DM~lCtDU;pNQ-3OJ#_)T z1s_9nnmCun4Zt?KD53zK(1`+gLMIB~3FDVOgb@7W7ea-Dl-Nl>$^ZZW07*qoM6N<$ Eg84H}>;M1& literal 1020 zcmeAS@N?(olHy`uVBq!ia0y~yV3Y!~12~w0rc96T3MM|{PO+F8R;4Ky&*YF6!{>E!wfh>}%%rHHW{c&B{H|ci`6V!YB7GN1I6qo;B7_=J@-0k8(w?WS+8B z`;OVYoTA|u^_^Vb8krS(m)>6Gf9B-6nU$H(rYri+-e@pK$tXi@>ofBUZz@aH{P#HY z_MzCUgQvG$oWHPBJO8k|iQb|K{E4sn7ev-?es5bNAAURkjnwC<`WH)9*4C8I{;kcwZqD1Cw)O2r zoxoie3r`)k6j*QHpVqrBJ1IkYQ*!9rzZOOBU+PNtbUZs?Cs}KD|L3ldI^B(N{wsEL z)d`B+O3isR?bWu>`7_F{mwcXck+;v9?e1Uhf_)-q=eg&y{w}-0{Y+HK-0IEMXEhQ3 zUtVC?vGBb6=6`9s({3=Y+ZO*u>h>0syleM2WbgX)@WPzyCjKj=w;odux&MXj__|-0 zqKxMSBp1p$zsYvASs3Lsw|}1Qg3FvH)(fkcH_y?xSjg~C9cOsIYJ`U03-SCk%Lj$( SY7xM!%HZkh=d#Wzp$PyF7}rMt diff --git a/doc/html/a00125.html b/doc/html/a00125.html index f41aabd..7539ba4 100644 --- a/doc/html/a00125.html +++ b/doc/html/a00125.html @@ -4,7 +4,7 @@ -tbb::flow::interface10::receiver_gateway< Input > Class Template Reference +tbb::flow::interface10::internal::reservable_predecessor_cache< T, M > Class Template Reference @@ -33,53 +33,16 @@
-
-
tbb::flow::interface10::receiver_gateway< Input > Class Template Referenceabstract
+
tbb::flow::interface10::internal::reservable_predecessor_cache< T, M > Class Template Reference
-
-Inheritance diagram for tbb::flow::interface10::receiver_gateway< Input >:
-
-
- - -tbb::flow::interface10::graph_proxy - -
- - - - - -

-Public Types

-typedef Input input_type
 Type of inputing data into FG.
 
- - - - - - - - - - - -

-Public Member Functions

-virtual bool try_put (const input_type &)=0
 Submit signal from an asynchronous activity to FG.
 
- Public Member Functions inherited from tbb::flow::interface10::graph_proxy
-virtual void reserve_wait ()=0
 Inform a graph that messages may come from outside, to prevent premature graph completion.
 
-virtual void release_wait ()=0
 Inform a graph that a previous call to reserve_wait is no longer in effect.
 

The documentation for this class was generated from the following file:

diff --git a/doc/html/a00126.html b/doc/html/a00126.html index a00e9ee..87acfa8 100644 --- a/doc/html/a00126.html +++ b/doc/html/a00126.html @@ -4,7 +4,7 @@ -tbb::recursive_mutex Class Reference +tbb::flow::interface10::internal::round_robin_cache< T, M > Class Template Reference @@ -33,122 +33,16 @@
-
-
tbb::recursive_mutex Class Reference
+
tbb::flow::interface10::internal::round_robin_cache< T, M > Class Template Reference
- -

#include <recursive_mutex.h>

-
-Inheritance diagram for tbb::recursive_mutex:
-
-
- - - -
- - - - - -

-Classes

class  scoped_lock
 The scoped locking pattern. More...
 
- - - - - - -

-Public Types

-typedef LPCRITICAL_SECTION native_handle_type
 Return native_handle.
 
-typedef pthread_mutex_t * native_handle_type
 
- - - - - - - - - - - - - - - -

-Public Member Functions

recursive_mutex ()
 Construct unacquired recursive_mutex.
 
-void lock ()
 Acquire lock.
 
bool try_lock ()
 Try acquiring lock (non-blocking) More...
 
-void unlock ()
 Release lock.
 
-native_handle_type native_handle ()
 
- - - - - - - -

-Static Public Attributes

-static const bool is_rw_mutex = false
 
-static const bool is_recursive_mutex = true
 
-static const bool is_fair_mutex = false
 
- - - -

-Friends

-class scoped_lock
 
-

Detailed Description

-

Mutex that allows recursive mutex acquisition.

-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - -
bool tbb::recursive_mutex::try_lock ()
-
-inline
-
- -

Try acquiring lock (non-blocking)

-

Return true if lock acquired; false otherwise.

- -

References tbb::aligned_space< T, N >::begin().

- -

Referenced by tbb::recursive_mutex::scoped_lock::try_acquire().

- -
-

The documentation for this class was generated from the following file:

diff --git a/doc/html/a00126.png b/doc/html/a00126.png deleted file mode 100644 index 3157a913de76891db2928ba797af89eeb5eb82f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 766 zcmeAS@N?(olHy`uVBq!ia0vp^FMv3JgBeJwygLaJkO=SzasB`QKS=J)*V6t&6M!r* zK5*awYv&z#AeW;g$S;@ys0akEo(eHyU|{O?ba4!+V0=6G^`tclJT3OCwynDVzxTSd z6N7B5ZF-tg^tN+OLYGT~{tG#A_%k?8`mkr+Y_0BSE+R~4o z>Wv?T3r|g1=j`HavqVDzE=`VhiPsm7|w1@ZPmMvFiR|Z~XEEP35XEZHO`|DyC>Bnn5 zOY#o5iA{294C^`cCFEj`x%0d$|Ovywoc!yJ#QVI7EOA>$$U}3se*ywpLHF>yoTihe}7hTTwX39 zTVdDyGP#4vh9%aY!T&`UQ-xEw$N}M9ix}oz5M}+)vQDExy~LH#W}!CM1J2k$G$kLz zT%9={aw;(Va90P)&jl)uQL@^hckg+#%-0>>?b`)eEt>oltm@~q-4;>nHfEJA7hi07 z_h?>>SG&o=Z@$kS->cc}_IuN!Vy=&Z#_`2#EgVm*tI?l#ujJ|OZ{i2!3*28`JE@kk zbZ+wX?XLRsgbvLA@V=w3-gi;TyZhCa5+_x=d+{Y^KTr$gI`Z3-E qW?&z80=*CN$m8jDEdqZYi#xS8Pr2b~e+rmb89ZJ6T-G@yGywn;tYQ@a diff --git a/doc/html/a00127.html b/doc/html/a00127.html index 09eb639..688844e 100644 --- a/doc/html/a00127.html +++ b/doc/html/a00127.html @@ -4,7 +4,7 @@ -tbb::flow::interface10::internal::reservable_predecessor_cache< T, M > Class Template Reference +tbb::flow::interface10::run_and_put_task< R, B > Class Template Reference @@ -33,16 +33,16 @@
-
tbb::flow::interface10::internal::reservable_predecessor_cache< T, M > Class Template Reference
+
tbb::flow::interface10::run_and_put_task< R, B > Class Template Reference

The documentation for this class was generated from the following file:

diff --git a/doc/html/a00128.html b/doc/html/a00128.html index 54f4b1d..05ac791 100644 --- a/doc/html/a00128.html +++ b/doc/html/a00128.html @@ -4,7 +4,7 @@ -tbb::flow::interface10::internal::round_robin_cache< T, M > Class Template Reference +tbb::interface6::runtime_loader Class Reference @@ -33,16 +33,281 @@
+
-
tbb::flow::interface10::internal::round_robin_cache< T, M > Class Template Reference
+
tbb::interface6::runtime_loader Class Reference
+ +

Load TBB at runtime. + More...

+ +

#include <runtime_loader.h>

+
+Inheritance diagram for tbb::interface6::runtime_loader:
+
+
+ + + +
+ + + + + + + + +

+Public Types

enum  error_mode { em_status, +em_throw, +em_abort + }
 Error mode constants. More...
 
enum  error_code {
+  ec_ok, +ec_bad_call, +ec_bad_arg, +ec_bad_lib, +
+  ec_bad_ver, +ec_no_lib +
+ }
 Error codes. More...
 
+ + + + + + + + + + + + + + + + +

+Public Member Functions

runtime_loader (error_mode mode=em_abort)
 Initialize object but do not load TBB.
 
 runtime_loader (char const *path[], int min_ver=TBB_INTERFACE_VERSION, int max_ver=INT_MAX, error_mode mode=em_abort)
 Initialize object and load TBB. More...
 
~runtime_loader ()
 Destroy object.
 
error_code load (char const *path[], int min_ver=TBB_INTERFACE_VERSION, int max_ver=INT_MAX)
 Load TBB. More...
 
error_code status ()
 Report status. More...
 
+

Detailed Description

+

Load TBB at runtime.

+

Usage:

+

In source code:

+
#include "tbb/runtime_loader.h"
+
+
char const * path[] = { "<install dir>/lib/ia32", NULL };
+
tbb::runtime_loader loader( path );
+
+
// Now use TBB.
+

Link with tbbproxy.lib (or libtbbproxy.a) instead of tbb.lib (libtbb.dylib, libtbb.so).

+

TBB library will be loaded at runtime from <install dir>="">/lib/ia32 directory.

+

Attention:

+

All runtime_loader objects (in the same module, i.e. exe or dll) share some global state. The most noticeable piece of global state is loaded TBB library. There are some implications:

+
-   Only one TBB library can be loaded per module.
+
+-   If one object has already loaded TBB library, another object will not load TBB.
+    If the loaded TBB library is suitable for the second object, both will use TBB
+    cooperatively, otherwise the second object will report an error.
+
+-   \c runtime_loader objects will not work (correctly) in parallel due to absence of
+    synchronization.

Member Enumeration Documentation

+ +
+
+ +

Error codes.

+ + + + + + + +
Enumerator
ec_ok  +

No errors.

+
ec_bad_call  +

Invalid function call (e. g. load() called when TBB is already loaded).

+
ec_bad_arg  +

Invalid argument passed.

+
ec_bad_lib  +

Invalid library found (e. g. TBB_runtime_version symbol not found).

+
ec_bad_ver  +

TBB found but version is not suitable.

+
ec_no_lib  +

No suitable TBB library found.

+
+ +
+
+ +
+
+ +

Error mode constants.

+ + + + +
Enumerator
em_status  +

Save status of operation and continue.

+
em_throw  +

Throw an exception of tbb::runtime_loader::error_code type.

+
em_abort  +

Print message to stderr and call abort().

+
+ +
+
+

Constructor & Destructor Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
tbb::interface6::runtime_loader::runtime_loader (char const * path[],
int min_ver = TBB_INTERFACE_VERSION,
int max_ver = INT_MAX,
error_mode mode = em_abort 
)
+
+ +

Initialize object and load TBB.

+

See load() for details.

+

If error mode is em_status, call status() to check whether TBB was loaded or not.

+
Parameters
+ + + + + +
pathList of directories to search TBB in.
min_verMinimal suitable version of TBB.
max_verMaximal suitable version of TBB.
modeError mode for this object.
+
+
+ +
+
+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
error_code tbb::interface6::runtime_loader::load (char const * path[],
int min_ver = TBB_INTERFACE_VERSION,
int max_ver = INT_MAX 
)
+
+ +

Load TBB.

+

The method searches the directories specified in path[] array for the TBB library. When the library is found, it is loaded and its version is checked. If the version is not suitable, the library is unloaded, and the search continues.

+

Note:

+

For security reasons, avoid using relative directory names. For example, never load TBB from current ("."), parent ("..") or any other relative directory (like "lib" ). Use only absolute directory names (e. g. "/usr/local/lib").

+

For the same security reasons, avoid using system default directories ("") on Windows. (See http://www.microsoft.com/technet/security/advisory/2269637.mspx for details.)

+

Neglecting these rules may cause your program to execute 3-rd party malicious code.

+

Errors:

+
    +
  • ec_bad_call - TBB already loaded by this object.
  • +
  • ec_bad_arg - min_ver and/or max_ver negative or zero, or min_ver > max_ver.
  • +
  • ec_bad_ver - TBB of unsuitable version already loaded by another object.
  • +
  • ec_no_lib - No suitable library found.
  • +
+
Parameters
+ + + + +
pathList of directories to search TBB in.
min_verMinimal suitable version of TBB.
max_verMaximal suitable version of TBB.
+
+
+ +
+
+ +
+
+ + + + + + + +
error_code tbb::interface6::runtime_loader::status ()
+
+ +

Report status.

+

If error mode is em_status, the function returns status of the last operation.

+ +
+

The documentation for this class was generated from the following file:

diff --git a/doc/html/a00130.png b/doc/html/a00128.png similarity index 100% rename from doc/html/a00130.png rename to doc/html/a00128.png diff --git a/doc/html/a00129.html b/doc/html/a00129.html index a9e672a..d954bd4 100644 --- a/doc/html/a00129.html +++ b/doc/html/a00129.html @@ -4,7 +4,7 @@ -tbb::flow::interface10::run_and_put_task< R, B > Class Template Reference +tbb::scalable_allocator< T > Class Template Reference @@ -33,16 +33,105 @@
+
-
tbb::flow::interface10::run_and_put_task< R, B > Class Template Reference
+
tbb::scalable_allocator< T > Class Template Reference
-
The documentation for this class was generated from the following file:
    -
  • flow_graph.h
  • + +

    Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. + More...

    + +

    #include <scalable_allocator.h>

    + + + + +

    +Classes

    struct  rebind
     
    + + + + + + + + + + + + + + + +

    +Public Types

    +typedef
    +internal::allocator_type< T >
    +::value_type 
    value_type
     
    +typedef value_type * pointer
     
    +typedef const value_type * const_pointer
     
    +typedef value_type & reference
     
    +typedef const value_type & const_reference
     
    +typedef size_t size_type
     
    +typedef ptrdiff_t difference_type
     
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Public Member Functions

    scalable_allocator (const scalable_allocator &) throw ()
     
    +template<typename U >
     scalable_allocator (const scalable_allocator< U > &) throw ()
     
    +pointer address (reference x) const
     
    +const_pointer address (const_reference x) const
     
    +pointer allocate (size_type n, const void *=0)
     Allocate space for n objects.
     
    +void deallocate (pointer p, size_type)
     Free previously allocated block of memory.
     
    +size_type max_size () const throw ()
     Largest value for which method allocate might succeed.
     
    +template<typename U , typename... Args>
    void construct (U *p, Args &&...args)
     
    +void construct (pointer p, value_type &&value)
     
    +void construct (pointer p, const value_type &value)
     
    +void destroy (pointer p)
     
    +

    Detailed Description

    +

    template<typename T>
    +class tbb::scalable_allocator< T >

    + +

    Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.

    +

    The members are ordered the same way they are in section 20.4.1 of the ISO C++ standard.

    +

    The documentation for this class was generated from the following file:

diff --git a/doc/html/a00130.html b/doc/html/a00130.html index 6d04db9..b3529e6 100644 --- a/doc/html/a00130.html +++ b/doc/html/a00130.html @@ -4,7 +4,7 @@ -tbb::interface6::runtime_loader Class Reference +tbb::scalable_allocator< void > Class Template Reference @@ -33,281 +33,48 @@
-
tbb::interface6::runtime_loader Class Reference
+
tbb::scalable_allocator< void > Class Template Reference
-

Load TBB at runtime. +

Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...

-

#include <runtime_loader.h>

-
-Inheritance diagram for tbb::interface6::runtime_loader:
-
-
- - - -
+

#include <scalable_allocator.h>

+ + + +

+Classes

struct  rebind
 
- - - - - - -

Public Types

enum  error_mode { em_status, -em_throw, -em_abort - }
 Error mode constants. More...
 
enum  error_code {
-  ec_ok, -ec_bad_call, -ec_bad_arg, -ec_bad_lib, -
-  ec_bad_ver, -ec_no_lib -
- }
 Error codes. More...
 
- - - - - - - - - - - - - - - - + + + + + +

-Public Member Functions

runtime_loader (error_mode mode=em_abort)
 Initialize object but do not load TBB.
 
 runtime_loader (char const *path[], int min_ver=TBB_INTERFACE_VERSION, int max_ver=INT_MAX, error_mode mode=em_abort)
 Initialize object and load TBB. More...
 
~runtime_loader ()
 Destroy object.
 
error_code load (char const *path[], int min_ver=TBB_INTERFACE_VERSION, int max_ver=INT_MAX)
 Load TBB. More...
 
error_code status ()
 Report status. More...
 
+typedef void * pointer
 
+typedef const void * const_pointer
 
+typedef void value_type
 

Detailed Description

-

Load TBB at runtime.

-

Usage:

-

In source code:

-
#include "tbb/runtime_loader.h"
-
-
char const * path[] = { "<install dir>/lib/ia32", NULL };
-
tbb::runtime_loader loader( path );
-
-
// Now use TBB.
-

Link with tbbproxy.lib (or libtbbproxy.a) instead of tbb.lib (libtbb.dylib, libtbb.so).

-

TBB library will be loaded at runtime from <install dir>="">/lib/ia32 directory.

-

Attention:

-

All runtime_loader objects (in the same module, i.e. exe or dll) share some global state. The most noticeable piece of global state is loaded TBB library. There are some implications:

-
-   Only one TBB library can be loaded per module.
-
--   If one object has already loaded TBB library, another object will not load TBB.
-    If the loaded TBB library is suitable for the second object, both will use TBB
-    cooperatively, otherwise the second object will report an error.
-
--   \c runtime_loader objects will not work (correctly) in parallel due to absence of
-    synchronization.

Member Enumeration Documentation

- -
-
- -

Error codes.

- - - - - - - -
Enumerator
ec_ok  -

No errors.

-
ec_bad_call  -

Invalid function call (e. g. load() called when TBB is already loaded).

-
ec_bad_arg  -

Invalid argument passed.

-
ec_bad_lib  -

Invalid library found (e. g. TBB_runtime_version symbol not found).

-
ec_bad_ver  -

TBB found but version is not suitable.

-
ec_no_lib  -

No suitable TBB library found.

-
- -
-
- -
-
- -

Error mode constants.

- - - - -
Enumerator
em_status  -

Save status of operation and continue.

-
em_throw  -

Throw an exception of tbb::runtime_loader::error_code type.

-
em_abort  -

Print message to stderr and call abort().

-
- -
-
-

Constructor & Destructor Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
tbb::interface6::runtime_loader::runtime_loader (char const * path[],
int min_ver = TBB_INTERFACE_VERSION,
int max_ver = INT_MAX,
error_mode mode = em_abort 
)
-
- -

Initialize object and load TBB.

-

See load() for details.

-

If error mode is em_status, call status() to check whether TBB was loaded or not.

-
Parameters
- - - - - -
pathList of directories to search TBB in.
min_verMinimal suitable version of TBB.
max_verMaximal suitable version of TBB.
modeError mode for this object.
-
-
- -
-
-

Member Function Documentation

- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
error_code tbb::interface6::runtime_loader::load (char const * path[],
int min_ver = TBB_INTERFACE_VERSION,
int max_ver = INT_MAX 
)
-
- -

Load TBB.

-

The method searches the directories specified in path[] array for the TBB library. When the library is found, it is loaded and its version is checked. If the version is not suitable, the library is unloaded, and the search continues.

-

Note:

-

For security reasons, avoid using relative directory names. For example, never load TBB from current ("."), parent ("..") or any other relative directory (like "lib" ). Use only absolute directory names (e. g. "/usr/local/lib").

-

For the same security reasons, avoid using system default directories ("") on Windows. (See http://www.microsoft.com/technet/security/advisory/2269637.mspx for details.)

-

Neglecting these rules may cause your program to execute 3-rd party malicious code.

-

Errors:

-
    -
  • ec_bad_call - TBB already loaded by this object.
  • -
  • ec_bad_arg - min_ver and/or max_ver negative or zero, or min_ver > max_ver.
  • -
  • ec_bad_ver - TBB of unsuitable version already loaded by another object.
  • -
  • ec_no_lib - No suitable library found.
  • -
-
Parameters
- - - - -
pathList of directories to search TBB in.
min_verMinimal suitable version of TBB.
max_verMaximal suitable version of TBB.
-
-
+

template<>
+class tbb::scalable_allocator< void >

-
-
- -
-
- - - - - - - -
error_code tbb::interface6::runtime_loader::status ()
-
- -

Report status.

-

If error mode is em_status, the function returns status of the last operation.

- -
-
-
The documentation for this class was generated from the following file:
    -
  • runtime_loader.h
  • +

    Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.

    +

The documentation for this class was generated from the following file:

diff --git a/doc/html/a00131.html b/doc/html/a00131.html index 30c0f64..fe8b277 100644 --- a/doc/html/a00131.html +++ b/doc/html/a00131.html @@ -4,7 +4,7 @@ -tbb::scalable_allocator< T > Class Template Reference +tbb::interface5::reader_writer_lock::scoped_lock Class Reference @@ -33,105 +33,60 @@
-
tbb::scalable_allocator< T > Class Template Reference
+
tbb::interface5::reader_writer_lock::scoped_lock Class Reference
-

Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. +

The scoped lock pattern for write locks. More...

-

#include <scalable_allocator.h>

+

#include <reader_writer_lock.h>

+
+Inheritance diagram for tbb::interface5::reader_writer_lock::scoped_lock:
+
+
+ + + +
- - - -

-Classes

struct  rebind
 
- - - - - - - - - - - - - - - -

-Public Types

-typedef
-internal::allocator_type< T >
-::value_type 
value_type
 
-typedef value_type * pointer
 
-typedef const value_type * const_pointer
 
-typedef value_type & reference
 
-typedef const value_type & const_reference
 
-typedef size_t size_type
 
-typedef ptrdiff_t difference_type
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + +

Public Member Functions

scalable_allocator (const scalable_allocator &) throw ()
 
-template<typename U >
 scalable_allocator (const scalable_allocator< U > &) throw ()
 
-pointer address (reference x) const
 
-const_pointer address (const_reference x) const
 
-pointer allocate (size_type n, const void *=0)
 Allocate space for n objects.
 
-void deallocate (pointer p, size_type)
 Free previously allocated block of memory.
 
-size_type max_size () const throw ()
 Largest value for which method allocate might succeed.
 
-template<typename U , typename... Args>
void construct (U *p, Args &&...args)
 
-void construct (pointer p, value_type &&value)
 
-void construct (pointer p, const value_type &value)
 
-void destroy (pointer p)
 
scoped_lock (reader_writer_lock &lock)
 Construct with blocking attempt to acquire write lock on the passed-in lock.
 
~scoped_lock ()
 Destructor, releases the write lock.
 
+void * operator new (size_t s)
 
+void operator delete (void *p)
 
+ + +

+Friends

+class reader_writer_lock
 

Detailed Description

-

template<typename T>
-class tbb::scalable_allocator< T >

- -

Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.

-

The members are ordered the same way they are in section 20.4.1 of the ISO C++ standard.

+

The scoped lock pattern for write locks.

+

Scoped locks help avoid the common problem of forgetting to release the lock. This type also serves as the node for queuing locks.


The documentation for this class was generated from the following file:

diff --git a/doc/html/a00131.png b/doc/html/a00131.png new file mode 100644 index 0000000000000000000000000000000000000000..a999a7d0cd0bd7f4fb4169b8e0db9283f0821121 GIT binary patch literal 798 zcmeAS@N?(olHy`uVBq!ia0y~yV3Y!~12~w0xp*Zd9~T#HMNhX$SvtKcOCzK_y*8Rmnv#^MqIvX^ zM^M+&iA$z*FX22o$9!61b(CFF0r>&+{&o?0vT0%ecTPcH8`QliViV+i?Bs^rbUnKK+>-5_kJ=>esvX zOs`KZkIz(j8H8?o>LfL#LoO~R40qbu8yGV-nlMQAw{KDoRe8ZH1EkR~C+X052R%7m<{@3nG+a}ZOq1|cuw_B zuvJ?G7}ypZyTq_0LaIT;n|VS~CPPqJ=CX%hSJ&MCf6LFTVcyc6%reHGEaO-ipI){7 z`{%LT`c+k>dS??E+rRSYNk5SNJ|WHW*z@yy`C60C|Gvq!T7I7Yv?_8(C z?QJwIc)6(R&-3c1%|Zfw|L@S)_vhMCw>RHXgzu$m`dm}B-OZ_uq<9z9iEs>#_N3i_a{r|J#>(uDP)Fz24W4<~hF}+)A{% zUXmF5=v#p8=^uWxYMigmeekzU%J|LfxXW|+vMFOI8NYlhJzZ`D3ndR({0YlYAfIKOPpn=QwMpeb`=+1<3|H3)Fs3 zZ#?-%s$t501>OVvz^K!l#-?x-62wzHXLWE03ts%dKQ&?Plt-F#jsp`jgQu&X%Q~lo FCIA@tYbyW% literal 0 HcmV?d00001 diff --git a/doc/html/a00132.html b/doc/html/a00132.html index f0c0594..f52bf3c 100644 --- a/doc/html/a00132.html +++ b/doc/html/a00132.html @@ -4,7 +4,7 @@ -tbb::scalable_allocator< void > Class Template Reference +tbb::recursive_mutex::scoped_lock Class Reference @@ -33,48 +33,70 @@
-
tbb::scalable_allocator< void > Class Template Reference
+
tbb::recursive_mutex::scoped_lock Class Reference
-

Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. +

The scoped locking pattern. More...

-

#include <scalable_allocator.h>

+

#include <recursive_mutex.h>

+
+Inheritance diagram for tbb::recursive_mutex::scoped_lock:
+
+
+ + + +
- - - + + + + + + + + + + + + + + + + + + +

-Classes

struct  rebind
 

+Public Member Functions

scoped_lock ()
 Construct lock that has not acquired a recursive_mutex.
 
scoped_lock (recursive_mutex &mutex)
 Acquire lock on given mutex.
 
~scoped_lock ()
 Release lock (if lock is held).
 
+void acquire (recursive_mutex &mutex)
 Acquire lock on given mutex.
 
+bool try_acquire (recursive_mutex &mutex)
 Try acquire lock on given recursive_mutex.
 
+void release ()
 Release lock.
 
- - - - - - - + + +

-Public Types

-typedef void * pointer
 
-typedef const void * const_pointer
 
-typedef void value_type
 

+Friends

+class recursive_mutex
 

Detailed Description

-

template<>
-class tbb::scalable_allocator< void >

- -

Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.

+

The scoped locking pattern.

+

It helps to avoid the common problem of forgetting to release lock. It also nicely provides the "node" for queuing locks.


The documentation for this class was generated from the following file:

diff --git a/doc/html/a00132.png b/doc/html/a00132.png new file mode 100644 index 0000000000000000000000000000000000000000..9d4ec98b911f2d18a41fad4e3ce2d10c7aa42596 GIT binary patch literal 645 zcmeAS@N?(olHy`uVBq!ia0vp^XMs3?gBeKn&SE?Uq$C1-LR|m<{|{uoc=NTi|Ih>= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IZ0L_A#_Ln;{G&VAdr+JMKUf2r5!fB7{F z9SRh-pMKYNO?u~}DQ5HKjv3Y)8cVbJOkz{K>Jj7<)T?q-1;p63+VE!a(Um`bhuz=7 zcXPrLzc1m&Yq!VfUHN*yESq=YlKA3g^Z$XxVy3fZ-An)0ob~LpvZrk2{8^WG{&ddL zyRzk9=eLR9eQ$p3UpaHn4Esrcw*Gy;|1<|?O{4eWO9hIr{T;iGiLTO z9gwbI;5i(SCD%Xk3D43rA>#>iHeO-qaj{|+nEZuJLG2~4gU==Dh8auD84Nx18ImU5 zV>qI+m$AdM3QfVD)6&M96Av%|eFIbh#7kDp%=@k1kY7-GEMM-9-S;hB?_Vuod%%?+ zy!pzjm#=R=QL|w`v-kCa)K6A^?`o9b?>?>GR(KE`e&B)WgJgk^!(|awzf|it6Wx! z=iBcOTXHq(`js>Dm(7}#`P%9A3Gu9JjG<1uWc$UY_FAu6=@wB6!)-w(~!n&QT3 z)&9G6R@t)9=ga11>UHxgPFugt{Ho`QRSxaN#p{@k&w3WS%Iic};wzuxtsmE -tbb::null_rw_mutex::scoped_lock Class Reference +tbb::spin_mutex::scoped_lock Class Reference @@ -33,56 +33,96 @@
-
tbb::null_rw_mutex::scoped_lock Class Reference
+
tbb::spin_mutex::scoped_lock Class Reference

Represents acquisition of a mutex. More...

-

#include <null_rw_mutex.h>

+

#include <spin_mutex.h>

-Inheritance diagram for tbb::null_rw_mutex::scoped_lock:
+Inheritance diagram for tbb::spin_mutex::scoped_lock:
- - + +
- - - - - - - - - - - - + + + + + + + + + + + + + + + + + + +

Public Member Functions

scoped_lock (null_rw_mutex &, bool=true)
 
-void acquire (null_rw_mutex &, bool=true)
 
-bool upgrade_to_writer ()
 
-bool downgrade_to_reader ()
 
-bool try_acquire (null_rw_mutex &, bool=true)
 
-void release ()
 
scoped_lock ()
 Construct without acquiring a mutex.
 
scoped_lock (spin_mutex &m)
 Construct and acquire lock on a mutex.
 
+void acquire (spin_mutex &m)
 Acquire lock.
 
bool try_acquire (spin_mutex &m)
 Try acquiring lock (non-blocking) More...
 
+void release ()
 Release lock.
 
~scoped_lock ()
 Destroy lock. If holding a lock, releases the lock first.
 
+ + +

+Friends

+class spin_mutex
 

Detailed Description

Represents acquisition of a mutex.

-

The documentation for this class was generated from the following file:
    -
  • null_rw_mutex.h
  • +

    Member Function Documentation

    + +
    +
    + + + + + +
    + + + + + + + + +
    bool tbb::spin_mutex::scoped_lock::try_acquire (spin_mutexm)
    +
    +inline
    +
    + +

    Try acquiring lock (non-blocking)

    +

    Return true if lock acquired; false otherwise.

    + +
    +
    +
    The documentation for this class was generated from the following file:
      +
    • spin_mutex.h

    diff --git a/doc/html/a00133.png b/doc/html/a00133.png index 081a54dff5c3418a26e55aabe7207612d4a46482..25da9c6ba09d573b82ff7e6295013c42ed53edd9 100644 GIT binary patch delta 547 zcmcb^a*0K;Gr-TCmrII^fq{Y7)59eQNUsCp01jp#x!r5u)`^PN^$$H=978G?-_E_+ zx7t8}b@ft@=l}m#L>zmdD=CyAa{sonR>Q}jIUCPvr=>k^@VunavQDK^aMz?Kt}nbM zi7zkp-S)-cZD(a>+>dBgMbG&~aphV2mB*#uF%#Yi-@R64arg4;CvJBu z`MfVl{wbNg^SAFV_OdqaXNPp_f4?(3wEd-D=DGSwpOo*$8(ivr8E1Im|2M&DOMY|2 zdVWf>i8bDw$nfC-qXA#?OFKE|pM6WMZ}vU0o}qUjz-1dloXalaamCW?G&4Sl0~#%Q z4dM&A9~@m)Z$0;$b^~AizMC_{@834t`=tNg1=fm_xw~FZGyALK8ri%jqjKq^#H!OF znfqevx&p7Moo+7i`kT`_H7~TX-^jaM*Khfs73<6TOBd|D{OFW|{iopI-51ts?^|0%S6N9@>I${FKf$Xl)0(B z{{N@i8;{d>o#r|zE_@*R%PqMVU+4RXKhWlgWzcsLKhRyd+ss(HRerZj=6`*j_dLLO OXYh3Ob6Mw<&;$TIMF5Kc delta 558 zcmV+}0@3}_1l$B6iBL{Q4GJ0x0000DNk~Le0002M0000`2m=5B0C;4Ic99`Ff9pv^ zK~#7F?Van6t1t`($5N&5{oi;g6mp|l&XQu%<6Wk-As0`aguj@XjSMD9;}Qar-Fn-GvB zPeMSFJedT{%mxPFqdWjcW^{qaV{n7f1*Z7NHW*$2U~ppo0X&He0C*A^0PrL-0N_bv z0Kk*T0Dvcv0RT@T0|1^x1^_&X3;=i%836DkG63Mo$1`ANHZmB%xP$#Ka0^_NPY-M&7GahDP12kUJe zb}Os|s>*4)vkbgKG)PwpyA@a(mjZJfO$&qFE59|h3xTTgHe$VmviVEyZ!^#q?nJjq z)=MH=vO5vBz2@^?ru@SKfAb5!5J+pU9b&0{p}_M0O9t8lpgc6%2!9dSUqZ#QZ)SN{ zpc)AyyKf(%*N#h195dYf~`k300000NkvXX1g=70f)2>^wEzGB diff --git a/doc/html/a00134.html b/doc/html/a00134.html index e32eefe..2691fe1 100644 --- a/doc/html/a00134.html +++ b/doc/html/a00134.html @@ -33,13 +33,13 @@
tbb::queuing_mutex::scoped_lock Class Reference
@@ -64,7 +64,7 @@ Public Member Functions  Construct lock that has not acquired a mutex. More...
  scoped_lock (queuing_mutex &m) + scoped_lock (queuing_mutex &m)  Acquire lock on given mutex.
  @@ -72,11 +72,11 @@ Public Member Functions  Release lock (if lock is held).
  -void __TBB_EXPORTED_METHOD acquire (queuing_mutex &m) +void __TBB_EXPORTED_METHOD acquire (queuing_mutex &m)  Acquire lock on given mutex.
  -bool __TBB_EXPORTED_METHOD try_acquire (queuing_mutex &m) +bool __TBB_EXPORTED_METHOD try_acquire (queuing_mutex &m)  Acquire lock on given mutex if free (i.e. non-blocking)
  diff --git a/doc/html/a00135.html b/doc/html/a00135.html index 7e72989..8701e41 100644 --- a/doc/html/a00135.html +++ b/doc/html/a00135.html @@ -4,7 +4,7 @@ -tbb::mutex::scoped_lock Class Reference +tbb::internal::critical_section_v4::scoped_lock Class Reference @@ -33,70 +33,34 @@
-
tbb::mutex::scoped_lock Class Reference
+
tbb::internal::critical_section_v4::scoped_lock Class Reference
- -

The scoped locking pattern. - More...

- -

#include <mutex.h>

-Inheritance diagram for tbb::mutex::scoped_lock:
+Inheritance diagram for tbb::internal::critical_section_v4::scoped_lock:
- - + +
- - - - - - - - - - - - - - - - - - -

Public Member Functions

scoped_lock ()
 Construct lock that has not acquired a mutex.
 
scoped_lock (mutex &mutex)
 Acquire lock on given mutex.
 
~scoped_lock ()
 Release lock (if lock is held).
 
-void acquire (mutex &mutex)
 Acquire lock on given mutex.
 
-bool try_acquire (mutex &mutex)
 Try acquire lock on given mutex.
 
-void release ()
 Release lock.
 
- - - + +

-Friends

-class mutex
 
scoped_lock (critical_section_v4 &lock_me)
 
-

Detailed Description

-

The scoped locking pattern.

-

It helps to avoid the common problem of forgetting to release lock. It also nicely provides the "node" for queuing locks.

-

The documentation for this class was generated from the following file:
    -
  • mutex.h
  • +
    The documentation for this class was generated from the following file:
      +
    • critical_section.h

    diff --git a/doc/html/a00135.png b/doc/html/a00135.png index 5450176d7fa5c18126f5e6f83daf7a63bab18728..15626cfa0fabd91facbde8e62a8b58a223eb2eca 100644 GIT binary patch delta 699 zcmbQo@|;z%Gr-TCmrII^fq{Y7)59f*fq@ak4&Y!0lGn;l-Eakt!T5IW z+q^XfJTCo9y*~fTuUS~LW^PJjZs@LEvQIRyi!H3_1#}v5X0fns2!3v8a7y8zTtvDr180JOi%9 z3>rp2V#TdMpY6xj-?{&vDZ}JVOi)?u@i*@I3?h4fy|@0+b*HrF(W5Wtt=!)(*I?i? zomZZH{gl zS>Ly3xdwkWe$gzl{%Y60oNekSHnij(cfP5xyRf+OUVK*8x6GgG)lU?Q{I0og=lHGZ z^D9Z-5BGjO693E9mAX5A-jAaX59{xmaCqI1^??jEj=%)N07^9sp~77q9ND}6G5Vz} W7VI$fj=KmyzW7srqa#F0m>d#2oRu#3o_9j)d4x=T}4C9$O7(*7AUU702?u~;%er4oks=%;L| zJ+Uoy%i7$>{?ofu_MU0FV75T!?B%+3uU@X|R@r;N%c)*))?OyAz3~gmxoopNC*6D0 z>=evf8~&m-blaz6_3v)B_i66e-=g~Ik4IL2)n22ob2)X-&iS7@>B&T=Nlyd=Pn^*a zV32>vDA1YV)bDPvIKyeSzs}+UCx(M3Y8Y&c6dC$`I1VTaGkrMGf{*(n!YM6n;sJ(7 z6Py_2G+7=La^x=mEPkNgbpJ*B<9?gBY;WS4%A4@}*6g<5OSj&sjC&V<*CzEy-Qsz# zOxzzUn3UK(&JfZ%`!z)WRLJuU@1{FeZ&|*wTpcK$b3FXolZz(toV@%N?7jW7)Man& z-Wk^Njd!2$s`tOVR(#nPni0b)-kntU$i8J=d}O%u=74a~*ueS)ZO<0TxrNVktiEzf zF6?II=k2TCXdKyH_UdTme(f#c6}u%Es{So*VG#2G`cZ`GLq%SET3X=`W(K`*Yqxz8 RGk}rE;OXk;vd$@?2>^>|*qi_W diff --git a/doc/html/a00136.html b/doc/html/a00136.html index 5ad19c3..d16786d 100644 --- a/doc/html/a00136.html +++ b/doc/html/a00136.html @@ -4,7 +4,7 @@ -tbb::spin_mutex::scoped_lock Class Reference +tbb::null_rw_mutex::scoped_lock Class Reference @@ -33,96 +33,56 @@
-
tbb::spin_mutex::scoped_lock Class Reference
+
tbb::null_rw_mutex::scoped_lock Class Reference

Represents acquisition of a mutex. More...

-

#include <spin_mutex.h>

+

#include <null_rw_mutex.h>

-Inheritance diagram for tbb::spin_mutex::scoped_lock:
+Inheritance diagram for tbb::null_rw_mutex::scoped_lock:
- - + +
- - - - - - - - - - - - - - - - - - -

Public Member Functions

scoped_lock ()
 Construct without acquiring a mutex.
 
scoped_lock (spin_mutex &m)
 Construct and acquire lock on a mutex.
 
-void acquire (spin_mutex &m)
 Acquire lock.
 
bool try_acquire (spin_mutex &m)
 Try acquiring lock (non-blocking) More...
 
-void release ()
 Release lock.
 
~scoped_lock ()
 Destroy lock. If holding a lock, releases the lock first.
 
- - - + + + + + + + + + + + +

-Friends

-class spin_mutex
 
scoped_lock (null_rw_mutex &, bool=true)
 
+void acquire (null_rw_mutex &, bool=true)
 
+bool upgrade_to_writer ()
 
+bool downgrade_to_reader ()
 
+bool try_acquire (null_rw_mutex &, bool=true)
 
+void release ()
 

Detailed Description

Represents acquisition of a mutex.

-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - - -
bool tbb::spin_mutex::scoped_lock::try_acquire (spin_mutexm)
-
-inline
-
- -

Try acquiring lock (non-blocking)

-

Return true if lock acquired; false otherwise.

- -
-
-
The documentation for this class was generated from the following file:
    -
  • spin_mutex.h
  • +
    The documentation for this class was generated from the following file:
      +
    • null_rw_mutex.h

    diff --git a/doc/html/a00136.png b/doc/html/a00136.png index 25da9c6ba09d573b82ff7e6295013c42ed53edd9..081a54dff5c3418a26e55aabe7207612d4a46482 100644 GIT binary patch delta 558 zcmV+}0@3}_1l$B6iBL{Q4GJ0x0000DNk~Le0002M0000`2m=5B0C;4Ic99`Ff9pv^ zK~#7F?Van6t1t`($5N&5{oi;g6mp|l&XQu%<6Wk-As0`aguj@XjSMD9;}Qar-Fn-GvB zPeMSFJedT{%mxPFqdWjcW^{qaV{n7f1*Z7NHW*$2U~ppo0X&He0C*A^0PrL-0N_bv z0Kk*T0Dvcv0RT@T0|1^x1^_&X3;=i%836DkG63Mo$1`ANHZmB%xP$#Ka0^_NPY-M&7GahDP12kUJe zb}Os|s>*4)vkbgKG)PwpyA@a(mjZJfO$&qFE59|h3xTTgHe$VmviVEyZ!^#q?nJjq z)=MH=vO5vBz2@^?ru@SKfAb5!5J+pU9b&0{p}_M0O9t8lpgc6%2!9dSUqZ#QZ)SN{ zpc)AyyKf(%*N#h195dYf~`k300000NkvXX1g=70f)2>^wEzGB delta 547 zcmcb^a*0K;Gr-TCmrII^fq{Y7)59eQNUsCp01jp#x!r5u)`^PN^$$H=978G?-_E_+ zx7t8}b@ft@=l}m#L>zmdD=CyAa{sonR>Q}jIUCPvr=>k^@VunavQDK^aMz?Kt}nbM zi7zkp-S)-cZD(a>+>dBgMbG&~aphV2mB*#uF%#Yi-@R64arg4;CvJBu z`MfVl{wbNg^SAFV_OdqaXNPp_f4?(3wEd-D=DGSwpOo*$8(ivr8E1Im|2M&DOMY|2 zdVWf>i8bDw$nfC-qXA#?OFKE|pM6WMZ}vU0o}qUjz-1dloXalaamCW?G&4Sl0~#%Q z4dM&A9~@m)Z$0;$b^~AizMC_{@834t`=tNg1=fm_xw~FZGyALK8ri%jqjKq^#H!OF znfqevx&p7Moo+7i`kT`_H7~TX-^jaM*Khfs73<6TOBd|D{OFW|{iopI-51ts?^|0%S6N9@>I${FKf$Xl)0(B z{{N@i8;{d>o#r|zE_@*R%PqMVU+4RXKhWlgWzcsLKhRyd+ss(HRerZj=6`*j_dLLO OXYh3Ob6Mw<&;$TIMF5Kc diff --git a/doc/html/a00137.html b/doc/html/a00137.html index ab84f4d..359e127 100644 --- a/doc/html/a00137.html +++ b/doc/html/a00137.html @@ -4,7 +4,7 @@ -tbb::spin_rw_mutex_v3::scoped_lock Class Reference +tbb::queuing_rw_mutex::scoped_lock Class Reference @@ -33,87 +33,69 @@
-
tbb::spin_rw_mutex_v3::scoped_lock Class Reference
+
tbb::queuing_rw_mutex::scoped_lock Class Reference

The scoped locking pattern. More...

-

#include <spin_rw_mutex.h>

+

#include <queuing_rw_mutex.h>

-Inheritance diagram for tbb::spin_rw_mutex_v3::scoped_lock:
+Inheritance diagram for tbb::queuing_rw_mutex::scoped_lock:
- - + +
- - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

 scoped_lock ()
 Construct lock that has not acquired a mutex. More...
 
scoped_lock (spin_rw_mutex &m, bool write=true)
 Acquire lock on given mutex.
 
~scoped_lock ()
 Release lock (if lock is held).
 
-void acquire (spin_rw_mutex &m, bool write=true)
 Acquire lock on given mutex.
 
bool upgrade_to_writer ()
 Upgrade reader to become a writer. More...
 
-void release ()
 Release lock.
 
-bool downgrade_to_reader ()
 Downgrade writer to become a reader.
 
-bool try_acquire (spin_rw_mutex &m, bool write=true)
 Try acquire lock on given mutex.
 
- - - - - - - -

-Protected Attributes

-spin_rw_mutexmutex
 The pointer to the current mutex that is held, or NULL if no mutex is held.
 
bool is_writer
 If mutex!=NULL, then is_writer is true if holding a writer lock, false if holding a reader lock. More...
 
- - - + + + + + + + + + + + + + + + + + + + + + + + +

-Friends

-class tbb::interface8::internal::x86_rtm_rw_mutex
 
 scoped_lock ()
 Construct lock that has not acquired a mutex. More...
 
scoped_lock (queuing_rw_mutex &m, bool write=true)
 Acquire lock on given mutex.
 
~scoped_lock ()
 Release lock (if lock is held).
 
+void acquire (queuing_rw_mutex &m, bool write=true)
 Acquire lock on given mutex.
 
+bool try_acquire (queuing_rw_mutex &m, bool write=true)
 Acquire lock on given mutex if free (i.e. non-blocking)
 
+void release ()
 Release lock.
 
bool upgrade_to_writer ()
 Upgrade reader to become a writer. More...
 
+bool downgrade_to_reader ()
 Downgrade writer to become a reader.
 

Detailed Description

The scoped locking pattern.

It helps to avoid the common problem of forgetting to release lock. It also nicely provides the "node" for queuing locks.

Constructor & Destructor Documentation

- +
@@ -121,7 +103,7 @@ class 
tbb::interface8::int - + @@ -140,62 +122,26 @@ class  +  +void  +bool  diff --git a/doc/html/a00141.html b/doc/html/a00141.html index b1b2b2d..5aaf637 100644 --- a/doc/html/a00141.html +++ b/doc/html/a00141.html @@ -4,7 +4,7 @@ -tbb::internal::critical_section_v4::scoped_lock Class Reference +tbb::interface5::reader_writer_lock::scoped_lock_read Class Reference @@ -33,34 +33,59 @@
-
tbb::internal::critical_section_v4::scoped_lock Class Reference
+
tbb::interface5::reader_writer_lock::scoped_lock_read Class Reference
+ +

The scoped lock pattern for read locks. + More...

+ +

#include <reader_writer_lock.h>

-Inheritance diagram for tbb::internal::critical_section_v4::scoped_lock:
+Inheritance diagram for tbb::interface5::reader_writer_lock::scoped_lock_read:
- - + +
tbb::spin_rw_mutex_v3::scoped_lock::scoped_lock tbb::queuing_rw_mutex::scoped_lock::scoped_lock ( ) tbb::interface8::int

Member Function Documentation

- +
- - - - - -
- +
bool tbb::spin_rw_mutex_v3::scoped_lock::upgrade_to_writer bool tbb::queuing_rw_mutex::scoped_lock::upgrade_to_writer ( )
-
-inline

Upgrade reader to become a writer.

Returns whether the upgrade happened without releasing and re-acquiring the lock

-

References is_writer.

- -
-
-

Member Data Documentation

- -
-
- - - - - -
- - - - -
bool tbb::spin_rw_mutex_v3::scoped_lock::is_writer
-
-protected
-
- -

If mutex!=NULL, then is_writer is true if holding a writer lock, false if holding a reader lock.

-

Not defined if not holding a lock.

- -

Referenced by acquire(), downgrade_to_reader(), release(), try_acquire(), and upgrade_to_writer().

-

The documentation for this class was generated from the following file:
    -
  • spin_rw_mutex.h
  • +
  • queuing_rw_mutex.h

diff --git a/doc/html/a00137.png b/doc/html/a00137.png index 13249c6a5c9189fb4202efb8b5609124c7dc489e..227e99a9e7146d2e7de5a746eb21af449090be9c 100644 GIT binary patch delta 570 zcmeBY?Pi@2Q!nM|;uuoF_;zmYx@H3&mg7N7_x|sde|lN*Ls!(LQxjL`WI8{phPwU@CY`$90rskr@0$)OppE*+{!ggW4P(6>rBq1OU+wgGHU#5zc z{qs(!Pu{*WRHXiOu0g~0ucjMTe&CN!o<7^)>-pk&i=V|8&u*Kx{Fu~nT@$_=RmUAJ zhfh2&bS`$A>8qvN=4`tXRy`-VcpIB*^ubl#(!1)#sy7(!FWU4!^}+1@A&a>;)cT!1 z`*-z=d9T0uoIA*u_U8TX`Va1t%RBQHo)cTUsA~SH@Fzw$J{Qa15XsH|CK<8u+ua2B z&iReH)t}>!ckN(zU32aa>y3}ABXVT!zpeT{`*lYDRmp@M&(y__K5nxO6YsALjd9bD zaAjS!{bZ=Y|2Z+Cck=3@M6dV$`sK2-4k7c=iAPfb5R$l%(JGA!y*4Qe= zNhOok6}@4MIBjll!?gR)^@Pt+lb2lnnz|va_a}?>2JJZ0dg1!=zPFiwn|%4s%6tAS z|6LpUE8e;+^4t7I&r4I`md!eF<_w$2f$JsA5`l}G?&dX5>g6&k?DaI$kvOn`Yd?dH zrVR6kB?UYOCLc0n@aH;CNZ{A1iOpZ`5uo}X63opblc^n<(OzcKpya@QChc?Pu2(cdbk46cGSRcQd;eSeev?zwhNV+juHOkwh;%J2nQ5)9_%)FAJ?E>H zGkDAD&1U#^hL)BdwVhL1vb%W0yDcgM42;&bMZJ k-~$Vh&mYs%%;x=Lh^S~W{yUN3Gy@QLy85}Sb4q9e08a)DhX4Qo diff --git a/doc/html/a00138.html b/doc/html/a00138.html index 7ce81c6..19fde2e 100644 --- a/doc/html/a00138.html +++ b/doc/html/a00138.html @@ -4,7 +4,7 @@ -tbb::interface5::reader_writer_lock::scoped_lock Class Reference +tbb::mutex::scoped_lock Class Reference @@ -33,60 +33,70 @@
-
tbb::interface5::reader_writer_lock::scoped_lock Class Reference
+
tbb::mutex::scoped_lock Class Reference
-

The scoped lock pattern for write locks. +

The scoped locking pattern. More...

-

#include <reader_writer_lock.h>

+

#include <mutex.h>

-Inheritance diagram for tbb::interface5::reader_writer_lock::scoped_lock:
+Inheritance diagram for tbb::mutex::scoped_lock:
- - + +
- - - - - - - - - - + + + + + + + + + + + + + + + + + +

Public Member Functions

scoped_lock (reader_writer_lock &lock)
 Construct with blocking attempt to acquire write lock on the passed-in lock.
 
~scoped_lock ()
 Destructor, releases the write lock.
 
-void * operator new (size_t s)
 
-void operator delete (void *p)
 
scoped_lock ()
 Construct lock that has not acquired a mutex.
 
scoped_lock (mutex &mutex)
 Acquire lock on given mutex.
 
~scoped_lock ()
 Release lock (if lock is held).
 
+void acquire (mutex &mutex)
 Acquire lock on given mutex.
 
+bool try_acquire (mutex &mutex)
 Try acquire lock on given mutex.
 
+void release ()
 Release lock.
 
- - + +

Friends

-class reader_writer_lock
 
+class mutex
 

Detailed Description

-

The scoped lock pattern for write locks.

-

Scoped locks help avoid the common problem of forgetting to release the lock. This type also serves as the node for queuing locks.

+

The scoped locking pattern.

+

It helps to avoid the common problem of forgetting to release lock. It also nicely provides the "node" for queuing locks.


The documentation for this class was generated from the following file:
    -
  • reader_writer_lock.h
  • +
  • mutex.h

diff --git a/doc/html/a00138.png b/doc/html/a00138.png index a999a7d0cd0bd7f4fb4169b8e0db9283f0821121..5450176d7fa5c18126f5e6f83daf7a63bab18728 100644 GIT binary patch delta 496 zcmbQoHjhQIGr-TCmrII^fq{Y7)59eQNKXLb01jp#d9Z-TZla=9J>yzW7srqa#F0m>d#2oRu#3o_9j)d4x=T}4C9$O7(*7AUU702?u~;%er4oks=%;L| zJ+Uoy%i7$>{?ofu_MU0FV75T!?B%+3uU@X|R@r;N%c)*))?OyAz3~gmxoopNC*6D0 z>=evf8~&m-blaz6_3v)B_i66e-=g~Ik4IL2)n22ob2)X-&iS7@>B&T=Nlyd=Pn^*a zV32>vDA1YV)bDPvIKyeSzs}+UCx(M3Y8Y&c6dC$`I1VTaGkrMGf{*(n!YM6n;sJ(7 z6Py_2G+7=La^x=mEPkNgbpJ*B<9?gBY;WS4%A4@}*6g<5OSj&sjC&V<*CzEy-Qsz# zOxzzUn3UK(&JfZ%`!z)WRLJuU@1{FeZ&|*wTpcK$b3FXolZz(toV@%N?7jW7)Man& z-Wk^Njd!2$s`tOVR(#nPni0b)-kntU$i8J=d}O%u=74a~*ueS)ZO<0TxrNVktiEzf zF6?II=k2TCXdKyH_UdTme(f#c6}u%Es{So*VG#2G`cZ`GLq%SET3X=`W(K`*Yqxz8 RGk}rE;OXk;vd$@?2>}1t*i--j delta 754 zcmbQoGLKEMGr-TCmrII^fq{Y7)59f*fq_v9$PVCO29h6ddYMgBw5n%X>*?YcQo;Ck z?(4qI20SkPOT9k-%l{LYclPLol2F|jw<8OuFx|T$sdg@2Ny*2>gmCBi>r>0)GgV#&p*NEE929vwtxRTmRrB7s#Nc6B4hhk9zE#?vfn49Sstr@ets`sYts4O zH@Q~J&-0&l;p;w`S1F(W5FN||9JhK>r}YCjiv=J7ghavUj4LLNTBck9UA-oTs!La=39#Jy>v~V zYpRyq+QQfMUmI=m558V*ax?wX9+~=$E;`?TFRA|jmS=bF{#!B1mtJm=SgTZvZJOA=!reG9NX{ljlojq}yH5B|1E8NZnwcX5V7fNHt8^ufThN9~ga_)7TV_LPB|p=d2D6VZn -tbb::recursive_mutex::scoped_lock Class Reference +tbb::spin_rw_mutex_v3::scoped_lock Class Reference @@ -33,70 +33,169 @@
-
tbb::recursive_mutex::scoped_lock Class Reference
+
tbb::spin_rw_mutex_v3::scoped_lock Class Reference

The scoped locking pattern. More...

-

#include <recursive_mutex.h>

+

#include <spin_rw_mutex.h>

-Inheritance diagram for tbb::recursive_mutex::scoped_lock:
+Inheritance diagram for tbb::spin_rw_mutex_v3::scoped_lock:
- - + +
- - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

scoped_lock ()
 Construct lock that has not acquired a recursive_mutex.
 
scoped_lock (recursive_mutex &mutex)
 Acquire lock on given mutex.
 
~scoped_lock ()
 Release lock (if lock is held).
 
-void acquire (recursive_mutex &mutex)
 Acquire lock on given mutex.
 
-bool try_acquire (recursive_mutex &mutex)
 Try acquire lock on given recursive_mutex.
 
-void release ()
 Release lock.
 
 scoped_lock ()
 Construct lock that has not acquired a mutex. More...
 
scoped_lock (spin_rw_mutex &m, bool write=true)
 Acquire lock on given mutex.
 
~scoped_lock ()
 Release lock (if lock is held).
 
+void acquire (spin_rw_mutex &m, bool write=true)
 Acquire lock on given mutex.
 
bool upgrade_to_writer ()
 Upgrade reader to become a writer. More...
 
+void release ()
 Release lock.
 
+bool downgrade_to_reader ()
 Downgrade writer to become a reader.
 
+bool try_acquire (spin_rw_mutex &m, bool write=true)
 Try acquire lock on given mutex.
 
+ + + + + + +

+Protected Attributes

+spin_rw_mutexmutex
 The pointer to the current mutex that is held, or NULL if no mutex is held.
 
bool is_writer
 If mutex!=NULL, then is_writer is true if holding a writer lock, false if holding a reader lock. More...
 
- - + +

Friends

-class recursive_mutex
 
+class tbb::interface8::internal::x86_rtm_rw_mutex
 

Detailed Description

The scoped locking pattern.

It helps to avoid the common problem of forgetting to release lock. It also nicely provides the "node" for queuing locks.

-

The documentation for this class was generated from the following file:
    -
  • recursive_mutex.h
  • +

    Constructor & Destructor Documentation

    + +
    +
    + + + + + +
    + + + + + + + +
    tbb::spin_rw_mutex_v3::scoped_lock::scoped_lock ()
    +
    +inline
    +
    + +

    Construct lock that has not acquired a mutex.

    +

    Equivalent to zero-initialization of *this.

    + +
    +
    +

    Member Function Documentation

    + +
    +
    + + + + + +
    + + + + + + + +
    bool tbb::spin_rw_mutex_v3::scoped_lock::upgrade_to_writer ()
    +
    +inline
    +
    + +

    Upgrade reader to become a writer.

    +

    Returns whether the upgrade happened without releasing and re-acquiring the lock

    + +

    References is_writer.

    + +
    +
    +

    Member Data Documentation

    + +
    +
    + + + + + +
    + + + + +
    bool tbb::spin_rw_mutex_v3::scoped_lock::is_writer
    +
    +protected
    +
    + +

    If mutex!=NULL, then is_writer is true if holding a writer lock, false if holding a reader lock.

    +

    Not defined if not holding a lock.

    + +

    Referenced by acquire(), downgrade_to_reader(), release(), try_acquire(), and upgrade_to_writer().

    + +
    +
    +
    The documentation for this class was generated from the following file:
      +
    • spin_rw_mutex.h

    diff --git a/doc/html/a00139.png b/doc/html/a00139.png index 9d4ec98b911f2d18a41fad4e3ce2d10c7aa42596..13249c6a5c9189fb4202efb8b5609124c7dc489e 100644 GIT binary patch delta 609 zcmZo=?Ppc&4DfU3<&xrJU|`_&^l%9R(l>xOfP)!G`p9}`O;oh5m-BRS45?szJNM?K zR|Y&T{i{~I`v3p&NvB7m9Cui}_9eaWED-TN{`RS;@n*qR&r20t2A-dmFickQ2Q#t{ z_-re&mQ}CJzE{D2Q^j-nE2Rx9FMpjKTKj)%Y?b1ql1b}|-Y`a-HaECo+WqHx!sn>T zOD=y+-H_J%lf`<2cAROwaD92-+swaBzI^O`61a+wwOdYb7-99Y1$pTR~`hWW#i0-ght4;eD}a~&rn@M~3a zTADH!vqZf=BijQ{5VpQi;#tlhTWiLqe{Yt#LBnIOk7sB9Tx@=T;okMn|DG++Ppje1 zx%*@K!QJuS7=3-YYYY#(bbM9((rBw*-=hqpT=-J!7 z|E+z$$th~X(kU$0?}R2qx|WvAwANPq8p!&d^VP~3yk+%fGkiNkOG}U1&M7U~UA$rP z+84hA3qz|XJ`jyCylTfj+a5^o^4%tu^Y)R=2KMCmhPCzjGTK}oE9FyOTU~1@mn&bM zlrC91EtdCM=4+jEx|c6c_m4<^`z-K%S9HnpmkKwwwSOr;TI*_h^IvZG9r0Haou9l} z%==)4-I>3VH#SW&@1FZ0P}yN+bE5x2zAqo=TeCgzfrZHDkLhV<^ZqeJRJ0iXoyc$+ Qm}(e2UHx3vIVCg!0Hr7r(EtDd delta 599 zcmV-d0;v6u1%(A6iBL{Q4GJ0x0000DNk~Le0002Z0000`2m=5B0F9af#*raAe-ueX zK~#7F?Vat8t1t{ikEKfU{%?GtKyVy_f6UHkExlwm_L&Iwf*nE^9Q}TVdGDzk)(S_ zHIfvQR3k|-nbeq>jRL?McmNE;P--5Jk>m`eW)d@yoUzmZj6^yE5R>!8QZ*XYxVT3U5=h)avQ$+2kfX2h6?epk?wpZf@G2#FO*f zefZqBd{sgC#mgRt#)Fz;K*b2>&CQ{Z6k@_i-DC62wf`eooRe>;t?)Eooa zI**xlj%deaqUYt@hKBMef2u^O7jHkmR;1Nh*VN3Prkavz>q6_u7i!i4RYJNQj~11U zJF2NpTkXp}qn`J|n<|t>2|9=Sg_?GzRp+LiX)cQoA(pSUH`Pg~sz8TxbFKo%n&w@q zO2}4W>P&OB@vLSm28WvF3e7KTS~-08y
tbb::null_mutex::scoped_lock Class Reference
@@ -61,13 +61,13 @@ Inheritance diagram for tbb::null_mutex::scoped_lock:

Public Member Functions

scoped_lock (null_mutex &)
scoped_lock (null_mutex &)
 
-void acquire (null_mutex &)
acquire (null_mutex &)
 
-bool try_acquire (null_mutex &)
try_acquire (null_mutex &)
 
void release ()
- - + + + + + + + + + + +

Public Member Functions

scoped_lock (critical_section_v4 &lock_me)
 
scoped_lock_read (reader_writer_lock &lock)
 Construct with blocking attempt to acquire read lock on the passed-in lock.
 
~scoped_lock_read ()
 Destructor, releases the read lock.
 
+void * operator new (size_t s)
 
+void operator delete (void *p)
 
+ + +

+Friends

+class reader_writer_lock
 
-
The documentation for this class was generated from the following file:
    -
  • critical_section.h
  • +

    Detailed Description

    +

    The scoped lock pattern for read locks.

    +

    The documentation for this class was generated from the following file:
      +
    • reader_writer_lock.h

    diff --git a/doc/html/a00141.png b/doc/html/a00141.png index 15626cfa0fabd91facbde8e62a8b58a223eb2eca..10066bd980a7f04d27b6d2c16ba84af835b461d3 100644 GIT binary patch delta 794 zcmaFPdYnzMGr-TCmrII^fq{Y7)59f*fq~H)$PVCO29kkpN;f7dTGwCmba4!+V0=6G zZQg1F0hjY$Q=k34zr(ZPNW8#?sOvk+qxxhHKZ@l~{;e-4sHXJDs6|E6b63aK$xH0k z%vJfC_*P{lf3~`3ZG^SwtHZZEgXA}7hO^TlNr%i6%Jr%LeWyaR+ zrfUT}e`!Dac(<=?Ys)pipsLtQ^?8$Ye|_Gv`+fDKFW-IE$8NnJY3+IQtI5^d#bvWp zt$WKReQ8Tyc+GE8*^ZxY{;6y3-S*FfwSM0FXDh!qZ<)Mg<%Y6JSK5(X(?7cm>`*O+ z&!1Qm81$0gGVJ>CYf}Y-ZG?4$Uf!ihn+Co$vJH$9-LdQm3~u#F_ZcM`Cf+D#U`tT> z1`_YA1&I?YeDcY@?hXS%!Rd+&JO^CY$U4Yh<6FR=&3>VMEAxxTEAOtY{OdLU`u=U7 zB^RVwHZpv({Jb}gmGNch-M#<5eorsmR=>sg)?2<^vmZMZH7MJ;?A{%o_y7C3TPl<8 z{pL4b+qdg}q|^1fTTf2PKc1f0KjV6Yr>k~<)Tt?%Pg9RAc@XBh_D?#SwZ{H0cR$^` zX0v|FW;N}!S*DS^o-bCPym#L8q;_VjsnIfLbM34r_HsIZh0cD8&NkEBzHjasy;AQ@ z*H)*-*SB1c+|(aqW5MMu{G9)@QPkw~uW!r0S@7ret-Ur|U3C7YUwf_?xVAI5_4zlO z#dqUw+$*{KqRO!(^Sajl)8$XEuQ)ej)wWu3k?PO8PKWMWeQ4E@r#1aX`!4InZ?1kS z|Gr%P+MAuGAJg_{hgKz?eJ1q(NL~07tIhYPKF`_uaasGl?1Hn~_!b2neR9w!pzNGn z#`NVj7E;%lKc=6%`KWOBpIh%4{>$t)JuJDUI_KC=Io^OGBOZn2Ur&8Zcph}KoT2s) u|1HKpY)Bz~_!i@r!pnL}hg@7@o=Rsa9kO!jtv?A&?hKx;elF{r5}E*Dz=V4M delta 698 zcmX@k_MBC*Gr-TCmrII^fq{Y7)59f*fq@ak4&Y!0lGn;l-$u;uuoF_;&8w zyfp?qF8xcrKL5+FSy;1XZc1Zr=&oI|Pc*%S<`h^J{u2^RJS(o~IW0xRP0=&dEm34r zNGh0VzL?|a^P0<=^P-C%Tcu1^xx09GpwDLAiTjFcZ{;mkob=`LuDhcC0bg8tlTFWd1!?*KqCne_UPM>L=d*ew-&Vsbo>DZ9V7FCrv*mO-ZiaR~wuEy6gA! zuXP$KFT;^+HC@=zv0)kagYRD%6C_;~KPHN~F+Q2$F{3q*A%bD=8%_ppkHm0>2nVj+ zOb3{PZiq67O*piUVMBvR8EXUUk`3AnIts0^j0udIZ@3uhG1We@jS&QSl`+A0o&ncl z1`Q)1vEo*s&-UZ%@7({-lwtBFCa5g-_#5|p29dqL-dq3Zx>MTo=+T$+R_+3W6j1w1lblDWosx~$2GDa+&*ah$lge=6J7;Ayw7 z-OQWt#k97VVePE*)lXVI40TvnE8c$lGez^P(=8Fx%Z`0%`?h=u4>%Lvo&52us>sL-dte%IW$bNtry z`IRK^hkL&siT~y5O5Ghl@5j-HhxK<&IK1x1`ap&nM___s0Hqp+P~ol)j_h6k82wTf WcLS` diff --git a/doc/html/a00142.html b/doc/html/a00142.html index a6b1a24..78adbf9 100644 --- a/doc/html/a00142.html +++ b/doc/html/a00142.html @@ -4,7 +4,7 @@ -tbb::queuing_rw_mutex::scoped_lock Class Reference +tbb::flow::interface10::sender< T > Class Template Reference @@ -33,115 +33,157 @@
-
tbb::queuing_rw_mutex::scoped_lock Class Reference
+
tbb::flow::interface10::sender< T > Class Template Referenceabstract
-

The scoped locking pattern. +

Forward declaration section. More...

-

#include <queuing_rw_mutex.h>

+

#include <flow_graph.h>

-Inheritance diagram for tbb::queuing_rw_mutex::scoped_lock:
+Inheritance diagram for tbb::flow::interface10::sender< T >:
- - + + +tbb::flow::interface10::internal::untyped_sender
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Types

+typedef T output_type
 The output type of this sender.
 
+typedef
+internal::async_helpers< T >
+::filtered_type 
filtered_type
 
+typedef T output_type
 The output type of this sender.
 
+typedef receiver< T > successor_type
 The successor type for this node.
 
+typedef
+internal::edge_container
+< successor_type
built_successors_type
 interface to record edges for traversal & deletion
 
+typedef
+built_successors_type::edge_list_type 
successor_list_type
 
- Public Types inherited from tbb::flow::interface10::internal::untyped_sender
+typedef untyped_receiver successor_type
 The successor type for this node.
 
+typedef
+internal::edge_container
+< successor_type
built_successors_type
 interface to record edges for traversal & deletion
 
+typedef
+built_successors_type::edge_list_type 
successor_list_type
 
- - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 scoped_lock ()
 Construct lock that has not acquired a mutex. More...
 
scoped_lock (queuing_rw_mutex &m, bool write=true)
 Acquire lock on given mutex.
 
~scoped_lock ()
 Release lock (if lock is held).
 
-void acquire (queuing_rw_mutex &m, bool write=true)
 Acquire lock on given mutex.
 
-bool try_acquire (queuing_rw_mutex &m, bool write=true)
 Acquire lock on given mutex if free (i.e. non-blocking)
 
-void release ()
 Release lock.
 
bool upgrade_to_writer ()
 Upgrade reader to become a writer. More...
 
-bool downgrade_to_reader ()
 Downgrade writer to become a reader.
 
+virtual bool try_get (T &)
 Request an item from the sender.
 
+virtual bool try_reserve (T &)
 Reserves an item in the sender.
 
+virtual bool register_successor (successor_type &r)=0
 Add a new successor to this node.
 
+virtual bool remove_successor (successor_type &r)=0
 Removes a successor from this node.
 
+virtual bool try_get (T &)
 Request an item from the sender.
 
+virtual bool try_reserve (T &)
 Reserves an item in the sender.
 
+virtual bool try_release ()
 Releases the reserved item.
 
+virtual bool try_consume ()
 Consumes the reserved item.
 
+virtual built_successors_typebuilt_successors ()=0
 
+virtual void internal_add_built_successor (successor_type &)=0
 
+virtual void internal_delete_built_successor (successor_type &)=0
 
+virtual void copy_successors (successor_list_type &)=0
 
+virtual size_t successor_count ()=0
 
+ + + + + + + + + + + + + +

+Protected Member Functions

+virtual bool try_get_wrapper (void *p, bool is_async) __TBB_override
 
+virtual bool try_reserve_wrapper (void *p, bool is_async) __TBB_override
 
- Protected Member Functions inherited from tbb::flow::interface10::internal::untyped_sender
+template<typename X >
bool try_get (X &t)
 Request an item from the sender.
 
+template<typename X >
bool try_reserve (X &t)
 Reserves an item in the sender.
 

Detailed Description

-

The scoped locking pattern.

-

It helps to avoid the common problem of forgetting to release lock. It also nicely provides the "node" for queuing locks.

-

Constructor & Destructor Documentation

- -
-
- - - - - -
- - - - - - - -
tbb::queuing_rw_mutex::scoped_lock::scoped_lock ()
-
-inline
-
- -

Construct lock that has not acquired a mutex.

-

Equivalent to zero-initialization of *this.

- -
-
-

Member Function Documentation

- -
-
- - - - - - - -
bool tbb::queuing_rw_mutex::scoped_lock::upgrade_to_writer ()
-
- -

Upgrade reader to become a writer.

-

Returns whether the upgrade happened without releasing and re-acquiring the lock

+

template<typename T>
+class tbb::flow::interface10::sender< T >

-
-
-
The documentation for this class was generated from the following file:
    -
  • queuing_rw_mutex.h
  • +

    Forward declaration section.

    +

    Pure virtual template class that defines a sender of messages of type T.

    +

The documentation for this class was generated from the following file:
diff --git a/doc/html/a00142.png b/doc/html/a00142.png index 227e99a9e7146d2e7de5a746eb21af449090be9c..9655e6a47e8186100b02aa608adab807a495ea8f 100644 GIT binary patch literal 973 zcmeAS@N?(olHy`uVBq!ia0y~yU=#$h12~w0B&X%ZgFs3mz$e7@|Ns9$=8HF9OZyK^ z0J6aNz<~p-op3RPCZ~SBxU4HO9)IYsRC-YsBp|N*%xR9Z7ATm}C3d`MpC)6wBLv3?> z?v$A~4`jI)@_p7wyJq^*M!Hxk|5>5ylb;2$7Q4<=h6qhwVc&J4cvb&?tE>MQuZynf zecRr>*=()s+xXm-h1=41Uft-FBDT~wgBqK0#&TyM3O0XBK^V zxIB2)y)9L9E#IBH?~!s}C--LV@?8Gy9W5HsQSpKwJ#XH9yzZjj*Z(FHf0_T@Rkt-S zg{NYovSJsTRQ;om+>a#}#wxy>(2=+9;EQCvdCz~l%I*|Tb$Ie&X)NRJK=&ib`?4QJ z3Tw~RNsYLA=;SV0=Ea+r$;*caek%}&5VEV`P&zpoc1ktn#&oVDM!X};5ldkDE$S2A( zWO}kB}Hy9 z%~++AAr5Z(MQ#_lzS-;fELWe~tGvs`jgePxz7uU68-wykx=SErI+J7tPanAXo)yY#k%5TK)TbkC- zS@E}0>Gi8ui@ryno?Z6ZrKL3^aq_HAGkg``P}WEsD41Uy7u~yldtb+mhc|? z!7@qZ(%tei6X#jCTYA_;?)p>Lcrv>4&FrP?6aJs6Hnh2II@`G-zF%@$t;T-_^Ebac zuk4TP`*C&G#P*(!sb42}TmATdTJY|HX31my)!VZ3t_aFMozZhV=-)Fdq4TpM^iwqt zH%a(itE%BWKdWrRj$JFO_2!v2yx>jeJz$>z4-k~#zSs;3wy&@4kGEU!FiddD0p>jh MPgg&ebxsLQ0DX$B*#H0l delta 606 zcmX@h-p#7m8Q|y6%O%Cdz`(%k>ERLtq;CLm00%RW^pW+>ny6@1&m`sP;uuoF_;zmY zx@H3&mg7N7_x|sde|lN*Ls!(LQxjL`WI8{phPwU@CY`$90rskr@0$)OppE*+{!ggVPy%3MWBoGeU@Nm;#rizvQ^G>Kw-o7(br2ciTLBsa1rW;m% z;Ezw9KHK2y`QmwtpT!r?Zkx9JnACAy6TTZ&#~m(*PdqPlE_R#gtEJoKY`YRxJtw(% z8=GtN!BySTyXwWNHyG|O+Vns5!R-AZi@7({`kg-eclC>TufO@6JII&z=6(I|5AKu8 zJM$Kv6I;8eYW}J4Cq_3u7t7xe$<6;J8L{!(-30f}`Hi~OpW}~r?O=CZbM6o8jgPA% za%Aqmt@=Lubw>YH$%Gxx)WwfJZnF&&@2?Gwanp}*WnH!XWT?UaIWeJk^6H{QulN4? z<+8KnnThq^dptGVH>%9eK0R>X>J`h5H71L9iZ8nN_(u9l<~geuCNn&ok^l@qAl?#| eX}o#e7xswK7T>_R;tzpIhQZU-&t;ucLK6V~h99>8 diff --git a/doc/html/a00143.html b/doc/html/a00143.html index 6f13432..92abf1f 100644 --- a/doc/html/a00143.html +++ b/doc/html/a00143.html @@ -4,7 +4,7 @@ -tbb::interface5::reader_writer_lock::scoped_lock_read Class Reference +tbb::spin_mutex Class Reference @@ -33,59 +33,142 @@
-
tbb::interface5::reader_writer_lock::scoped_lock_read Class Reference
+
tbb::spin_mutex Class Reference
-

The scoped lock pattern for read locks. +

A lock that occupies a single byte. More...

-

#include <reader_writer_lock.h>

+

#include <spin_mutex.h>

-Inheritance diagram for tbb::interface5::reader_writer_lock::scoped_lock_read:
+Inheritance diagram for tbb::spin_mutex:
- - + +
+ + + + +

+Classes

class  scoped_lock
 Represents acquisition of a mutex. More...
 
- - - - - - - - - - + + + + + + + + + + + + + + + +

Public Member Functions

scoped_lock_read (reader_writer_lock &lock)
 Construct with blocking attempt to acquire read lock on the passed-in lock.
 
~scoped_lock_read ()
 Destructor, releases the read lock.
 
-void * operator new (size_t s)
 
-void operator delete (void *p)
 
 spin_mutex ()
 Construct unacquired lock. More...
 
+void __TBB_EXPORTED_METHOD internal_construct ()
 Internal constructor with ITT instrumentation.
 
+void lock ()
 Acquire lock.
 
bool try_lock ()
 Try acquiring lock (non-blocking) More...
 
+void unlock ()
 Release lock.
 
+ + + + + + +

+Static Public Attributes

+static const bool is_rw_mutex = false
 
+static const bool is_recursive_mutex = false
 
+static const bool is_fair_mutex = false
 
- - + +

Friends

-class reader_writer_lock
 
+class scoped_lock
 

Detailed Description

-

The scoped lock pattern for read locks.

-

The documentation for this class was generated from the following file:
    -
  • reader_writer_lock.h
  • +

    A lock that occupies a single byte.

    +

    A spin_mutex is a spin mutex that fits in a single byte. It should be used only for locking short critical sections (typically less than 20 instructions) when fairness is not an issue. If zero-initialized, the mutex is considered unheld.

    +

    Constructor & Destructor Documentation

    + +
    +
    + + + + + +
    + + + + + + + +
    tbb::spin_mutex::spin_mutex ()
    +
    +inline
    +
    + +

    Construct unacquired lock.

    +

    Equivalent to zero-initialization of *this.

    + +

    References internal_construct().

    + +
    +
    +

    Member Function Documentation

    + +
    +
    + + + + + +
    + + + + + + + +
    bool tbb::spin_mutex::try_lock ()
    +
    +inline
    +
    + +

    Try acquiring lock (non-blocking)

    +

    Return true if lock acquired; false otherwise.

    + +

    References tbb::aligned_space< T, N >::begin().

    + +
    +
    +
    The documentation for this class was generated from the following file:
      +
    • spin_mutex.h

    diff --git a/doc/html/a00143.png b/doc/html/a00143.png index 10066bd980a7f04d27b6d2c16ba84af835b461d3..5dfc58974fe23922ad2b6e7edde1e485bc375a30 100644 GIT binary patch delta 684 zcmX@kc9T`HGr-TCmrII^fq{Y7)59eQNWTE$01jp#sq*e*&_qS+`V3DO$B+ufw{u@# zdZobQ8lE=i=KKH0mT$Wxq_?&2>iZdwb}V(`&~du7f5yyM#~CU|uQNBq>71`y=K7mG;n{2*I&;UmO(*BQni?i-Kke)G z9PR!{m)RA!7lv+Me5>fUj>^pG<=2ZRKYe&kNUrYqW4#xDiv_kA+)T4RvG#T0{X0&f zY*)4~D4h24)wXSQB3lCQ&065iWLBnll51;?$TI!dS#?Gt-P;^uU;RwFa^@n}mZ^*P z?ya{!eev9l-w&a!9rPD=?)0RZN-`lVH zQbv|_?q=)tUVTZr9JRupR!g?cex5vO%i>_AUC$p~SJLvdU(2ZFInl&HRdbSBfbnK- zjt8%IF~&HCGw!{s=Ts$nq4TrUlIe`BJ38EK7?mO~YLxw(K?L^A%VEJ{lY7hn^J zX9ntE({NCk%V||vW%2rV&8}O^&;7lV6MN>uK#oE z&mFb1UUZr-cyj&e+GC=0Mj3Xr>mdKIwz)t FCIAEuKPCVG delta 794 zcmcb~dYnzMGr-TCmrII^fq{Y7)59f*fq~H)$PVCO29kkpN;f7dTGwCmba4!+V0=6G zZQg1F0hjY$Q=k34zr(ZPNW8#?sOvk+qxxhHKZ@l~{;e-4sHXJDs6|E6b63aK$xH0k z%vJfC_*P{lf3~`3ZG^SwtHZZEgXA}7hO^TlNr%i6%Jr%LeWyaR+ zrfUT}e`!Dac(<=?Ys)pipsLtQ^?8$Ye|_Gv`+fDKFW-IE$8NnJY3+IQtI5^d#bvWp zt$WKReQ8Tyc+GE8*^ZxY{;6y3-S*FfwSM0FXDh!qZ<)Mg<%Y6JSK5(X(?7cm>`*O+ z&!1Qm81$0gGVJ>CYf}Y-ZG?4$Uf!ihn+Co$vJH$9-LdQm3~u#F_ZcM`Cf+D#U`tT> z1`_YA1&I?YeDcY@?hXS%!Rd+&JO^CY$U4Yh<6FR=&3>VMEAxxTEAOtY{OdLU`u=U7 zB^RVwHZpv({Jb}gmGNch-M#<5eorsmR=>sg)?2<^vmZMZH7MJ;?A{%o_y7C3TPl<8 z{pL4b+qdg}q|^1fTTf2PKc1f0KjV6Yr>k~<)Tt?%Pg9RAc@XBh_D?#SwZ{H0cR$^` zX0v|FW;N}!S*DS^o-bCPym#L8q;_VjsnIfLbM34r_HsIZh0cD8&NkEBzHjasy;AQ@ z*H)*-*SB1c+|(aqW5MMu{G9)@QPkw~uW!r0S@7ret-Ur|U3C7YUwf_?xVAI5_4zlO z#dqUw+$*{KqRO!(^Sajl)8$XEuQ)ej)wWu3k?PO8PKWMWeQ4E@r#1aX`!4InZ?1kS z|Gr%P+MAuGAJg_{hgKz?eJ1q(NL~07tIhYPKF`_uaasGl?1Hn~_!b2neR9w!pzNGn z#`NVj7E;%lKc=6%`KWOBpIh%4{>$t)JuJDUI_KC=Io^OGBOZn2Ur&8Zcph}KoT2s) u|1HKpY)Bz~_!i@r!pnL}hg@7@o=Rsa9kO!jtv?A&?hKx;elF{r5}E)tRD^8+ diff --git a/doc/html/a00144.html b/doc/html/a00144.html index e8715f3..383342a 100644 --- a/doc/html/a00144.html +++ b/doc/html/a00144.html @@ -4,7 +4,7 @@ -tbb::flow::interface10::sender< T > Class Template Reference +tbb::spin_rw_mutex_v3 Class Reference @@ -33,156 +33,196 @@
-
tbb::flow::interface10::sender< T > Class Template Referenceabstract
+
tbb::spin_rw_mutex_v3 Class Reference
-

Pure virtual template class that defines a sender of messages of type T. +

Fast, unfair, spinning reader-writer lock with backoff and writer-preference. More...

-

#include <flow_graph.h>

+

#include <spin_rw_mutex.h>

-Inheritance diagram for tbb::flow::interface10::sender< T >:
+Inheritance diagram for tbb::spin_rw_mutex_v3:
- - -tbb::flow::interface10::internal::untyped_sender + +
- - - - - - - - - - - - - - - - - - - - - - - - - - + + + +

-Public Types

-typedef T output_type
 The output type of this sender.
 
-typedef
-internal::async_helpers< T >
-::filtered_type 
filtered_type
 
-typedef T output_type
 The output type of this sender.
 
-typedef receiver< T > successor_type
 The successor type for this node.
 
-typedef
-internal::edge_container
-< successor_type
built_successors_type
 interface to record edges for traversal & deletion
 
-typedef
-built_successors_type::edge_list_type 
successor_list_type
 
- Public Types inherited from tbb::flow::interface10::internal::untyped_sender
-typedef untyped_receiver successor_type
 The successor type for this node.
 
-typedef
-internal::edge_container
-< successor_type
built_successors_type
 interface to record edges for traversal & deletion
 
-typedef
-built_successors_type::edge_list_type 
successor_list_type
 

+Classes

class  scoped_lock
 The scoped locking pattern. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

-virtual bool try_get (T &)
 Request an item from the sender.
 
-virtual bool try_reserve (T &)
 Reserves an item in the sender.
 
-virtual bool register_successor (successor_type &r)=0
 Add a new successor to this node.
 
-virtual bool remove_successor (successor_type &r)=0
 Removes a successor from this node.
 
-virtual bool try_get (T &)
 Request an item from the sender.
 
-virtual bool try_reserve (T &)
 Reserves an item in the sender.
 
-virtual bool try_release ()
 Releases the reserved item.
 
-virtual bool try_consume ()
 Consumes the reserved item.
 
-virtual built_successors_typebuilt_successors ()=0
 
-virtual void internal_add_built_successor (successor_type &)=0
 
-virtual void internal_delete_built_successor (successor_type &)=0
 
-virtual void copy_successors (successor_list_type &)=0
 
-virtual size_t successor_count ()=0
 
spin_rw_mutex_v3 ()
 Construct unacquired mutex.
 
~spin_rw_mutex_v3 ()
 Destructor asserts if the mutex is acquired, i.e. state is zero.
 
+void lock ()
 Acquire writer lock.
 
bool try_lock ()
 Try acquiring writer lock (non-blocking) More...
 
+void unlock ()
 Release lock.
 
+void lock_read ()
 Acquire reader lock.
 
bool try_lock_read ()
 Try acquiring reader lock (non-blocking) More...
 
- - - - - - - - - - - - - - + + + + + + + +

-Protected Member Functions

-virtual bool try_get_wrapper (void *p, bool is_async) __TBB_override
 
-virtual bool try_reserve_wrapper (void *p, bool is_async) __TBB_override
 
- Protected Member Functions inherited from tbb::flow::interface10::internal::untyped_sender
-template<typename X >
bool try_get (X &t)
 Request an item from the sender.
 
-template<typename X >
bool try_reserve (X &t)
 Reserves an item in the sender.
 

+Static Public Attributes

+static const bool is_rw_mutex = true
 
+static const bool is_recursive_mutex = false
 
+static const bool is_fair_mutex = false
 
+ + + +

+Protected Types

+typedef intptr_t state_t
 
+ + + + +

+Protected Attributes

state_t state
 State of lock. More...
 
+ + + + + + + + + + +

+Static Protected Attributes

+static const state_t WRITER = 1
 
+static const state_t WRITER_PENDING = 2
 
+static const state_t READERS = ~(WRITER | WRITER_PENDING)
 
+static const state_t ONE_READER = 4
 
+static const state_t BUSY = WRITER | READERS
 

Detailed Description

-

template<typename T>
-class tbb::flow::interface10::sender< T >

+

Fast, unfair, spinning reader-writer lock with backoff and writer-preference.

+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
bool tbb::spin_rw_mutex_v3::try_lock ()
+
+inline
+
+ +

Try acquiring writer lock (non-blocking)

+

Return true if lock acquired; false otherwise.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
bool tbb::spin_rw_mutex_v3::try_lock_read ()
+
+inline
+
-

Pure virtual template class that defines a sender of messages of type T.

-

The documentation for this class was generated from the following file:
    -
  • flow_graph.h
  • +

    Try acquiring reader lock (non-blocking)

    +

    Return true if reader lock acquired; false otherwise.

    + +
+
+

Member Data Documentation

+ +
+
+ + + + + +
+ + + + +
state_t tbb::spin_rw_mutex_v3::state
+
+protected
+
+ +

State of lock.

+

Bit 0 = writer is holding lock Bit 1 = request by a writer to acquire lock (hint to readers to wait) Bit 2..N = number of readers holding lock

+ +

Referenced by tbb::spin_rw_mutex_v3::scoped_lock::release(), and unlock().

+ +
+
+
The documentation for this class was generated from the following file:
    +
  • spin_rw_mutex.h

diff --git a/doc/html/a00144.png b/doc/html/a00144.png index 9655e6a47e8186100b02aa608adab807a495ea8f..ff1efc94eefd31b2d4083e828ac11551d2a93292 100644 GIT binary patch delta 733 zcmV<30wVp*2Z;tDiBL{Q4GJ0x0000DNk~Le0002!0000`2m=5B03`0oQjsA#e*&0E zL_t(|0qvdJlJh7Ggg>gLs^9;OH^z2A9DGXtWFwPF2MO(Xf15JI>E2$JLON{;&}}5$NI*(b(rj)E}6+Z zlbbB@bLV`Ib;5=*{>9oe-A+2Ce^(+JtrFSlDV$%~&8S(U7136WfA(_UtI^Kd z>ovOeq!V4YD6LM{EuG^qFL%4{66sLaU4!j(T}e6(BeW#dc69!R9@`MM`5JI>C06vaCfIHwWMF0M7 z!t^dgA3X2D^fp8RZi1mFe}E?pMFBivC<@>SLs0-v7>WXT!cY{z6NaJyo-h;z@Pwf# zfF}$^0X$(S3g8JtQ2{lodi4OW_|31Sc(}{(Tu4*#FpL0cA?+FyNV8F~`Nz=Ce|$bkG$uDEvkv*U ze9DfYCK}l%vei>T^gCBK6C*q9D&->El0l1JMD6+&MH@uT)x1u0`jq0OME@5=JK7kc z^WTo5rs1VTKi!P#8Z}v$$(x&9&ozpB&1=UQ;2^FNExYcTUt{VZ(X}VFyY938KirG} zx_Ey?fEV!zqOrM@GfFfk0W1!h0c>L^3g8KYD1avnq5z&Sz1%|x!9V^3tc!!9zBrW= P00000NkvXXu0mjfw>3`! literal 973 zcmeAS@N?(olHy`uVBq!ia0y~yU=#$h12~w0B&X%ZgFs3mz$e7@|Ns9$=8HF9OZyK^ z0J6aNz<~p-op3RPCZ~SBxU4HO9)IYsRC-YsBp|N*%xR9Z7ATm}C3d`MpC)6wBLv3?> z?v$A~4`jI)@_p7wyJq^*M!Hxk|5>5ylb;2$7Q4<=h6qhwVc&J4cvb&?tE>MQuZynf zecRr>*=()s+xXm-h1=41Uft-FBDT~wgBqK0#&TyM3O0XBK^V zxIB2)y)9L9E#IBH?~!s}C--LV@?8Gy9W5HsQSpKwJ#XH9yzZjj*Z(FHf0_T@Rkt-S zg{NYovSJsTRQ;om+>a#}#wxy>(2=+9;EQCvdCz~l%I*|Tb$Ie&X)NRJK=&ib`?4QJ z3Tw~RNsYLA=;SV0=Ea+r$;*caek%}&5VEV`P&zpoc1ktn#&oVDM!X};5ldkDE$S2A( zWO}kB}Hy9 z%~++AAr5Z(MQ#_lzS-;fELWe~tGvs`jgePxz7uU68-wykx=SErI+J7tPanAXo)yY#k%5TK)TbkC- zS@E}0>Gi8ui@ryno?Z6ZrKL3^aq_HAGkg``P}WEsD41Uy7u~yldtb+mhc|? z!7@qZ(%tei6X#jCTYA_;?)p>Lcrv>4&FrP?6aJs6Hnh2II@`G-zF%@$t;T-_^Ebac zuk4TP`*C&G#P*(!sb42}TmATdTJY|HX31my)!VZ3t_aFMozZhV=-)Fdq4TpM^iwqt zH%a(itE%BWKdWrRj$JFO_2!v2yx>jeJz$>z4-k~#zSs;3wy&@4kGEU!FiddD0p>jh MPgg&ebxsLQ0DX$B*#H0l diff --git a/doc/html/a00145.html b/doc/html/a00145.html index 446dfcf..bc99c15 100644 --- a/doc/html/a00145.html +++ b/doc/html/a00145.html @@ -4,7 +4,7 @@ -tbb::spin_mutex Class Reference +tbb::structured_task_group Class Reference @@ -33,142 +33,78 @@
-
tbb::spin_mutex Class Reference
+
tbb::structured_task_group Class Reference
- -

A lock that occupies a single byte. - More...

- -

#include <spin_mutex.h>

-Inheritance diagram for tbb::spin_mutex:
+Inheritance diagram for tbb::structured_task_group:
- - + + +tbb::internal::task_group_base
- - - - -

-Classes

class  scoped_lock
 Represents acquisition of a mutex. More...
 
- - - - - - - - - - - - - - - -

Public Member Functions

 spin_mutex ()
 Construct unacquired lock. More...
 
-void __TBB_EXPORTED_METHOD internal_construct ()
 Internal constructor with ITT instrumentation.
 
-void lock ()
 Acquire lock.
 
bool try_lock ()
 Try acquiring lock (non-blocking) More...
 
-void unlock ()
 Release lock.
 
- - - - - - - + + + + + + + + + + + + + + + + +

-Static Public Attributes

-static const bool is_rw_mutex = false
 
-static const bool is_recursive_mutex = false
 
-static const bool is_fair_mutex = false
 
+template<typename F >
task_group_status run_and_wait (task_handle< F > &h)
 
+task_group_status wait ()
 
- Public Member Functions inherited from tbb::internal::task_group_base
task_group_base (uintptr_t traits=0)
 
+template<typename F >
void run (task_handle< F > &h)
 
+task_group_status wait ()
 
+bool is_canceling ()
 
+void cancel ()
 
- - - -

-Friends

-class scoped_lock
 
-

Detailed Description

-

A lock that occupies a single byte.

-

A spin_mutex is a spin mutex that fits in a single byte. It should be used only for locking short critical sections (typically less than 20 instructions) when fairness is not an issue. If zero-initialized, the mutex is considered unheld.

-

Constructor & Destructor Documentation

- -
-
- - - - - -
- - - - - - - -
tbb::spin_mutex::spin_mutex ()
-
-inline
-
- -

Construct unacquired lock.

-

Equivalent to zero-initialization of *this.

- -

References internal_construct().

- -
-
-

Member Function Documentation

- -
-
- - - - - + + + + + + + + + + + + + + +
- - - - - - - -
bool tbb::spin_mutex::try_lock ()
-
-inline

+Additional Inherited Members

- Protected Member Functions inherited from tbb::internal::task_group_base
+task & owner ()
 
+template<typename F >
task_group_status internal_run_and_wait (F &f)
 
+template<typename Task , typename F >
void internal_run (__TBB_FORWARDING_REF(F) f)
 
- Protected Attributes inherited from tbb::internal::task_group_base
+empty_task * my_root
 
+task_group_context my_context
 
-
- -

Try acquiring lock (non-blocking)

-

Return true if lock acquired; false otherwise.

- -

References tbb::aligned_space< T, N >::begin().

- -
-

The documentation for this class was generated from the following file:
    -
  • spin_mutex.h
  • +
  • task_group.h

diff --git a/doc/html/a00145.png b/doc/html/a00145.png index 5dfc58974fe23922ad2b6e7edde1e485bc375a30..f9335edceafd7f8bc89407edcd399573fb4cb1e3 100644 GIT binary patch delta 918 zcmcb~dXQbQGr-TCmrII^fq{Y7)59eQNN)z>4i07@IlEkI{X|8pdgcI67srqa#qHUiIJHZl`-053fjIjh$hn!oGE_O8=CUE=hLGj0|70d1j=|%bYYZf2-Lu zkACJ#H=HRhsl7b^Ywzm`yvCcKS9X5haiqv{;n%$18N7zZ)os_0{A~Lix!3=>xQ*TW z(s`e5oq1Evt>74Gn$lnI3wzqAY#p`meV? zTIF@6h3c-`yIHQZeA=q4Zh5u8PihJm+82sVEPV09?CcEtJAuo7XCC-uw*AfGY0Gk* z471)AuzglLU1MH&|M870>tpX-DU36_VfXFyeI1dtT2b-;mK8+u2lW(H%eZH+-P^mO zc<~!s|Ik3)6-klx=088ITybs7x14oU->^g*WnKx9+!n9iz8J{rKU+b>G$% zZ<}%dM6dgt)vdQm7oWJFy|eK4&J#zp=6C;m_p-ud{_9X@+=|6zkKtPVW)8RlMG`1yNz{Uuqe{!@27zrUDM%KSif2{4#n0z=da z7`nia#>YKS*x6CS#&kgxs=l~P?)~*;$1-oR@2P#Wc=<-&1IB;!>*q}WWWMig?YiP$ zcBSWnr@dR7xOT?tIa^ETZ9IRUeVz8s3p*C(eX~1eeW&~LrU%~`AFW$kx&Q0^Resy! zZFk+MkiHeM%jWjqI|Xv@wwDNMO!jE#N~$v5V!_9uKC9d2#h(9*#OFN!f4%MVrMecA zJ3B?s-7eJIf9@pmoX7TkmHGVD%v;mr&ph9ix5NE?L{jyI{%ecN zw!AtPR|X2tE1TC}JlsiYM9QU3j@{$=*-B@KaDjlt8^&t;ucLK6V0JJH$z delta 685 zcmX@eev?(PGr-TCmrII^fq{Y7)59eQNWTE$01jp#sq*e*&_qS6dZr9d7srqa#A*rJbr%e@1WxC(aTfRy#4b& zeVFfm?z)HUz24dJJ!@~j%~?KYYklLnFzKAHTju(kJ>l7G9XfNzx=knNy_y;(Y(MSm z_8jg0NSE0aw-<(PUwo_Rw~orp>E+jpCqI37PDrlq_+z~ne~SgS7~D*=KC$+7;r%;K zp=?*SFDRV$^3}F&bs}2=@6B4^&16=lc#>;tjmR?n*jaT(BHh~@Vqg7Cx^m_s*OsY^ z_tx*VKYj7sjo+5DvMzClZueO0cU4#Y{8^(rYj^Scx39`8`nKei*QL`%jnkGyz2Dof z`cg)gb?#>C^oh?&3>LdY0KhZrCrY-U02fbv|r1ps>??Cb_u)S;R8_sVquM3m0G$ zh-U_BWz%p_nagQaS!MD1cg?O_%g_D2y?|l&FUAW`V@>~_i8J0_dA&v=&tR^<(XRh< z>(3pvvtD$XFL-kO>E&-lrcM7@RnK!&_yFgx16R)~O^H3$b=Wtnan}LnJxlc))|G!V zc=7jh_ky_%Z{4n3HESsUdQqlSLp6}OWV7e*U;f>Jk)@ZHNynOItn#!EC}rIB>yiW@OD@=GpemQS0oSe*hC8gQu&X%Q|MK GgeCw2 -tbb::spin_rw_mutex_v3 Class Reference +tbb::flow::interface10::internal::successor_cache< T, M > Class Template Reference @@ -33,196 +33,16 @@
-
-
tbb::spin_rw_mutex_v3 Class Reference
+
tbb::flow::interface10::internal::successor_cache< T, M > Class Template Reference
- -

Fast, unfair, spinning reader-writer lock with backoff and writer-preference. - More...

- -

#include <spin_rw_mutex.h>

-
-Inheritance diagram for tbb::spin_rw_mutex_v3:
-
-
- - - -
- - - - - -

-Classes

class  scoped_lock
 The scoped locking pattern. More...
 
- - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

spin_rw_mutex_v3 ()
 Construct unacquired mutex.
 
~spin_rw_mutex_v3 ()
 Destructor asserts if the mutex is acquired, i.e. state is zero.
 
-void lock ()
 Acquire writer lock.
 
bool try_lock ()
 Try acquiring writer lock (non-blocking) More...
 
-void unlock ()
 Release lock.
 
-void lock_read ()
 Acquire reader lock.
 
bool try_lock_read ()
 Try acquiring reader lock (non-blocking) More...
 
- - - - - - - -

-Static Public Attributes

-static const bool is_rw_mutex = true
 
-static const bool is_recursive_mutex = false
 
-static const bool is_fair_mutex = false
 
- - - -

-Protected Types

-typedef intptr_t state_t
 
- - - - -

-Protected Attributes

state_t state
 State of lock. More...
 
- - - - - - - - - - - -

-Static Protected Attributes

-static const state_t WRITER = 1
 
-static const state_t WRITER_PENDING = 2
 
-static const state_t READERS = ~(WRITER | WRITER_PENDING)
 
-static const state_t ONE_READER = 4
 
-static const state_t BUSY = WRITER | READERS
 
-

Detailed Description

-

Fast, unfair, spinning reader-writer lock with backoff and writer-preference.

-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - -
bool tbb::spin_rw_mutex_v3::try_lock ()
-
-inline
-
- -

Try acquiring writer lock (non-blocking)

-

Return true if lock acquired; false otherwise.

- -
-
- -
-
- - - - - -
- - - - - - - -
bool tbb::spin_rw_mutex_v3::try_lock_read ()
-
-inline
-
- -

Try acquiring reader lock (non-blocking)

-

Return true if reader lock acquired; false otherwise.

- -
-
-

Member Data Documentation

- -
-
- - - - - -
- - - - -
state_t tbb::spin_rw_mutex_v3::state
-
-protected
-
- -

State of lock.

-

Bit 0 = writer is holding lock Bit 1 = request by a writer to acquire lock (hint to readers to wait) Bit 2..N = number of readers holding lock

- -

Referenced by tbb::spin_rw_mutex_v3::scoped_lock::release(), and unlock().

- -
-

The documentation for this class was generated from the following file:

diff --git a/doc/html/a00146.png b/doc/html/a00146.png deleted file mode 100644 index ff1efc94eefd31b2d4083e828ac11551d2a93292..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 777 zcmeAS@N?(olHy`uVBq!ia0vp^FMv3JgBeJwygLaJkO=SzasB`QKS=J)*V6t&6M!r* zK5*awYv&z#AeW;g$S;@ys0akEo(eHyU|^cz>Eakt!T5IW?Ma_Ccv|dNEn9W}f3Nwm zG6$I&uYW1ZlReq_J)C@%e@+u{+QG~*>4|*v3YE%33R<4?E~x&J`Y(L%TFL2+n{;}o z|DP>bKWl}`XImGOHSQ*lKR&AD`FQ--v7Mze-ptdRdD3R`Y@LtA&ujWi549QoJ9^9b zuAkM?a3!g=LN{M&&h_7x!n4^rbmokeMJMLHnmbReOm}wv%`ib@*V$h#Eezeh*lTC4 z*rcXb-s{|xuRc5`Htmnw5#L3ZpDSEEq*5t8DKl$le%j(yOs}FZSe*X)YFm)K*OrU- zX1P3P%1Kew6v;TM;o~1WtIkkl_O^~$mo}eW5xH3OVp#9DqWh~ap1bwhbl0~f!m-;m z*7{x7o%`58zkK&Qp_c*IW1HWW#ClrsDsNG_TJg44$MgNcz(pH(eO{LmVI%Ey-(?ct zLfN!>-$`a4#9X&K{h76B(wEB;E~+Pm*#bR3wXk0Vh8QD*U7vk}^#eVZ|Nrt1ebIA~ zw|Rf?i(pt_PgXfeiiuSGetM7Phy4Ano@{e{G#&gNm_qJ4hWmx~??E0k@ zJ5GOy@d*BC(8G|a_*P2TV{_ofpT{qptFiMmQ8QQH%=dG9&8fbHYEn1VH(d>O{9+w$ zF05?*M(e54?MaT^aV~FviMmR=oV~ioujJR1M@wD)i@R9gl34Wle&3>H50|>w-|cxN zWg0pC -tbb::structured_task_group Class Reference +tbb::interface7::task_arena Class Reference @@ -33,78 +33,395 @@
-
tbb::structured_task_group Class Reference
+
tbb::interface7::task_arena Class Reference
+ +

#include <task_arena.h>

-Inheritance diagram for tbb::structured_task_group:
+Inheritance diagram for tbb::interface7::task_arena:
- - -tbb::internal::task_group_base + +
+ + + + +

+Classes

struct  attach
 Tag class used to indicate the "attaching" constructor. More...
 
- - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - + + + + + + + + + + + + + + + + + +

Public Member Functions

-template<typename F >
task_group_status run_and_wait (task_handle< F > &h)
 
-task_group_status wait ()
 
- Public Member Functions inherited from tbb::internal::task_group_base
task_group_base (uintptr_t traits=0)
 
+
 task_arena (int max_concurrency_=automatic, unsigned reserved_for_masters=1)
 Creates task_arena with certain concurrency limits. More...
 
task_arena (const task_arena &s)
 Copies settings from another task_arena.
 
task_arena (attach)
 Creates an instance of task_arena attached to the current arena of the thread.
 
+void initialize ()
 Forces allocation of the resources for the task_arena as specified in constructor arguments.
 
+void initialize (int max_concurrency_, unsigned reserved_for_masters=1)
 Overrides concurrency level and forces initialization of internal representation.
 
+void initialize (attach)
 Attaches this instance to the current arena of the thread.
 
void terminate ()
 
 ~task_arena ()
 
bool is_active () const
 
template<typename F >
void enqueue (F &&f)
 
template<typename F >
void run (task_handle< F > &h)
 
-task_group_status wait ()
 
-bool is_canceling ()
 
-void cancel ()
 
void enqueue (const F &f)
 
template<typename F >
void enqueue (F &&f, priority_t p)
 
+void enqueue (const F &f, priority_t p)
 
template<typename F >
internal::return_type_or_void
+< F >::type 
execute (F &f)
 
template<typename F >
internal::return_type_or_void
+< F >::type 
execute (const F &f)
 
void debug_wait_until_empty ()
 
+int max_concurrency () const
 Returns the maximal number of threads that can work inside the arena.
 
- - - - - - - - - - - - - - - + + + +

-Additional Inherited Members

- Protected Member Functions inherited from tbb::internal::task_group_base
-task & owner ()
 
-template<typename F >
task_group_status internal_run_and_wait (F &f)
 
-template<typename Task , typename F >
void internal_run (__TBB_FORWARDING_REF(F) f)
 
- Protected Attributes inherited from tbb::internal::task_group_base
-empty_task * my_root
 
-task_group_context my_context
 

+Static Public Member Functions

static int current_thread_index ()
 
+ + + + + +

+Friends

+class tbb::internal::task_scheduler_observer_v3
 
+int tbb::this_task_arena::max_concurrency ()
 
+

Detailed Description

+

1-to-1 proxy representation class of scheduler's arena Constructors set up settings only, real construction is deferred till the first method invocation Destructor only removes one of the references to the inner arena representation. Final destruction happens when all the references (and the work) are gone.

+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
tbb::interface7::task_arena::task_arena (int max_concurrency_ = automatic,
unsigned reserved_for_masters = 1 
)
+
+inline
+
+ +

Creates task_arena with certain concurrency limits.

+

Sets up settings only, real construction is deferred till the first method invocation

+
    +
  • max_concurrency specifies total number of slots in arena where threads work
  • +
  • reserved_for_masters specifies number of slots to be used by master threads only. Value of 1 is default and reflects behavior of implicit arenas.
  • +
+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
tbb::interface7::task_arena::~task_arena ()
+
+inline
+
+

Removes the reference to the internal arena representation, and destroys the external object. Not thread safe wrt concurrent invocations of other methods.

+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
static int tbb::interface7::task_arena::current_thread_index ()
+
+inlinestatic
+
+

Returns the index, aka slot number, of the calling thread in its current arena This method is deprecated and replaced with this_task_arena::current_thread_index()

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
void tbb::interface7::task_arena::debug_wait_until_empty ()
+
+inline
+
+

Wait for all work in the arena to be completed Even submitted by other application threads Joins arena if/when possible (in the same way as execute())

+ +
+
+ +
+
+
+template<typename F >
+ + + + +
+ + + + + + + + +
void tbb::interface7::task_arena::enqueue (F && f)
+
+inline
+
+

Enqueues a task into the arena to process a functor, and immediately returns. Does not require the calling thread to join the arena

+ +
+
+ +
+
+
+template<typename F >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void tbb::interface7::task_arena::enqueue (F && f,
priority_t p 
)
+
+inline
+
+

Enqueues a task with priority p into the arena to process a functor f, and immediately returns. Does not require the calling thread to join the arena

+ +
+
+ +
+
+
+template<typename F >
+ + + + + +
+ + + + + + + + +
internal::return_type_or_void<F>::type tbb::interface7::task_arena::execute (F & f)
+
+inline
+
+

Joins the arena and executes a mutable functor, then returns If not possible to join, wraps the functor into a task, enqueues it and waits for task completion Can decrement the arena demand for workers, causing a worker to leave and free a slot to the calling thread Since C++11, the method returns the value returned by functor (prior to C++11 it returns void).

+ +
+
+ +
+
+
+template<typename F >
+ + + + + +
+ + + + + + + + +
internal::return_type_or_void<F>::type tbb::interface7::task_arena::execute (const F & f)
+
+inline
+
+

Joins the arena and executes a constant functor, then returns If not possible to join, wraps the functor into a task, enqueues it and waits for task completion Can decrement the arena demand for workers, causing a worker to leave and free a slot to the calling thread Since C++11, the method returns the value returned by functor (prior to C++11 it returns void).

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
bool tbb::interface7::task_arena::is_active () const
+
+inline
+
+

Returns true if the arena is active (initialized); false otherwise. The name was chosen to match a task_scheduler_init method with the same semantics.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
void tbb::interface7::task_arena::terminate ()
+
+inline
+
+

Removes the reference to the internal arena representation. Not thread safe wrt concurrent invocations of other methods.

+ +
+

The documentation for this class was generated from the following file:
    -
  • task_group.h
  • +
  • task_arena.h

diff --git a/doc/html/a00147.png b/doc/html/a00147.png index f9335edceafd7f8bc89407edcd399573fb4cb1e3..e9685d4171a2c2b80abd7f134114e57d1cfc52ca 100644 GIT binary patch delta 611 zcmX@eK7m!SGr-TCmrII^fq{Y7)59eQNG|~501jp#xw5&BZK9%8J(Ikri(^OyE~v4u}LKhvITQuZa+5DGYZ?i)bLBQ zJ4o!c<~?R}nd|45?!M}F@-Bdep9qSJ}bw?CI8<^1mmg{;qv|>~4>)u}7QPcJJ&5q{F6{cP; zzoxu%JACwQjMXOT2Gh;fUgr|SWoswADwSYZyZhOxH9Lh5PEMX5;x_;1W0Bt*_IhsI zT`V3{Q^TG+;h6P}+8y_H7d6z1@^8NrR_I;0+QIrY*BU8a_7%ptmK!}kzEl7Aieb*S tCX3(7Om~C@5x)KMOKbU*OS^tC&yb2&s93$j2AFObJYD@<);T3K0RXtK408Yg delta 918 zcmbQhdXQbQGr-TCmrII^fq{Y7)59eQNN)z>4i07@IlEkI{X|8pdgcI67srqa#qHUiIJHZl`-053fjIjh$hn!oGE_O8=CUE=hLGj0|70d1j=|%bYYZf2-Lu zkACJ#H=HRhsl7b^Ywzm`yvCcKS9X5haiqv{;n%$18N7zZ)os_0{A~Lix!3=>xQ*TW z(s`e5oq1Evt>74Gn$lnI3wzqAY#p`meV? zTIF@6h3c-`yIHQZeA=q4Zh5u8PihJm+82sVEPV09?CcEtJAuo7XCC-uw*AfGY0Gk* z471)AuzglLU1MH&|M870>tpX-DU36_VfXFyeI1dtT2b-;mK8+u2lW(H%eZH+-P^mO zc<~!s|Ik3)6-klx=088ITybs7x14oU->^g*WnKx9+!n9iz8J{rKU+b>G$% zZ<}%dM6dgt)vdQm7oWJFy|eK4&J#zp=6C;m_p-ud{_9X@+=|6zkKtPVW)8RlMG`1yNz{Uuqe{!@27zrUDM%KSif2{4#n0z=da z7`nia#>YKS*x6CS#&kgxs=l~P?)~*;$1-oR@2P#Wc=<-&1IB;!>*q}WWWMig?YiP$ zcBSWnr@dR7xOT?tIa^ETZ9IRUeVz8s3p*C(eX~1eeW&~LrU%~`AFW$kx&Q0^Resy! zZFk+MkiHeM%jWjqI|Xv@wwDNMO!jE#N~$v5V!_9uKC9d2#h(9*#OFN!f4%MVrMecA zJ3B?s-7eJIf9@pmoX7TkmHGVD%v;mr&ph9ix5NE?L{jyI{%ecN zw!AtPR|X2tE1TC}JlsiYM9QU3j@{$=*-B@KaDjlt8^&t;ucLK6U_X3>!V diff --git a/doc/html/a00148.html b/doc/html/a00148.html index c221ecc..cd86c85 100644 --- a/doc/html/a00148.html +++ b/doc/html/a00148.html @@ -4,7 +4,7 @@ -tbb::flow::interface10::internal::successor_cache< T, M > Class Template Reference +tbb::task_group Class Reference @@ -33,16 +33,91 @@
+
-
tbb::flow::interface10::internal::successor_cache< T, M > Class Template Reference
+
tbb::task_group Class Reference
+
+Inheritance diagram for tbb::task_group:
+
+
+ + +tbb::internal::task_group_base + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Public Member Functions

+template<typename F >
void run (task_handle< F > &h)
 
+template<typename F >
void run (F &&f)
 
+template<typename F >
void run (const F &f)
 
+template<typename F >
task_group_status run_and_wait (const F &f)
 
+template<typename F >
task_group_status run_and_wait (task_handle< F > &h)
 
- Public Member Functions inherited from tbb::internal::task_group_base
task_group_base (uintptr_t traits=0)
 
+template<typename F >
void run (task_handle< F > &h)
 
+task_group_status wait ()
 
+bool is_canceling ()
 
+void cancel ()
 
+ + + + + + + + + + + + + + + +

+Additional Inherited Members

- Protected Member Functions inherited from tbb::internal::task_group_base
+task & owner ()
 
+template<typename F >
task_group_status internal_run_and_wait (F &f)
 
+template<typename Task , typename F >
void internal_run (__TBB_FORWARDING_REF(F) f)
 
- Protected Attributes inherited from tbb::internal::task_group_base
+empty_task * my_root
 
+task_group_context my_context
 

The documentation for this class was generated from the following file:

diff --git a/doc/html/a00150.png b/doc/html/a00148.png similarity index 100% rename from doc/html/a00150.png rename to doc/html/a00148.png diff --git a/doc/html/a00149.html b/doc/html/a00149.html index 6cdf68f..2a3b7f7 100644 --- a/doc/html/a00149.html +++ b/doc/html/a00149.html @@ -4,7 +4,7 @@ -tbb::interface7::task_arena Class Reference +tbb::internal::task_group_base Class Reference @@ -33,395 +33,74 @@
-
tbb::interface7::task_arena Class Reference
+
tbb::internal::task_group_base Class Reference
- -

#include <task_arena.h>

-Inheritance diagram for tbb::interface7::task_arena:
+Inheritance diagram for tbb::internal::task_group_base:
- - + + +tbb::structured_task_group +tbb::task_group
- - - - -

-Classes

struct  attach
 Tag class used to indicate the "attaching" constructor. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - + + - - - - - - - - - - - - - - - - - - + + + + + + + +

Public Member Functions

 task_arena (int max_concurrency_=automatic, unsigned reserved_for_masters=1)
 Creates task_arena with certain concurrency limits. More...
 
task_arena (const task_arena &s)
 Copies settings from another task_arena.
 
task_arena (attach)
 Creates an instance of task_arena attached to the current arena of the thread.
 
-void initialize ()
 Forces allocation of the resources for the task_arena as specified in constructor arguments.
 
-void initialize (int max_concurrency_, unsigned reserved_for_masters=1)
 Overrides concurrency level and forces initialization of internal representation.
 
-void initialize (attach)
 Attaches this instance to the current arena of the thread.
 
void terminate ()
 
 ~task_arena ()
 
bool is_active () const
 
template<typename F >
void enqueue (F &&f)
 
+
task_group_base (uintptr_t traits=0)
 
template<typename F >
void enqueue (const F &f)
 
template<typename F >
void enqueue (F &&f, priority_t p)
 
-void enqueue (const F &f, priority_t p)
 
template<typename F >
internal::return_type_or_void
-< F >::type 
execute (F &f)
 
template<typename F >
internal::return_type_or_void
-< F >::type 
execute (const F &f)
 
void debug_wait_until_empty ()
 
-int max_concurrency () const
 Returns the maximal number of threads that can work inside the arena.
 
void run (task_handle< F > &h)
 
+task_group_status wait ()
 
+bool is_canceling ()
 
+void cancel ()
 
- - - + + + + + + + + +

-Static Public Member Functions

static int current_thread_index ()
 

+Protected Member Functions

+task & owner ()
 
+template<typename F >
task_group_status internal_run_and_wait (F &f)
 
+template<typename Task , typename F >
void internal_run (__TBB_FORWARDING_REF(F) f)
 
- - - - - -

-Friends

-class tbb::internal::task_scheduler_observer_v3
 
-int tbb::this_task_arena::max_concurrency ()
 
-

Detailed Description

-

1-to-1 proxy representation class of scheduler's arena Constructors set up settings only, real construction is deferred till the first method invocation Destructor only removes one of the references to the inner arena representation. Final destruction happens when all the references (and the work) are gone.

-

Constructor & Destructor Documentation

- -
-
- - - - - + + + + +
- - - - - - - - - - - - - - - - - - -
tbb::interface7::task_arena::task_arena (int max_concurrency_ = automatic,
unsigned reserved_for_masters = 1 
)
-
-inline

+Protected Attributes

+empty_task * my_root
 
+task_group_context my_context
 
-
- -

Creates task_arena with certain concurrency limits.

-

Sets up settings only, real construction is deferred till the first method invocation

-
    -
  • max_concurrency specifies total number of slots in arena where threads work
  • -
  • reserved_for_masters specifies number of slots to be used by master threads only. Value of 1 is default and reflects behavior of implicit arenas.
  • -
- -
-
- -
-
- - - - - -
- - - - - - - -
tbb::interface7::task_arena::~task_arena ()
-
-inline
-
-

Removes the reference to the internal arena representation, and destroys the external object. Not thread safe wrt concurrent invocations of other methods.

- -
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - -
static int tbb::interface7::task_arena::current_thread_index ()
-
-inlinestatic
-
-

Returns the index, aka slot number, of the calling thread in its current arena This method is deprecated and replaced with this_task_arena::current_thread_index()

- -
-
- -
-
- - - - - -
- - - - - - - -
void tbb::interface7::task_arena::debug_wait_until_empty ()
-
-inline
-
-

Wait for all work in the arena to be completed Even submitted by other application threads Joins arena if/when possible (in the same way as execute())

- -
-
- -
-
-
-template<typename F >
- - - - - -
- - - - - - - - -
void tbb::interface7::task_arena::enqueue (F && f)
-
-inline
-
-

Enqueues a task into the arena to process a functor, and immediately returns. Does not require the calling thread to join the arena

- -
-
- -
-
-
-template<typename F >
- - - - - -
- - - - - - - - - - - - - - - - - - -
void tbb::interface7::task_arena::enqueue (F && f,
priority_t p 
)
-
-inline
-
-

Enqueues a task with priority p into the arena to process a functor f, and immediately returns. Does not require the calling thread to join the arena

- -
-
- -
-
-
-template<typename F >
- - - - - -
- - - - - - - - -
internal::return_type_or_void<F>::type tbb::interface7::task_arena::execute (F & f)
-
-inline
-
-

Joins the arena and executes a mutable functor, then returns If not possible to join, wraps the functor into a task, enqueues it and waits for task completion Can decrement the arena demand for workers, causing a worker to leave and free a slot to the calling thread Since C++11, the method returns the value returned by functor (prior to C++11 it returns void).

- -
-
- -
-
-
-template<typename F >
- - - - - -
- - - - - - - - -
internal::return_type_or_void<F>::type tbb::interface7::task_arena::execute (const F & f)
-
-inline
-
-

Joins the arena and executes a constant functor, then returns If not possible to join, wraps the functor into a task, enqueues it and waits for task completion Can decrement the arena demand for workers, causing a worker to leave and free a slot to the calling thread Since C++11, the method returns the value returned by functor (prior to C++11 it returns void).

- -
-
- -
-
- - - - - -
- - - - - - - -
bool tbb::interface7::task_arena::is_active () const
-
-inline
-
-

Returns true if the arena is active (initialized); false otherwise. The name was chosen to match a task_scheduler_init method with the same semantics.

- -
-
- -
-
- - - - - -
- - - - - - - -
void tbb::interface7::task_arena::terminate ()
-
-inline
-
-

Removes the reference to the internal arena representation. Not thread safe wrt concurrent invocations of other methods.

- -
-

The documentation for this class was generated from the following file:
    -
  • task_arena.h
  • +
  • task_group.h

diff --git a/doc/html/a00149.png b/doc/html/a00149.png index e9685d4171a2c2b80abd7f134114e57d1cfc52ca..e95fec5546162fcf72b876a7571a40174f6db6a5 100644 GIT binary patch literal 1324 zcmeAS@N?(olHy`uVBq!ia0y~yU@QQ#J2;quWs402SiPrPzWe*W zVnb!bp#v2{mpGsN3OL4L8|AwDC+iON|IAhAPsYPq zxBK>jf%2EXDt1R!xE!&&s%@h5s5qj+#YG9IYGOyLyNgQFLqWk#uu!^qoR{WvrUMKn ze;5rIEF&x&;??ik4W+*Fs$n|mN~!>Bb;v0z_>&097u!joQF6yeDKm-I)|s>bJ4yJx-tra-0Z+W zViej~(BQI8agV)i{o35T^4Xuyrmp8d`SbV!Z|?fy*Y z_U|i~*e9o3ynbP()P*ln`5|?3-8_$1H-45n@A`V@?QZYX9|`GJXWeTJFKh{lko)SY zTvWs5yFRP;d2!_I-}3d24aOIyO)1M>|9hFkVWsZrzNL?X5>DQlwYvDf-^1_cgKh=5 zN`)t{|M`0Hq1&C$W_{XiRHK*|xqS9VZPlmsE&6J^u6cjn+O|JDXj`lK)$+i@vp-&y zei(lBL$zL?m74b3eeJV8OzTWlD+oJr#T$Q<9Q9D%Ta&b>z;-V8X2^f{0UPlh8 zYEBG)__VNRzl!N`ughuK)#*3Wt9w-5e&T#6J=@yA!t>VQL;IsEG?&J&|G!KBx5ZiW zw%OmGxx4T$ySDS;#^s53ZrJ!oZ@nJ9eplGy=XRw$^F{Y<+^O6=d5P^c$s_u=RIx4gh8pY>tk-&5$bwaLrPQF*&jsphBB`g>E)t1dJD zzPYq&>iM<7mp3cjy*>S5c=x(qx#S67Z0wY4YKz&~)IF>Ba7|zGKEd|O)@%M8)0gyr zs4JMX<@j{&`aO=@g%Wq|jOE!M_~SUp#yXF-e0w3!s0ni){uc#W^Rd{gOJ(nI^C=>p sR%{pn9#?U_^zP0TE#E~v4u}LKhvITQuZa+5DGYZ?i)bLBQ zJ4o!c<~?R}nd|45?!M}F@-Bdep9qSJ}bw?CI8<^1mmg{;qv|>~4>)u}7QPcJJ&5q{F6{cP; zzoxu%JACwQjMXOT2Gh;fUgr|SWoswADwSYZyZhOxH9Lh5PEMX5;x_;1W0Bt*_IhsI zT`V3{Q^TG+;h6P}+8y_H7d6z1@^8NrR_I;0+QIrY*BU8a_7%ptmK!}kzEl7Aieb*S tCX3(7Om~C@5x)KMOKbU*OS^tC&yb2&s93$j2AFObJYD@<);T3K0RWA*3}FBO diff --git a/doc/html/a00150.html b/doc/html/a00150.html index c01fda5..7a69d25 100644 --- a/doc/html/a00150.html +++ b/doc/html/a00150.html @@ -4,7 +4,7 @@ -tbb::task_group Class Reference +tbb::task_group_context Struct Reference @@ -33,91 +33,20 @@
-
-
tbb::task_group Class Reference
+
tbb::task_group_context Struct Reference
-
-Inheritance diagram for tbb::task_group:
-
-
- - -tbb::internal::task_group_base - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

-template<typename F >
void run (task_handle< F > &h)
 
-template<typename F >
void run (F &&f)
 
-template<typename F >
void run (const F &f)
 
-template<typename F >
task_group_status run_and_wait (const F &f)
 
-template<typename F >
task_group_status run_and_wait (task_handle< F > &h)
 
- Public Member Functions inherited from tbb::internal::task_group_base
task_group_base (uintptr_t traits=0)
 
-template<typename F >
void run (task_handle< F > &h)
 
-task_group_status wait ()
 
-bool is_canceling ()
 
-void cancel ()
 
- - - - - - - - - - - - - - - -

-Additional Inherited Members

- Protected Member Functions inherited from tbb::internal::task_group_base
-task & owner ()
 
-template<typename F >
task_group_status internal_run_and_wait (F &f)
 
-template<typename Task , typename F >
void internal_run (__TBB_FORWARDING_REF(F) f)
 
- Protected Attributes inherited from tbb::internal::task_group_base
-empty_task * my_root
 
-task_group_context my_context
 
-
The documentation for this class was generated from the following file:
    -
  • task_group.h
  • + +

    #include <parallel_invoke.h>

    +

    Detailed Description

    +

    Dummy to avoid cluttering the bulk of the header with enormous amount of ifdefs.

    +

    The documentation for this struct was generated from the following file:
      +
    • parallel_invoke.h

diff --git a/doc/html/a00151.html b/doc/html/a00151.html index 632f594..8726fb0 100644 --- a/doc/html/a00151.html +++ b/doc/html/a00151.html @@ -4,7 +4,7 @@ -tbb::internal::task_group_base Class Reference +tbb::task_handle< F > Class Template Reference @@ -33,71 +33,51 @@
-
tbb::internal::task_group_base Class Reference
+
tbb::task_handle< F > Class Template Reference
-Inheritance diagram for tbb::internal::task_group_base:
+Inheritance diagram for tbb::task_handle< F >:
- - -tbb::structured_task_group -tbb::task_group + +
- - - - - - - - - - - + + + + + +

Public Member Functions

task_group_base (uintptr_t traits=0)
 
-template<typename F >
void run (task_handle< F > &h)
 
-task_group_status wait ()
 
-bool is_canceling ()
 
-void cancel ()
 
task_handle (const F &f)
 
task_handle (F &&f)
 
+void operator() () const
 
- - - - - - - - - -

-Protected Member Functions

-task & owner ()
 
-template<typename F >
task_group_status internal_run_and_wait (F &f)
 
-template<typename Task , typename F >
void internal_run (__TBB_FORWARDING_REF(F) f)
 
- - - - - + + + + + + + +

-Protected Attributes

-empty_task * my_root
 
-task_group_context my_context
 

+Friends

+template<typename _F >
class internal::task_handle_task
 
+class task_group
 
+class structured_task_group
 

The documentation for this class was generated from the following file:
  • task_group.h
  • diff --git a/doc/html/a00151.png b/doc/html/a00151.png index e95fec5546162fcf72b876a7571a40174f6db6a5..5f640e9e7369f83c7c304b581f01b7969a27ed2f 100644 GIT binary patch delta 492 zcmVwgf&08@F!=!Ebe=e}aAxV+WgJEViTmbLt0x(|Zz_?sa!Ep|ZiQ)_#C&2(Xh0=?310Yhmk!}D) zN;lFCfJo^^x&aU=-AFe8BBdMY20)}wxM5~CUKqe=B}QTZL|QSXNBiabe*stScKVLE zuU-p)PQS(g2()07t2=|%$J$(~>tj2?5?KP;+Y+^3_#=!tvt%z1SNw|`sYPz`y7pxS zdo#NQbv}04?Z;|Dw>}rSOLqhL>H4GL@E&8-)K+aVO28hYe5JP;Kr6NP0EY8+yD2wp zaBl3(2U>~U=yo=s>qoycLjN0QV|!EFi1qBRdk}0&9jNZx>o)~poL<5x-@;Gw=U-c5 i07OcR4ThQ7aQy+NVNg-{auVzS0000Ws402SiPrPzWe*W zVnb!bp#v2{mpGsN3OL4L8|AwDC+iON|IAhAPsYPq zxBK>jf%2EXDt1R!xE!&&s%@h5s5qj+#YG9IYGOyLyNgQFLqWk#uu!^qoR{WvrUMKn ze;5rIEF&x&;??ik4W+*Fs$n|mN~!>Bb;v0z_>&097u!joQF6yeDKm-I)|s>bJ4yJx-tra-0Z+W zViej~(BQI8agV)i{o35T^4Xuyrmp8d`SbV!Z|?fy*Y z_U|i~*e9o3ynbP()P*ln`5|?3-8_$1H-45n@A`V@?QZYX9|`GJXWeTJFKh{lko)SY zTvWs5yFRP;d2!_I-}3d24aOIyO)1M>|9hFkVWsZrzNL?X5>DQlwYvDf-^1_cgKh=5 zN`)t{|M`0Hq1&C$W_{XiRHK*|xqS9VZPlmsE&6J^u6cjn+O|JDXj`lK)$+i@vp-&y zei(lBL$zL?m74b3eeJV8OzTWlD+oJr#T$Q<9Q9D%Ta&b>z;-V8X2^f{0UPlh8 zYEBG)__VNRzl!N`ughuK)#*3Wt9w-5e&T#6J=@yA!t>VQL;IsEG?&J&|G!KBx5ZiW zw%OmGxx4T$ySDS;#^s53ZrJ!oZ@nJ9eplGy=XRw$^F{Y<+^O6=d5P^c$s_u=RIx4gh8pY>tk-&5$bwaLrPQF*&jsphBB`g>E)t1dJD zzPYq&>iM<7mp3cjy*>S5c=x(qx#S67Z0wY4YKz&~)IF>Ba7|zGKEd|O)@%M8)0gyr zs4JMX<@j{&`aO=@g%Wq|jOE!M_~SUp#yXF-e0w3!s0ni){uc#W^Rd{gOJ(nI^C=>p sR%{pn9#?U_^zP0TE# -tbb::task_group_context Struct Reference +tbb::internal::task_handle_task< F > Class Template Reference @@ -33,20 +33,34 @@
+
-
tbb::task_group_context Struct Reference
+
tbb::internal::task_handle_task< F > Class Template Reference
- -

#include <parallel_invoke.h>

-

Detailed Description

-

Dummy to avoid cluttering the bulk of the header with enormous amount of ifdefs.

-

The documentation for this struct was generated from the following file:
    -
  • parallel_invoke.h
  • +
    +Inheritance diagram for tbb::internal::task_handle_task< F >:
    +
    +
    + + + +
    + + + + +

    +Public Member Functions

    task_handle_task (task_handle< F > &h)
     
    +
    The documentation for this class was generated from the following file:
      +
    • task_group.h

diff --git a/doc/html/a00152.png b/doc/html/a00152.png new file mode 100644 index 0000000000000000000000000000000000000000..229263c6223fbf739b854a1eafa70239ec72a2cf GIT binary patch literal 620 zcmeAS@N?(olHy`uVBq!ia0vp^mw`BdgBeI}`MY5*kdg@S332`Z|38rV;?396{zDUh zEHFNB-~emq9eE&^qa?^Lm;tB=1g@S6F=Aj~{O#%D7*fIbcJ9SVs}%%TtK*9P{qN6T zw1Q_*_BO9_J=4&V4z6Zi=6y+NW)d@0cwMbLgK92$PI^?lJ6QT(qo$9#=dZr+*BAY% zS#|Se-dgo*nZYwpz1992@^0;EWBr*bcaJIiy}vVib>SSZce>)vPvSPuXR}Z~wbMM* zThHrK?VWcjp8S*jCW*{1nY84`lF2GZ(*x9vH*aL9XcIq>!1LluRj<0~g3HmF7Apnk ze!9c_L*7HZ;l~nThnh>A3U)791m>48b@*E`9#Nmm@My9h!$(gP=?~dw&ag2vOLRe1 zrI%KP-`@Z0=RbLe!@oAbz4@Y|FyZKx_ss7JGm>b1;tO<_u>(Yb4jd4f_C?}?XREQI~(fzyVUsIoIb7pee4sZUdMfteZM?=XZf2a z->&bxeDv>?WuMRgUTOQita_i__ZYdej;pR~t4D5rYgIc -tbb::task_handle< F > Class Template Reference +tbb::task_scheduler_init Class Reference @@ -33,54 +33,171 @@
-
tbb::task_handle< F > Class Template Reference
+
tbb::task_scheduler_init Class Reference
+ +

Class delimiting the scope of task scheduler activity. + More...

+ +

#include <task_scheduler_init.h>

-Inheritance diagram for tbb::task_handle< F >:
+Inheritance diagram for tbb::task_scheduler_init:
- - + +
- - - - - - + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

task_handle (const F &f)
 
task_handle (F &&f)
 
-void operator() () const
 
void __TBB_EXPORTED_METHOD initialize (int number_of_threads=automatic)
 Ensure that scheduler exists for this thread. More...
 
void __TBB_EXPORTED_METHOD initialize (int number_of_threads, stack_size_type thread_stack_size)
 The overloaded method with stack size parameter. More...
 
+void __TBB_EXPORTED_METHOD terminate ()
 Inverse of method initialize.
 
+void blocking_terminate ()
 terminate() that waits for worker threads termination. Throws exception on error.
 
+bool blocking_terminate (const std::nothrow_t &) __TBB_NOEXCEPT(true)
 terminate() that waits for worker threads termination. Returns false on error.
 
task_scheduler_init (int number_of_threads=automatic, stack_size_type thread_stack_size=0)
 Shorthand for default constructor followed by call to initialize(number_of_threads).
 
~task_scheduler_init ()
 Destroy scheduler for this thread if thread has no other live task_scheduler_inits.
 
+bool is_active () const
 Returns true if scheduler is active (initialized); false otherwise.
 
- - - - - - - - + + + + +

-Friends

-template<typename _F >
class internal::task_handle_task
 
-class task_group
 
-class structured_task_group
 

+Static Public Member Functions

static int __TBB_EXPORTED_FUNC default_num_threads ()
 Returns the number of threads TBB scheduler would create if initialized by default. More...
 
+ + + + + + + +

+Static Public Attributes

+static const int automatic = -1
 Typedef for number of threads that is automatic.
 
+static const int deferred = -2
 Argument to initialize() or constructor that causes initialization to be deferred.
 
+

Detailed Description

+

Class delimiting the scope of task scheduler activity.

+

A thread can construct a task_scheduler_init object and keep it alive while it uses TBB's tasking subsystem (including parallel algorithms).

+

This class allows to customize properties of the TBB task pool to some extent. For example it can limit concurrency level of parallel work initiated by the given thread. It also can be used to specify stack size of the TBB worker threads, though this setting is not effective if the thread pool has already been created.

+

If a parallel construct is used without task_scheduler_init object previously created, the scheduler will be initialized automatically with default settings, and will persist until this thread exits. Default concurrency level is defined as described in task_scheduler_init::initialize().

+

Member Function Documentation

+ +
+
+ + + + +
+ + + + + + + +
static int __TBB_EXPORTED_FUNC tbb::task_scheduler_init::default_num_threads ()
+
+static
+
+ +

Returns the number of threads TBB scheduler would create if initialized by default.

+

Result returned by this method does not depend on whether the scheduler has already been initialized.

+

Because tbb 2.0 does not support blocking tasks yet, you may use this method to boost the number of threads in the tbb's internal pool, if your tasks are doing I/O operations. The optimal number of additional threads depends on how much time your tasks spend in the blocked state.

+

Before TBB 3.0 U4 this method returned the number of logical CPU in the system. Currently on Windows, Linux and FreeBSD it returns the number of logical CPUs available to the current process in accordance with its affinity mask.

+

NOTE: The return value of this method never changes after its first invocation. This means that changes in the process affinity mask that took place after this method was first invoked will not affect the number of worker threads in the TBB worker threads pool.

+ +
+
+ +
+
+ + + + + + + + +
void __TBB_EXPORTED_METHOD tbb::task_scheduler_init::initialize (int number_of_threads = automatic)
+
+ +

Ensure that scheduler exists for this thread.

+

A value of -1 lets TBB decide on the number of threads, which is usually maximal hardware concurrency for this process, that is the number of logical CPUs on the machine (possibly limited by the processor affinity mask of this process (Windows) or of this thread (Linux, FreeBSD). It is preferable option for production code because it helps to avoid nasty surprises when several TBB based components run side-by-side or in a nested fashion inside the same process.

+

The number_of_threads is ignored if any other task_scheduler_inits currently exist. A thread may construct multiple task_scheduler_inits. Doing so does no harm because the underlying scheduler is reference counted.

+ +

Referenced by task_scheduler_init().

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void __TBB_EXPORTED_METHOD tbb::task_scheduler_init::initialize (int number_of_threads,
stack_size_type thread_stack_size 
)
+
+ +

The overloaded method with stack size parameter.

+

Overloading is necessary to preserve ABI compatibility

+ +
+

The documentation for this class was generated from the following file:
    -
  • task_group.h
  • +
  • task_scheduler_init.h

diff --git a/doc/html/a00153.png b/doc/html/a00153.png index 5f640e9e7369f83c7c304b581f01b7969a27ed2f..58550fd5aa8d025a8c6f44950d758c08a4175849 100644 GIT binary patch delta 518 zcmV+h0{Q)#1hoVqiBL{Q4GJ0x0000DNk~Le0001w0000`2m=5B02kHPTah6VmKXe@`{;RAYqaeM#&>dzLH0h zd?k-0`MS?zvL$4CSG2ut=QgEClCJ6j&lIqhX0xqTs60AJ}3fUooiz*qVM;4A$B z@Rj}m_)32Oe5F4CzS186U+E8kuebSQW)?^oKo}(tfUo2M@Kt%HYX8-ae*;bN>Bo`1 z=RB$#ubclL53rX5&zkwuW9h2#bNBj~s}8$%ZQ~_upS{g3)z-hqF9S7p<7oX^BTLnk zw$b8rz=@7(8EUgPDw`rFmatv0P^JnUCi z`8ChpKAzW*2B)oVzgs;0T)CgdbocpqV@~f+f3L3d9P_JLZOfH$$v(gOJX%+7(yZi{ z!*j?lfB<^Lv)s-8W&>Q+cj5Ux1@M(T0KSq3z}NDnH#3W(FC7n7p6nC?ZvX%Q07*qo IM6N<$g5N0yy#N3J delta 491 zcmV(aQ^v!>vdAxV#P9Ah51%+l?ENkLg8NeA?V8v#b`C=F|UGgOjd zy@_%C4(~SQ=NRqHTQLg5q;2^!e@1Xq>a4*{`2vO{J)tK@eGTJ!GJ9Jh<0R>zzT(Dh zLP?60|FDT6Ns-QjVP-a50PpGoFka`txLi)baSn`$;tU)o!2mdg(u;HhAX2)KZU96| zH_{D&Na;qp0T3zONH+i?r5ou6K%`H&VP-a77{F*HMq&U&S}~?a`{nxqe^>5y`i{7- zUJHOuzs3Lvv|yC0JA>B8+FYvZV>`hTSpwSI6189WBaAt-WG@d_{EHi@MQ-xC_GJZo zGrI+KK6csd$7({iJ{P%5cLVw9`lI3S9%IzhR&6m#z#gM~rMDSCE4B9khVyp2DK~6z zZtTnlT8Z80b~d2vN53=wK^tdddsEzq_3W>E5Nt{vsP5bAHw9pvUcxBf!cX$&Ut3}T hL`sYehMC!L{Q;+8P*M1D66^o~002ovPDHLkV1l8l--rMJ diff --git a/doc/html/a00154.html b/doc/html/a00154.html index 9881e60..13c29d4 100644 --- a/doc/html/a00154.html +++ b/doc/html/a00154.html @@ -4,7 +4,7 @@ -tbb::internal::task_handle_task< F > Class Template Reference +tbb::interface6::task_scheduler_observer Class Reference @@ -33,34 +33,229 @@
-
tbb::internal::task_handle_task< F > Class Template Reference
+
tbb::interface6::task_scheduler_observer Class Reference
-Inheritance diagram for tbb::internal::task_handle_task< F >:
+Inheritance diagram for tbb::interface6::task_scheduler_observer:
- - + + +tbb::internal::task_scheduler_observer_v3
+ + + + +

+Public Types

enum  { keep_awake = false, +allow_sleep = true + }
 Return commands for may_sleep()
 
- - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

task_handle_task (task_handle< F > &h)
 
 task_scheduler_observer (bool local=false)
 Construct local or global observer in inactive state (observation disabled). More...
 
 task_scheduler_observer (task_arena &a)
 Construct local observer for a given arena in inactive state (observation disabled). More...
 
virtual ~task_scheduler_observer ()
 
void observe (bool state=true)
 Enable or disable observation. More...
 
virtual bool may_sleep ()
 The callback can be invoked by a worker thread before it goes to sleep. More...
 
- Public Member Functions inherited from tbb::internal::task_scheduler_observer_v3
void __TBB_EXPORTED_METHOD observe (bool state=true)
 Enable or disable observation. More...
 
+bool is_observing () const
 Returns true if observation is enabled, false otherwise.
 
task_scheduler_observer_v3 ()
 Construct observer with observation disabled.
 
virtual void on_scheduler_entry (bool)
 Entry notification. More...
 
virtual void on_scheduler_exit (bool)
 Exit notification. More...
 
+virtual ~task_scheduler_observer_v3 ()
 Destructor automatically switches observation off if it is enabled.
 
+ + + + + + +

+Friends

+class internal::task_scheduler_observer_v3
 
+class internal::observer_proxy
 
+class internal::observer_list
 
+

Constructor & Destructor Documentation

+ +
+
+ + + + + +
+ + + + + + + + +
tbb::interface6::task_scheduler_observer::task_scheduler_observer (bool local = false)
+
+inlineexplicit
+
+ +

Construct local or global observer in inactive state (observation disabled).

+

For a local observer entry/exit notifications are invoked whenever a worker thread joins/leaves the arena of the observer's owner thread. If a thread is already in the arena when the observer is activated, the entry notification is called before it executes the first stolen task. TODO: Obsolete. Global observer semantics is obsolete as it violates master thread isolation guarantees and is not composable. Thus the current default behavior of the constructor is obsolete too and will be changed in one of the future versions of the library.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
tbb::interface6::task_scheduler_observer::task_scheduler_observer (task_arena & a)
+
+inlineexplicit
+
+ +

Construct local observer for a given arena in inactive state (observation disabled).

+

entry/exit notifications are invoked whenever a thread joins/leaves arena. If a thread is already in the arena when the observer is activated, the entry notification is called before it executes the first stolen task.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual tbb::interface6::task_scheduler_observer::~task_scheduler_observer ()
+
+inlinevirtual
+
+

Destructor protects instance of the observer from concurrent notification. It is recommended to disable observation before destructor of a derived class starts, otherwise it can lead to concurrent notification callback on partly destroyed object

+ +

References observe().

+ +
+
+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + +
virtual bool tbb::interface6::task_scheduler_observer::may_sleep ()
+
+inlinevirtual
+
+ +

The callback can be invoked by a worker thread before it goes to sleep.

+

If it returns false ('keep_awake'), the thread will keep spinning and looking for work. It will not be called for master threads.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void tbb::interface6::task_scheduler_observer::observe (bool state = true)
+
+inline
+
+ +

Enable or disable observation.

+

Warning: concurrent invocations of this method are not safe. Repeated calls with the same state are no-ops.

+ +

References tbb::internal::task_scheduler_observer_v3::observe(), and tbb::relaxed.

+ +

Referenced by ~task_scheduler_observer().

+ +
+

The documentation for this class was generated from the following file:
    -
  • task_group.h
  • +
  • task_scheduler_observer.h

diff --git a/doc/html/a00154.png b/doc/html/a00154.png index 229263c6223fbf739b854a1eafa70239ec72a2cf..37496e90766c364ef54c599c792827549384d309 100644 GIT binary patch delta 863 zcmaFE(#5XW8Q|y6%O%Cdz`(%k>ERLtq`w1k00%RW{NyccK2g!Co>|h<#WAFU@$KA~ zMNbrXTI`>!+Vfxe{f%cA7-uH0o^)48*vf2y+ZKUO@qLdigqoaPRAjg12~M=RvCGxv z(}LG};j8l>n_HztxcI!Dd@t*4m+|{wLV}h2OHDo*-__ss+rDJ}nNxYY&U@JWdpA>V zs#M?R`qov)UK_0q`yQYyvD&JB;kQi9UFBt~a;tgbzwKZPyuAA1oR!;Nl*Hf5>wkN3 z_PZ;sUss5H^ex|#V=TYMcKh#5yTAXIjt+91ZFF_U`QoG9hh1H4?#%q9_;e3{q-b~h zXT$Uk5zYwX@aKO+zW@B(_wI_B+^VVEyS!?Pt7;pUu3!0X+diY!E9GWty|uga_R#bC z=J!AC&O85{^KH@ko$oTt*6mnd|LT+d?)&SX{*2nbvuX2hS^tWn_vyR3JMzo~f|t!U z+*NDKU+Q(ec=GddldJ2pbNi$}%x8$Ljh@t2_0E2Och$Oo?#t$01cr{#L-&&SsmH=B z1Sf`nw5&aQ=ee%ZB=+d-9UgKyca@YXKU}DlIbJ`JpJ9KienX4Ls^71*mw#BYOMX)@ z*ZEb|*NYo`ZtP-Jpj>ufb- zaH|e+ZRpq>r{~EKd}QWVtpgeIGIzP_cTIn-e|N5M?Wg(IYwNG9o4kr&6c|TylWb2F zKQUWd`}e|cgC$lgpXr`mdo}0w;@xGPrX925c%S>!-`n2(?S*goE3a3!c2k^;tNmw9 z4*GoXR`Kra*%5WS>)M0UP86p~v`@X3m-xQ@)_T7~b}3y>vYXxn6^7VZTXxtUygM!m+p98`R;Y4hR?2f{Wj}8Ewo>E zg~Z=w`;&g4Mk(skuc~+Z#8v|%iGA65s|KDQrmAERLtq%Q+;00%RW-12wB+=+@-^^CtgT^vIy7~jsl zIBB(l0Bdzz(ZB!w`HNQYEXv;IRjy|mTGGMQ%*(tlDa}k`h6=B%m1j`RCC^EZigyP~ z|7+CrQTP1S_x<{!KQ*gvzRX*zel0V2=Bc;ZUqjxlJ#DN%Q|0b4Wxw}#X0I-sT?+$P4;8> z=!qizA^Xf3HfCmtE~u*X(yH*=`+xoXC+~3h*M{8EdI6plr_Fv8KCXRUbb`^Mu4vZ> zr~2nC7ZM9+`F}mRE97d%{MVUor?&X`dawR@?b5-mTKumP_MN}AZp*6lzc!atm#;j1 zCwJwwp!g{pU+DE3bWI$A0HZsnd>_qKSqDCdN1J75&`z{xWa9 z)JgqR*?mQSkF8`WtUu%VC~o(bsQReoYyHjtcrJ;xNYL*7w*B>!duKy^f0r7+o71QD zzmI*Q)a$r!vhSB??<{}w?&l z2`?{xH`jev**iv_L&|=i+5bOsh&N@sG4VAbxSoG*G&Pp)60JYQ(zM5;>EJ0~nqcsB L^>bP0l+XkKabOf9 diff --git a/doc/html/a00155.html b/doc/html/a00155.html index 1bb4cb9..550eacd 100644 --- a/doc/html/a00155.html +++ b/doc/html/a00155.html @@ -4,7 +4,7 @@ -tbb::task_scheduler_init Class Reference +tbb::internal::task_scheduler_observer_v3 Class Reference @@ -33,171 +33,145 @@
-
tbb::task_scheduler_init Class Reference
+
tbb::internal::task_scheduler_observer_v3 Class Reference
- -

Class delimiting the scope of task scheduler activity. - More...

- -

#include <task_scheduler_init.h>

-Inheritance diagram for tbb::task_scheduler_init:
+Inheritance diagram for tbb::internal::task_scheduler_observer_v3:
- - + + +tbb::interface6::task_scheduler_observer
- - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

void __TBB_EXPORTED_METHOD initialize (int number_of_threads=automatic)
 Ensure that scheduler exists for this thread. More...
 
void __TBB_EXPORTED_METHOD initialize (int number_of_threads, stack_size_type thread_stack_size)
 The overloaded method with stack size parameter. More...
 
-void __TBB_EXPORTED_METHOD terminate ()
 Inverse of method initialize.
 
-void blocking_terminate ()
 terminate() that waits for worker threads termination. Throws exception on error.
 
-bool blocking_terminate (const std::nothrow_t &) __TBB_NOEXCEPT(true)
 terminate() that waits for worker threads termination. Returns false on error.
 
task_scheduler_init (int number_of_threads=automatic, stack_size_type thread_stack_size=0)
 Shorthand for default constructor followed by call to initialize(number_of_threads).
 
~task_scheduler_init ()
 Destroy scheduler for this thread if thread has no other live task_scheduler_inits.
 
-bool is_active () const
 Returns true if scheduler is active (initialized); false otherwise.
 
- - - - + + + + + + + + + + + + + + + + + +

-Static Public Member Functions

static int __TBB_EXPORTED_FUNC default_num_threads ()
 Returns the number of threads TBB scheduler would create if initialized by default. More...
 
void __TBB_EXPORTED_METHOD observe (bool state=true)
 Enable or disable observation. More...
 
+bool is_observing () const
 Returns true if observation is enabled, false otherwise.
 
task_scheduler_observer_v3 ()
 Construct observer with observation disabled.
 
virtual void on_scheduler_entry (bool)
 Entry notification. More...
 
virtual void on_scheduler_exit (bool)
 Exit notification. More...
 
+virtual ~task_scheduler_observer_v3 ()
 Destructor automatically switches observation off if it is enabled.
 
- - - - - - - + + + + + + +

-Static Public Attributes

-static const int automatic = -1
 Typedef for number of threads that is automatic.
 
-static const int deferred = -2
 Argument to initialize() or constructor that causes initialization to be deferred.
 

+Friends

+class observer_proxy
 
+class observer_list
 
+class interface6::task_scheduler_observer
 
-

Detailed Description

-

Class delimiting the scope of task scheduler activity.

-

A thread can construct a task_scheduler_init object and keep it alive while it uses TBB's tasking subsystem (including parallel algorithms).

-

This class allows to customize properties of the TBB task pool to some extent. For example it can limit concurrency level of parallel work initiated by the given thread. It also can be used to specify stack size of the TBB worker threads, though this setting is not effective if the thread pool has already been created.

-

If a parallel construct is used without task_scheduler_init object previously created, the scheduler will be initialized automatically with default settings, and will persist until this thread exits. Default concurrency level is defined as described in task_scheduler_init::initialize().

-

Member Function Documentation

- +

Member Function Documentation

+
- - - - - -
- + - + +
static int __TBB_EXPORTED_FUNC tbb::task_scheduler_init::default_num_threads void __TBB_EXPORTED_METHOD tbb::internal::task_scheduler_observer_v3::observe ()bool state = true)
-
-static
-

Returns the number of threads TBB scheduler would create if initialized by default.

-

Result returned by this method does not depend on whether the scheduler has already been initialized.

-

Because tbb 2.0 does not support blocking tasks yet, you may use this method to boost the number of threads in the tbb's internal pool, if your tasks are doing I/O operations. The optimal number of additional threads depends on how much time your tasks spend in the blocked state.

-

Before TBB 3.0 U4 this method returned the number of logical CPU in the system. Currently on Windows, Linux and FreeBSD it returns the number of logical CPUs available to the current process in accordance with its affinity mask.

-

NOTE: The return value of this method never changes after its first invocation. This means that changes in the process affinity mask that took place after this method was first invoked will not affect the number of worker threads in the TBB worker threads pool.

+

Enable or disable observation.

+

For local observers the method can be used only when the current thread has the task scheduler initialized or is attached to an arena.

+

Repeated calls with the same state are no-ops.

+ +

Referenced by tbb::interface6::task_scheduler_observer::observe(), and ~task_scheduler_observer_v3().

- +
+ + + + + +
- + - - + +
void __TBB_EXPORTED_METHOD tbb::task_scheduler_init::initialize virtual void tbb::internal::task_scheduler_observer_v3::on_scheduler_entry (int number_of_threads = automatic)bool )
+
+inlinevirtual
-

Ensure that scheduler exists for this thread.

-

A value of -1 lets TBB decide on the number of threads, which is usually maximal hardware concurrency for this process, that is the number of logical CPUs on the machine (possibly limited by the processor affinity mask of this process (Windows) or of this thread (Linux, FreeBSD). It is preferable option for production code because it helps to avoid nasty surprises when several TBB based components run side-by-side or in a nested fashion inside the same process.

-

The number_of_threads is ignored if any other task_scheduler_inits currently exist. A thread may construct multiple task_scheduler_inits. Doing so does no harm because the underlying scheduler is reference counted.

- -

Referenced by task_scheduler_init().

+

Entry notification.

+

Invoked from inside observe(true) call and whenever a worker enters the arena this observer is associated with. If a thread is already in the arena when the observer is activated, the entry notification is called before it executes the first stolen task.

+

Obsolete semantics. For global observers it is called by a thread before the first steal since observation became enabled.

- +
+ + + + + +
- + - - - - - - - - - - + + - -
void __TBB_EXPORTED_METHOD tbb::task_scheduler_init::initialize virtual void tbb::internal::task_scheduler_observer_v3::on_scheduler_exit (int number_of_threads,
stack_size_type thread_stack_size 
bool ) )
+
+inlinevirtual
-

The overloaded method with stack size parameter.

-

Overloading is necessary to preserve ABI compatibility

+

Exit notification.

+

Invoked from inside observe(false) call and whenever a worker leaves the arena this observer is associated with.

+

Obsolete semantics. For global observers it is called by a thread before the first steal since observation became enabled.


The documentation for this class was generated from the following file:
    -
  • task_scheduler_init.h
  • +
  • task_scheduler_observer.h

diff --git a/doc/html/a00155.png b/doc/html/a00155.png index 58550fd5aa8d025a8c6f44950d758c08a4175849..b87088c72d9c41832275a3a031b419b26a0c66d6 100644 GIT binary patch delta 863 zcmV-l1EBo11d0bCiBL{Q4GJ0x0000DNk~Le0002@0000`2m=5B0P;%{H<2Mae*+mw zL_t(|0qvdZa^oNjg+Ihh-v5y|wlU}eY1*A>c1NT>#ULHT0U`gTlu{Cc0+0?{H$Wb2 z-2i#ebw8W&rtR?!z@Zzx*P0bA-;D+EJsfrXJ>74H`#*Fa%r5eJxxQ%UcCGg8d9HYIxBwpRO#P4w-iNG;MdM=38BhpVGgs&RrS9YB z16`?YA~Y|z=_>Wj>GcVgv8KB3`ITEs^~h9d_aohI`~2p6zR&YeKBv7He`~Hgx{WLD z>z}&(U)}Hb@_en^T*2A>jwd|1_cPrE^kX+-%5)Z^+t>3@r*u6xd45fzR^4iIT!8-s z=<0hXX{hJ^^Sh|$>VITfi~CFfWWlfKJ}Zr_Z~*V(=kzsmpEp1rY~28Puyq6E!BclB zrQ`#^r|jub!ts5W@wr+qt*t!9J8MW5>Av|iW^+TYFh@`{TEh3T!TepZv z9%$X=eA?UijgA>U`hH*-UXVmYrihmHEFvG^jp z+8)@|KTok81OM<@yy)n3FtLj&WFN?H=}isP*b3>_es~v?0r0G(PNVIHr-6A4c@FCr2HKnl?PDJEg{3U&#w}?n8 pY~3Ovd9Zbhh~&XjcdfPN!yiYYGmUMC>aG9)002ovPDHLkV1gRfy^;U` delta 519 zcmV+i0{H!k2ekwtiBL{Q4GJ0x0000DNk~Le0001w0000`2m=5B02kHPTah6;e*wfv zL_t(|0qvdJZp0uAM31GF=Kue=xj`VrZIbS`esINvB3}W3nY=dRMf)ZRa+nNRqDV0nZe$mS(f9RjRWolJv8l_~Y=5Sn+snU(QeR z%=bu=?&ys?!~OYFo(uW);J7~XfBvaU{yER&$NVR$Ev5Zn=}-FeWaa#RNs_PRktAOM zdCbh>2;d!h0R&Pop4TfDP%xeeClpXL9)MU%cL02)KLEbc9{^wJ4}h=q2f$bQ1K=zD z0q~Xn0QgFO0DPrC0KU>60AJ}3fUmdtV`dge7(f^$4}h=a0q|9MrfUDye~tr9@#)8r zz2`it8?T%H9}lpX1J9cI(_`tX@pJe3n5z!Ec5UM&Y@fZ&E!Eb)$1ejlcH?OMStCo; zl(y00bmPP9W9)|2g?GE0oL3Xs+gN=ZJZ_G8SmcD~`0w23SzhDiy!zYK%&j)9XFTjz zR{1s0-aek!kOrr%ZogYRUH!SA#&q}jcwMQ)pz0fJq7TUJOI9u2f)|zr8hH+qAwi}R-Wt>0&f5S002ov JPDHLkV1mrS2C)DD diff --git a/doc/html/a00156.html b/doc/html/a00156.html index da5b9ac..5ef01cb 100644 --- a/doc/html/a00156.html +++ b/doc/html/a00156.html @@ -4,7 +4,7 @@ -tbb::interface6::task_scheduler_observer Class Reference +tbb::tbb_allocator< T > Class Template Reference @@ -33,229 +33,120 @@
-
tbb::interface6::task_scheduler_observer Class Reference
+
tbb::tbb_allocator< T > Class Template Reference
-
-Inheritance diagram for tbb::interface6::task_scheduler_observer:
-
-
- - -tbb::internal::task_scheduler_observer_v3 - -
+ +

Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. + More...

+ +

#include <tbb_allocator.h>

+ + + +

+Classes

struct  rebind
 
- - - + + + + + + + + + + + + + + + +

Public Types

enum  { keep_awake = false, -allow_sleep = true +
enum  malloc_type { scalable, +standard }
 Return commands for may_sleep()
 
 Specifies current allocator.
 
+typedef
+internal::allocator_type< T >
+::value_type 
value_type
 
+typedef value_type * pointer
 
+typedef const value_type * const_pointer
 
+typedef value_type & reference
 
+typedef const value_type & const_reference
 
+typedef size_t size_type
 
+typedef ptrdiff_t difference_type
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

 task_scheduler_observer (bool local=false)
 Construct local or global observer in inactive state (observation disabled). More...
 
 task_scheduler_observer (task_arena &a)
 Construct local observer for a given arena in inactive state (observation disabled). More...
 
virtual ~task_scheduler_observer ()
 
void observe (bool state=true)
 Enable or disable observation. More...
 
virtual bool may_sleep ()
 The callback can be invoked by a worker thread before it goes to sleep. More...
 
- Public Member Functions inherited from tbb::internal::task_scheduler_observer_v3
void __TBB_EXPORTED_METHOD observe (bool state=true)
 Enable or disable observation. More...
 
-bool is_observing () const
 Returns true if observation is enabled, false otherwise.
 
task_scheduler_observer_v3 ()
 Construct observer with observation disabled.
 
virtual void on_scheduler_entry (bool)
 Entry notification. More...
 
virtual void on_scheduler_exit (bool)
 Exit notification. More...
 
-virtual ~task_scheduler_observer_v3 ()
 Destructor automatically switches observation off if it is enabled.
 
tbb_allocator (const tbb_allocator &) throw ()
 
+template<typename U >
 tbb_allocator (const tbb_allocator< U > &) throw ()
 
+pointer address (reference x) const
 
+const_pointer address (const_reference x) const
 
+pointer allocate (size_type n, const void *=0)
 Allocate space for n objects.
 
+void deallocate (pointer p, size_type)
 Free previously allocated block of memory.
 
+size_type max_size () const throw ()
 Largest value for which method allocate might succeed.
 
+template<typename U , typename... Args>
void construct (U *p, Args &&...args)
 Copy-construct value at location pointed to by p.
 
+void construct (pointer p, value_type &&value)
 
+void construct (pointer p, const value_type &value)
 
+void destroy (pointer p)
 Destroy value at location pointed to by p.
 
- - - - - - - -

-Friends

-class internal::task_scheduler_observer_v3
 
-class internal::observer_proxy
 
-class internal::observer_list
 
-

Constructor & Destructor Documentation

- -
-
- - - - - + + + +
- - - - - - - - -
tbb::interface6::task_scheduler_observer::task_scheduler_observer (bool local = false)
-
-inlineexplicit

+Static Public Member Functions

+static malloc_type allocator_type ()
 Returns current allocator.
 
-
- -

Construct local or global observer in inactive state (observation disabled).

-

For a local observer entry/exit notifications are invoked whenever a worker thread joins/leaves the arena of the observer's owner thread. If a thread is already in the arena when the observer is activated, the entry notification is called before it executes the first stolen task. TODO: Obsolete. Global observer semantics is obsolete as it violates master thread isolation guarantees and is not composable. Thus the current default behavior of the constructor is obsolete too and will be changed in one of the future versions of the library.

- -
-
- -
-
- - - - - -
- - - - - - - - -
tbb::interface6::task_scheduler_observer::task_scheduler_observer (task_arena & a)
-
-inlineexplicit
-
- -

Construct local observer for a given arena in inactive state (observation disabled).

-

entry/exit notifications are invoked whenever a thread joins/leaves arena. If a thread is already in the arena when the observer is activated, the entry notification is called before it executes the first stolen task.

- -
-
- -
-
- - - - - -
- - - - - - - -
virtual tbb::interface6::task_scheduler_observer::~task_scheduler_observer ()
-
-inlinevirtual
-
-

Destructor protects instance of the observer from concurrent notification. It is recommended to disable observation before destructor of a derived class starts, otherwise it can lead to concurrent notification callback on partly destroyed object

- -

References observe().

+

Detailed Description

+

template<typename T>
+class tbb::tbb_allocator< T >

-
-
-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - -
virtual bool tbb::interface6::task_scheduler_observer::may_sleep ()
-
-inlinevirtual
-
- -

The callback can be invoked by a worker thread before it goes to sleep.

-

If it returns false ('keep_awake'), the thread will keep spinning and looking for work. It will not be called for master threads.

- -
-
- -
-
- - - - - -
- - - - - - - - -
void tbb::interface6::task_scheduler_observer::observe (bool state = true)
-
-inline
-
- -

Enable or disable observation.

-

Warning: concurrent invocations of this method are not safe. Repeated calls with the same state are no-ops.

- -

References tbb::internal::task_scheduler_observer_v3::observe(), and tbb::relaxed.

- -

Referenced by ~task_scheduler_observer().

- -
-
-
The documentation for this class was generated from the following file:
    -
  • task_scheduler_observer.h
  • +

    Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.

    +

    The class selects the best memory allocation mechanism available from scalable_malloc and standard malloc. The members are ordered the same way they are in section 20.4.1 of the ISO C++ standard.

    +

The documentation for this class was generated from the following file:
    +
  • tbb_allocator.h

diff --git a/doc/html/a00156.png b/doc/html/a00156.png deleted file mode 100644 index 37496e90766c364ef54c599c792827549384d309..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 906 zcmeAS@N?(olHy`uVBq!ia0vp^-+?%QgBeJE@)kA+QW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;Z{ z0A-2QRtvvnYVIm8Ta{bQ6aQ@oTj1r@59h4h_M#;IUS9v(i?iQdY5lrF7Uq8}j|< z=e~DW%;Z*0<=*90TU=G!xODx>ciZ+EtzIcNQ|qnWrMHKkH^2XBci#EuoNtTP?|heG zwrxeolTp6%lcOoy-(lO-H~S|5WH-*;jUU+{!*{&#gm_xn_OL& zo!ckbzxvQj9`QbvX%<+l*4EtO48(KV8{eG>z{KJx6@|%LW&abMzUfkewV;AG6gx72* zn%7Dz@Ndg&0ERdL0eLsgr7A3}3cv`0sCIZ=x94hKXR9HDTXl$QL&xSgJx_+;le9K>Xy|T5N;$&RyKWlQ(=YzM3cW2LzsM}rF9-MZf zI8~y3>b1PY_wBdV`yH}N>2i|Y^ycW{-E)l=2pFX9Te*8_`Q{zJbDu9xFZpgQ*tKw< zxNTO|#GS99F=Us#um0ZT6}PH(Ecout&?B}vwQ$<4uQBB&(&07+`*+^gfAX_@r{(h5 zyPoBL`BHbg+WvB^gSm9a^U8OxD>Zy}&Fi;W?`fg^x+^69F592<12sxfpMF)n+b6af z7(?vK&RaF`{7}6czI3A~--FOUs -tbb::internal::task_scheduler_observer_v3 Class Reference +tbb::tbb_allocator< void > Class Template Reference @@ -33,145 +33,48 @@
-
tbb::internal::task_scheduler_observer_v3 Class Reference
+
tbb::tbb_allocator< void > Class Template Reference
-
-Inheritance diagram for tbb::internal::task_scheduler_observer_v3:
-
-
- - -tbb::interface6::task_scheduler_observer - -
- - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

void __TBB_EXPORTED_METHOD observe (bool state=true)
 Enable or disable observation. More...
 
-bool is_observing () const
 Returns true if observation is enabled, false otherwise.
 
task_scheduler_observer_v3 ()
 Construct observer with observation disabled.
 
virtual void on_scheduler_entry (bool)
 Entry notification. More...
 
virtual void on_scheduler_exit (bool)
 Exit notification. More...
 
-virtual ~task_scheduler_observer_v3 ()
 Destructor automatically switches observation off if it is enabled.
 
- - - - - - - -

-Friends

-class observer_proxy
 
-class observer_list
 
-class interface6::task_scheduler_observer
 
-

Member Function Documentation

- -
-
- - - - - - - - -
void __TBB_EXPORTED_METHOD tbb::internal::task_scheduler_observer_v3::observe (bool state = true)
-
- -

Enable or disable observation.

-

For local observers the method can be used only when the current thread has the task scheduler initialized or is attached to an arena.

-

Repeated calls with the same state are no-ops.

- -

Referenced by tbb::interface6::task_scheduler_observer::observe(), and ~task_scheduler_observer_v3().

- -
-
- -
-
- - - - - -
- - - - - - - - -
virtual void tbb::internal::task_scheduler_observer_v3::on_scheduler_entry (bool )
-
-inlinevirtual
-
-

Entry notification.

-

Invoked from inside observe(true) call and whenever a worker enters the arena this observer is associated with. If a thread is already in the arena when the observer is activated, the entry notification is called before it executes the first stolen task.

-

Obsolete semantics. For global observers it is called by a thread before the first steal since observation became enabled.

+

Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. + More...

-
-
- -
-
- - - - - +

#include <tbb_allocator.h>

+
- - - - - - - - -
virtual void tbb::internal::task_scheduler_observer_v3::on_scheduler_exit (bool )
-
-inlinevirtual
+ + + +

+Classes

struct  rebind
 
+ + + + + + +

+Public Types

+typedef void * pointer
 
+typedef const void * const_pointer
 
+typedef void value_type
 
-
- -

Exit notification.

-

Invoked from inside observe(false) call and whenever a worker leaves the arena this observer is associated with.

-

Obsolete semantics. For global observers it is called by a thread before the first steal since observation became enabled.

+

Detailed Description

+

template<>
+class tbb::tbb_allocator< void >

-
-
-
The documentation for this class was generated from the following file:
    -
  • task_scheduler_observer.h
  • +

    Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.

    +

The documentation for this class was generated from the following file:
    +
  • tbb_allocator.h

diff --git a/doc/html/a00157.png b/doc/html/a00157.png deleted file mode 100644 index b87088c72d9c41832275a3a031b419b26a0c66d6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 906 zcmeAS@N?(olHy`uVBq!ia0vp^-+?%QgBeJE@)kA+QW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;4=V13AKCq~|J|0(uNtiXU-V7OeRJ@3akb9ws{Q*m zs%*^+UMBUqa$QB?4hFe*K7S{0-D_Xd<@z}3jAQ^ugmL)uzf0dee$E`bGFQn&fBQ?V zuV-I=<(#&0*{=6Lr$&2!JrR=mUHNX_??2C~_nrS7V7Gj)MD{xCUA@}xUeDk4C;smH z@1JVc-i|qV^KYNJ&Cc(}cUiwAnesVClTyyCY<^#(= zFnDw<*(KjU=g{O=b*KC^ZC1aFJ3Zr%RT+b3!Ft1dwzZi0);vW{tAb(Dzg--~n2CRg?M24$?7esRu}P3-yS-!9Be`uX&isNamqHsO7R z5t(o0zSXVx`by=E^D>Psil^gD?A}aK3{pur^k>^U>%IB?tLxX-eCc^tr|x8U<@=)d zv*xA9Rjv9xFMj9Nkp46C=X_5I&$W%Y@LN@2;>RO7k#m;v*GdFRASUu&LJdLN363}5o?mDmG&=4Zl%>g(4( zf0w;+6)>U_vhFG=MSf7co4$0TsGrM|*gvYZ^MPTel>-#7+)&!x0g9=$Tb~`4cVA@O Vo7?ef9WdiCc)I$ztaD0e0szS&(CYvI diff --git a/doc/html/a00158.html b/doc/html/a00158.html index 3a060d6..2606068 100644 --- a/doc/html/a00158.html +++ b/doc/html/a00158.html @@ -4,7 +4,7 @@ -tbb::tbb_allocator< T > Class Template Reference +tbb::tbb_exception Class Reference @@ -33,120 +33,186 @@
-
tbb::tbb_allocator< T > Class Template Reference
+
tbb::tbb_exception Class Referenceabstract
-

Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. +

Interface to be implemented by all exceptions TBB recognizes and propagates across the threads. More...

-

#include <tbb_allocator.h>

+

#include <tbb_exception.h>

+
+Inheritance diagram for tbb::tbb_exception:
+
+
+ + +tbb::captured_exception +tbb::movable_exception< ExceptionData > + +
- - - -

-Classes

struct  rebind
 
- - - - - - - - - - - - - - - - - - -

-Public Types

enum  malloc_type { scalable, -standard - }
 Specifies current allocator.
 
-typedef
-internal::allocator_type< T >
-::value_type 
value_type
 
-typedef value_type * pointer
 
-typedef const value_type * const_pointer
 
-typedef value_type & reference
 
-typedef const value_type & const_reference
 
-typedef size_t size_type
 
-typedef ptrdiff_t difference_type
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Public Member Functions

tbb_allocator (const tbb_allocator &) throw ()
 
-template<typename U >
 tbb_allocator (const tbb_allocator< U > &) throw ()
 
-pointer address (reference x) const
 
-const_pointer address (const_reference x) const
 
-pointer allocate (size_type n, const void *=0)
 Allocate space for n objects.
 
-void deallocate (pointer p, size_type)
 Free previously allocated block of memory.
 
-size_type max_size () const throw ()
 Largest value for which method allocate might succeed.
 
-template<typename U , typename... Args>
void construct (U *p, Args &&...args)
 Copy-construct value at location pointed to by p.
 
-void construct (pointer p, value_type &&value)
 
-void construct (pointer p, const value_type &value)
 
-void destroy (pointer p)
 Destroy value at location pointed to by p.
 
- - - - + + + + + + + + + + + + + + + + +

-Static Public Member Functions

-static malloc_type allocator_type ()
 Returns current allocator.
 
virtual tbb_exceptionmove ()=0 throw ()
 Creates and returns pointer to the deep copy of this exception object. More...
 
virtual void destroy ()=0 throw ()
 Destroys objects created by the move() method. More...
 
virtual void throw_self ()=0
 Throws this exception object. More...
 
+virtual const char * name () const =0 throw ()
 Returns RTTI name of the originally intercepted exception.
 
+virtual const char * what () const __TBB_override=0 throw ()
 Returns the result of originally intercepted exception's what() method.
 
void operator delete (void *p)
 

Detailed Description

-

template<typename T>
-class tbb::tbb_allocator< T >

+

Interface to be implemented by all exceptions TBB recognizes and propagates across the threads.

+

If an unhandled exception of the type derived from tbb::tbb_exception is intercepted by the TBB scheduler in one of the worker threads, it is delivered to and re-thrown in the root thread. The root thread is the thread that has started the outermost algorithm or root task sharing the same task_group_context with the guilty algorithm/task (the one that threw the exception first).

+

Note: when documentation mentions workers with respect to exception handling, masters are implied as well, because they are completely equivalent in this context. Consequently a root thread can be master or worker thread.

+

NOTE: In case of nested algorithms or complex task hierarchies when the nested levels share (explicitly or by means of implicit inheritance) the task group context of the outermost level, the exception may be (re-)thrown multiple times (ultimately - in each worker on each nesting level) before reaching the root thread at the outermost level. IMPORTANT: if you intercept an exception derived from this class on a nested level, you must re-throw it in the catch block by means of the "throw;" operator.

+

TBB provides two implementations of this interface: tbb::captured_exception and template class tbb::movable_exception. See their declarations for more info.

+

Member Function Documentation

+ +
+
+ + + + + +
+ + + + + + + + + + + + + +
virtual void tbb::tbb_exception::destroy ()
throw (
)
+
+pure virtual
+
+ +

Destroys objects created by the move() method.

+

Frees memory and calls destructor for this exception object. Can and must be used only on objects created by the move method.

+ +

Implemented in tbb::movable_exception< ExceptionData >, and tbb::captured_exception.

-

Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.

-

The class selects the best memory allocation mechanism available from scalable_malloc and standard malloc. The members are ordered the same way they are in section 20.4.1 of the ISO C++ standard.

-

The documentation for this class was generated from the following file:
    -
  • tbb_allocator.h
  • +
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + + +
virtual tbb_exception* tbb::tbb_exception::move ()
throw (
)
+
+pure virtual
+
+ +

Creates and returns pointer to the deep copy of this exception object.

+

Move semantics is allowed.

+ +

Implemented in tbb::movable_exception< ExceptionData >, and tbb::captured_exception.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + + +
void tbb::tbb_exception::operator delete (void * p)
+
+inline
+
+

Operator delete is provided only to allow using existing smart pointers with TBB exception objects obtained as the result of applying move() operation on an exception thrown out of TBB scheduler.

+

When overriding method move() make sure to override operator delete as well if memory is allocated not by TBB's scalable allocator.

+ +
+
+ +
+
+ + + + + +
+ + + + + + + +
virtual void tbb::tbb_exception::throw_self ()
+
+pure virtual
+
+ +

Throws this exception object.

+

Make sure that if you have several levels of derivation from this interface you implement or override this method on the most derived level. The implementation is as simple as "throw *this;". Failure to do this will result in exception of a base class type being thrown.

+ +

Implemented in tbb::movable_exception< ExceptionData >, and tbb::captured_exception.

+ +
+
+
The documentation for this class was generated from the following file:
    +
  • tbb_exception.h

diff --git a/doc/html/a00160.png b/doc/html/a00158.png similarity index 100% rename from doc/html/a00160.png rename to doc/html/a00158.png diff --git a/doc/html/a00159.html b/doc/html/a00159.html index e2ee849..4a15873 100644 --- a/doc/html/a00159.html +++ b/doc/html/a00159.html @@ -4,7 +4,7 @@ -tbb::tbb_allocator< void > Class Template Reference +tbb::internal::tbb_exception_ptr Class Reference @@ -33,48 +33,77 @@
-
tbb::tbb_allocator< void > Class Template Reference
+
tbb::internal::tbb_exception_ptr Class Reference
-

Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. +

Exception container that preserves the exact copy of the original exception. More...

-

#include <tbb_allocator.h>

+

#include <tbb_exception.h>

- - - + + + + + + +

-Classes

struct  rebind
 

+Public Member Functions

void destroy () throw ()
 Destroys this objects. More...
 
+void throw_self ()
 Throws the contained exception .
 
- - - - - - - + + + + + + + +

-Public Types

-typedef void * pointer
 
-typedef const void * const_pointer
 
-typedef void value_type
 

+Static Public Member Functions

+static tbb_exception_ptrallocate ()
 
+static tbb_exception_ptrallocate (const tbb_exception &tag)
 
+static tbb_exception_ptrallocate (captured_exception &src)
 This overload uses move semantics (i.e. it empties src)
 

Detailed Description

-

template<>
-class tbb::tbb_allocator< void >

+

Exception container that preserves the exact copy of the original exception.

+

This class can be used only when the appropriate runtime support (mandated by C++11) is present

+

Member Function Documentation

+ +
+
+ + + + + + + + + + + + + +
void tbb::internal::tbb_exception_ptr::destroy ()
throw (
)
+
-

Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.

-

The documentation for this class was generated from the following file:
    -
  • tbb_allocator.h
  • +

    Destroys this objects.

    +

    Note that objects of this type can be created only by the allocate() method.

    + +
+
+
The documentation for this class was generated from the following file:
    +
  • tbb_exception.h

diff --git a/doc/html/a00160.html b/doc/html/a00160.html index a3bd4db..61b4bc2 100644 --- a/doc/html/a00160.html +++ b/doc/html/a00160.html @@ -4,7 +4,7 @@ -tbb::tbb_exception Class Reference +tbb::internal::tbb_thread_v3 Class Reference @@ -33,63 +33,117 @@
-
tbb::tbb_exception Class Referenceabstract
+
tbb::internal::tbb_thread_v3 Class Reference
-

Interface to be implemented by all exceptions TBB recognizes and propagates across the threads. +

Versioned thread class. More...

-

#include <tbb_exception.h>

-
-Inheritance diagram for tbb::tbb_exception:
-
-
- - -tbb::captured_exception -tbb::movable_exception< ExceptionData > - -
+

#include <tbb_thread.h>

+ + + +

+Classes

class  id
 
+ + + + + +

+Public Types

+typedef HANDLE native_handle_type
 
+typedef pthread_t native_handle_type
 
- - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

virtual tbb_exceptionmove ()=0 throw ()
 Creates and returns pointer to the deep copy of this exception object. More...
 
virtual void destroy ()=0 throw ()
 Destroys objects created by the move() method. More...
 
virtual void throw_self ()=0
 Throws this exception object. More...
 
-virtual const char * name () const =0 throw ()
 Returns RTTI name of the originally intercepted exception.
 
-virtual const char * what () const __TBB_override=0 throw ()
 Returns the result of originally intercepted exception's what() method.
 
void operator delete (void *p)
 
tbb_thread_v3 (const tbb_thread_v3 &)
 
tbb_thread_v3 () __TBB_NOEXCEPT(true)
 Constructs a thread object that does not represent a thread of execution.
 
+template<class F >
 tbb_thread_v3 (F f)
 Constructs an object and executes f() in a new thread.
 
+template<class F , class X >
 tbb_thread_v3 (F f, X x)
 Constructs an object and executes f(x) in a new thread.
 
+template<class F , class X , class Y >
 tbb_thread_v3 (F f, X x, Y y)
 Constructs an object and executes f(x,y) in a new thread.
 
+tbb_thread_v3operator= (tbb_thread_v3 &x)
 
+void swap (tbb_thread_v3 &t) __TBB_NOEXCEPT(true)
 
+bool joinable () const __TBB_NOEXCEPT(true)
 
+void __TBB_EXPORTED_METHOD join ()
 The completion of the thread represented by *this happens before join() returns.
 
+void __TBB_EXPORTED_METHOD detach ()
 When detach() returns, *this no longer represents the possibly continuing thread of execution.
 
+id get_id () const __TBB_NOEXCEPT(true)
 
+native_handle_type native_handle ()
 
+ + + + +

+Static Public Member Functions

static unsigned __TBB_EXPORTED_FUNC hardware_concurrency () __TBB_NOEXCEPT(true)
 The number of hardware thread contexts. More...
 
+ + + +

+Public Attributes

+tbb_thread_v3(tbb_thread_v3
+&&x) __TBB_NOEXCEPT(true)
+tbb_thread_v3
operator= (tbb_thread_v3 &&x) __TBB_NOEXCEPT(true)
 
+ + + + +

+Friends

+void __TBB_EXPORTED_FUNC move_v3 (tbb_thread_v3 &t1, tbb_thread_v3 &t2)
 
+void tbb::swap (tbb_thread_v3 &t1, tbb_thread_v3 &t2) __TBB_NOEXCEPT(true)
 

Detailed Description

-

Interface to be implemented by all exceptions TBB recognizes and propagates across the threads.

-

If an unhandled exception of the type derived from tbb::tbb_exception is intercepted by the TBB scheduler in one of the worker threads, it is delivered to and re-thrown in the root thread. The root thread is the thread that has started the outermost algorithm or root task sharing the same task_group_context with the guilty algorithm/task (the one that threw the exception first).

-

Note: when documentation mentions workers with respect to exception handling, masters are implied as well, because they are completely equivalent in this context. Consequently a root thread can be master or worker thread.

-

NOTE: In case of nested algorithms or complex task hierarchies when the nested levels share (explicitly or by means of implicit inheritance) the task group context of the outermost level, the exception may be (re-)thrown multiple times (ultimately - in each worker on each nesting level) before reaching the root thread at the outermost level. IMPORTANT: if you intercept an exception derived from this class on a nested level, you must re-throw it in the catch block by means of the "throw;" operator.

-

TBB provides two implementations of this interface: tbb::captured_exception and template class tbb::movable_exception. See their declarations for more info.

+

Versioned thread class.

Member Function Documentation

- +
@@ -97,101 +151,7 @@ virtual const char *  - - -
- - - - - - - - - - - -
virtual void tbb::tbb_exception::destroy ()
throw (
)
-
-pure virtual
-
- -

Destroys objects created by the move() method.

-

Frees memory and calls destructor for this exception object. Can and must be used only on objects created by the move method.

- -

Implemented in tbb::movable_exception< ExceptionData >, and tbb::captured_exception.

- -
-
- -
-
- - - - - -
- - - - - - - - - - - - - -
virtual tbb_exception* tbb::tbb_exception::move ()
throw (
)
-
-pure virtual
-
- -

Creates and returns pointer to the deep copy of this exception object.

-

Move semantics is allowed.

- -

Implemented in tbb::movable_exception< ExceptionData >, and tbb::captured_exception.

- -
-
- -
-
- - - - - -
- - - - - - - - -
void tbb::tbb_exception::operator delete (void * p)
-
-inline
-
-

Operator delete is provided only to allow using existing smart pointers with TBB exception objects obtained as the result of applying move() operation on an exception thrown out of TBB scheduler.

-

When overriding method move() make sure to override operator delete as well if memory is allocated not by TBB's scalable allocator.

- -
-
- -
-
- - -
- - - + @@ -199,20 +159,19 @@ virtual const char *  +static
virtual void tbb::tbb_exception::throw_self static unsigned __TBB_EXPORTED_FUNC tbb::internal::tbb_thread_v3::hardware_concurrency ( ) -pure virtual
-

Throws this exception object.

-

Make sure that if you have several levels of derivation from this interface you implement or override this method on the most derived level. The implementation is as simple as "throw *this;". Failure to do this will result in exception of a base class type being thrown.

- -

Implemented in tbb::movable_exception< ExceptionData >, and tbb::captured_exception.

+

The number of hardware thread contexts.

+

Before TBB 3.0 U4 this methods returned the number of logical CPU in the system. Currently on Windows, Linux and FreeBSD it returns the number of logical CPUs available to the current process in accordance with its affinity mask.

+

NOTE: The return value of this method never changes after its first invocation. This means that changes in the process affinity mask that took place after this method was first invoked will not affect the number of worker threads in the TBB worker threads pool.


The documentation for this class was generated from the following file:
    -
  • tbb_exception.h
  • +
  • tbb_thread.h

diff --git a/doc/html/a00161.html b/doc/html/a00161.html index 8ae5252..c6a3ec7 100644 --- a/doc/html/a00161.html +++ b/doc/html/a00161.html @@ -4,7 +4,7 @@ -tbb::internal::tbb_exception_ptr Class Reference +tbb::thread_bound_filter Class Reference @@ -33,77 +33,120 @@
-
tbb::internal::tbb_exception_ptr Class Reference
+
tbb::thread_bound_filter Class Reference
-

Exception container that preserves the exact copy of the original exception. +

A stage in a pipeline served by a user thread. More...

-

#include <tbb_exception.h>

+

#include <pipeline.h>

+
+Inheritance diagram for tbb::thread_bound_filter:
+
+
+ + +tbb::filter + +
+ + + +

+Public Types

enum  result_type { success, +item_not_available, +end_of_stream + }
 
- - - - - - + + + + + + +

Public Member Functions

void destroy () throw ()
 Destroys this objects. More...
 
-void throw_self ()
 Throws the contained exception .
 
result_type __TBB_EXPORTED_METHOD try_process_item ()
 If a data item is available, invoke operator() on that item. More...
 
result_type __TBB_EXPORTED_METHOD process_item ()
 Wait until a data item becomes available, and invoke operator() on that item. More...
 
+ + +

+Protected Member Functions

thread_bound_filter (mode filter_mode)
 
- - - - - - - - + + + + + + + + + + + + + + + + +

-Static Public Member Functions

-static tbb_exception_ptrallocate ()
 
-static tbb_exception_ptrallocate (const tbb_exception &tag)
 
-static tbb_exception_ptrallocate (captured_exception &src)
 This overload uses move semantics (i.e. it empties src)
 

+Additional Inherited Members

- Static Protected Attributes inherited from tbb::filter
+static const unsigned char filter_is_serial = 0x1
 The lowest bit 0 is for parallel vs. serial.
 
static const unsigned char filter_is_out_of_order = 0x1<<4
 4th bit distinguishes ordered vs unordered filters. More...
 
+static const unsigned char filter_is_bound = 0x1<<5
 5th bit distinguishes thread-bound and regular filters.
 
+static const unsigned char filter_may_emit_null = 0x1<<6
 6th bit marks input filters emitting small objects
 
static const unsigned char exact_exception_propagation
 7th bit defines exception propagation mode expected by the application. More...
 

Detailed Description

-

Exception container that preserves the exact copy of the original exception.

-

This class can be used only when the appropriate runtime support (mandated by C++11) is present

+

A stage in a pipeline served by a user thread.

Member Function Documentation

- +
- + +
void tbb::internal::tbb_exception_ptr::destroy result_type __TBB_EXPORTED_METHOD tbb::thread_bound_filter::process_item ( )
+
+ +

Wait until a data item becomes available, and invoke operator() on that item.

+

This interface is blocking. Returns 'success' if an item was processed. Returns 'end_of_stream' if there are no more items to process. Never returns 'item_not_available', as it blocks until another return condition applies.

+ +
+
+ +
+
+ - - - - + + + +
throw (
)result_type __TBB_EXPORTED_METHOD tbb::thread_bound_filter::try_process_item ()
-

Destroys this objects.

-

Note that objects of this type can be created only by the allocate() method.

+

If a data item is available, invoke operator() on that item.

+

This interface is non-blocking. Returns 'success' if an item was processed. Returns 'item_not_available' if no item can be processed now but more may arrive in the future, or if token limit is reached. Returns 'end_of_stream' if there are no more items to process.


The documentation for this class was generated from the following file:
    -
  • tbb_exception.h
  • +
  • pipeline.h

diff --git a/doc/html/a00161.png b/doc/html/a00161.png new file mode 100644 index 0000000000000000000000000000000000000000..7eab1d5112ca5b7d7067137bdd3c71a2d17e0a60 GIT binary patch literal 757 zcmeAS@N?(olHy`uVBq!ia0vp^6M?vcgBeI(xc}1$NJ#|vgt-3y{~ySF@#br3|Dg#$ z78oBmaDcV*jy#adQ4-`A%m7pb0#{Fk7%?y~wRpNXhEy=Vo%?XoDgz!jf4eznfA9b3 z>Y%~x_T*7snmXU{tms?Lv!?BzF>@(Xak;;Xk?E_-WF)-TxaNfTc8QHf_ ztvt+lVL}T zw1d_q$-8+sr(BZ!>U46-CrQSX#Y!v!!G=s7D7Y!?sMAoQ{A3(>!Xa{@5zc*_N?mnm%MAgv*+4NJx}+Y zO8s^9SNFZ&>YKK`+IP~uMfa2@i3GbL@MY=J*z2iG4}|tH1Wi2m;xr5%i8Q}^7ZPYA@=sKjY2M)Z4A+~ZRZP)Hhyw=iRe5lsWt0fMn2o5 zEB5o*zHJe_myfKNnRz3ND zeb22U_4C{>u97{yxb)H9GmCpKe&1`>zj@cvo7vv4@5M!*o8x}(oz&LqxBUBE+pgqX uV@a6rZ2Q`m8|-MH+l%e5ojD`)k)KR)#N literal 0 HcmV?d00001 diff --git a/doc/html/a00162.html b/doc/html/a00162.html index 13a5da1..c9310d3 100644 --- a/doc/html/a00162.html +++ b/doc/html/a00162.html @@ -4,7 +4,7 @@ -tbb::internal::tbb_thread_v3 Class Reference +tbb::internal::thread_closure_0< F > Struct Template Reference @@ -33,144 +33,55 @@
-
tbb::internal::tbb_thread_v3 Class Reference
+
tbb::internal::thread_closure_0< F > Struct Template Reference
- -

Versioned thread class. - More...

- -

#include <tbb_thread.h>

+
+Inheritance diagram for tbb::internal::thread_closure_0< F >:
+
+
+ + +tbb::internal::thread_closure_base + +
- - - -

-Classes

class  id
 
- - - - - -

-Public Types

-typedef HANDLE native_handle_type
 
-typedef pthread_t native_handle_type
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + +

Public Member Functions

tbb_thread_v3 (const tbb_thread_v3 &)
 
tbb_thread_v3 () __TBB_NOEXCEPT(true)
 Constructs a thread object that does not represent a thread of execution.
 
-template<class F >
 tbb_thread_v3 (F f)
 Constructs an object and executes f() in a new thread.
 
-template<class F , class X >
 tbb_thread_v3 (F f, X x)
 Constructs an object and executes f(x) in a new thread.
 
-template<class F , class X , class Y >
 tbb_thread_v3 (F f, X x, Y y)
 Constructs an object and executes f(x,y) in a new thread.
 
-tbb_thread_v3operator= (tbb_thread_v3 &x)
 
-void swap (tbb_thread_v3 &t) __TBB_NOEXCEPT(true)
 
-bool joinable () const __TBB_NOEXCEPT(true)
 
-void __TBB_EXPORTED_METHOD join ()
 The completion of the thread represented by *this happens before join() returns.
 
-void __TBB_EXPORTED_METHOD detach ()
 When detach() returns, *this no longer represents the possibly continuing thread of execution.
 
-id get_id () const __TBB_NOEXCEPT(true)
 
-native_handle_type native_handle ()
 
thread_closure_0 (const F &f)
 
- Public Member Functions inherited from tbb::internal::thread_closure_base
+void * operator new (size_t size)
 
+void operator delete (void *ptr)
 
- - - + +

Static Public Member Functions

static unsigned __TBB_EXPORTED_FUNC hardware_concurrency () __TBB_NOEXCEPT(true)
 The number of hardware thread contexts. More...
 
+static __TBB_NATIVE_THREAD_ROUTINE start_routine (void *c)
 
- - -

Public Attributes

-tbb_thread_v3(tbb_thread_v3
-&&x) __TBB_NOEXCEPT(true)
-tbb_thread_v3
operator= (tbb_thread_v3 &&x) __TBB_NOEXCEPT(true)
 
- - - - - + +

-Friends

-void __TBB_EXPORTED_FUNC move_v3 (tbb_thread_v3 &t1, tbb_thread_v3 &t2)
 
-void tbb::swap (tbb_thread_v3 &t1, tbb_thread_v3 &t2) __TBB_NOEXCEPT(true)
 
+F function
 
-

Detailed Description

-

Versioned thread class.

-

Member Function Documentation

- -
-
- - - - - -
- - - - - - - -
static unsigned __TBB_EXPORTED_FUNC tbb::internal::tbb_thread_v3::hardware_concurrency ()
-
-static
-
- -

The number of hardware thread contexts.

-

Before TBB 3.0 U4 this methods returned the number of logical CPU in the system. Currently on Windows, Linux and FreeBSD it returns the number of logical CPUs available to the current process in accordance with its affinity mask.

-

NOTE: The return value of this method never changes after its first invocation. This means that changes in the process affinity mask that took place after this method was first invoked will not affect the number of worker threads in the TBB worker threads pool.

- -
-
-
The documentation for this class was generated from the following file:
    +
    The documentation for this struct was generated from the following file:
    • tbb_thread.h
diff --git a/doc/html/a00162.png b/doc/html/a00162.png new file mode 100644 index 0000000000000000000000000000000000000000..ca33e7fe184cb31e2bdd96f46b569d3fabe4e756 GIT binary patch literal 794 zcmeAS@N?(olHy`uVBq!ia0vp^*MK;HgBeH$U8%kaq$C1-LR|m<{|{uoc=NTi|Ih>= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IZ0R(iTPhEy=Vo%=fPi2_fnz2B03|CQfA zVY;C<)AQEVGRKfPlOA~2^t}CfdXvuSiiC+vE*fNd2ICdU-emN~_KcD+8s`Na(^;^4A&#a5R zlb#50yv9k_2vY3jX@wb!SGTwi`~S9ptghVA>c&#u*7h%OXz^ET&`l1D z^n!J=m;*5Q7^={fJaG5WT>8<0NrD%q!g1l(TdyWh-R{r8=o)dCVa|eyb{?;-9x`n1 z+sOXlL+7=#=l=^wtxmhJ&*wg3aS+pGbz2d6L z>i-5RQ58{UHTR?1-U&yw3%BpJTAz{Hz36LOn9d=I(#wkJb7vKQ{(utH|DJ7Q*nBSk z^!HvevGS7dG|x*IlzR>;OXk;vd$@?2>?-c Bfam}K literal 0 HcmV?d00001 diff --git a/doc/html/a00163.html b/doc/html/a00163.html index 3224ff3..456eef5 100644 --- a/doc/html/a00163.html +++ b/doc/html/a00163.html @@ -4,7 +4,7 @@ -tbb::thread_bound_filter Class Reference +tbb::internal::thread_closure_1< F, X > Struct Template Reference @@ -33,120 +33,70 @@
-
tbb::thread_bound_filter Class Reference
+
tbb::internal::thread_closure_1< F, X > Struct Template Reference
-

A stage in a pipeline served by a user thread. +

Structure used to pass user function with 1 argument to thread. More...

-

#include <pipeline.h>

+

#include <tbb_thread.h>

-Inheritance diagram for tbb::thread_bound_filter:
+Inheritance diagram for tbb::internal::thread_closure_1< F, X >:
- - -tbb::filter + + +tbb::internal::thread_closure_base
- - - -

-Public Types

enum  result_type { success, -item_not_available, -end_of_stream - }
 
- - - - - - + + + + + + +

Public Member Functions

result_type __TBB_EXPORTED_METHOD try_process_item ()
 If a data item is available, invoke operator() on that item. More...
 
result_type __TBB_EXPORTED_METHOD process_item ()
 Wait until a data item becomes available, and invoke operator() on that item. More...
 
thread_closure_1 (const F &f, const X &x)
 
- Public Member Functions inherited from tbb::internal::thread_closure_base
+void * operator new (size_t size)
 
+void operator delete (void *ptr)
 
- - - + + + +

-Protected Member Functions

thread_bound_filter (mode filter_mode)
 

+Static Public Member Functions

+static __TBB_NATIVE_THREAD_ROUTINE start_routine (void *c)
 Routine passed to Windows's _beginthreadex by thread::internal_start() inside tbb.dll.
 
- - - - - - - - - - - - - - - - - + + + + +

-Additional Inherited Members

- Static Protected Attributes inherited from tbb::filter
-static const unsigned char filter_is_serial = 0x1
 The lowest bit 0 is for parallel vs. serial.
 
static const unsigned char filter_is_out_of_order = 0x1<<4
 4th bit distinguishes ordered vs unordered filters. More...
 
-static const unsigned char filter_is_bound = 0x1<<5
 5th bit distinguishes thread-bound and regular filters.
 
-static const unsigned char filter_may_emit_null = 0x1<<6
 6th bit marks input filters emitting small objects
 
static const unsigned char exact_exception_propagation
 7th bit defines exception propagation mode expected by the application. More...
 

+Public Attributes

+F function
 
+X arg1
 

Detailed Description

-

A stage in a pipeline served by a user thread.

-

Member Function Documentation

- -
-
- - - - - - - -
result_type __TBB_EXPORTED_METHOD tbb::thread_bound_filter::process_item ()
-
- -

Wait until a data item becomes available, and invoke operator() on that item.

-

This interface is blocking. Returns 'success' if an item was processed. Returns 'end_of_stream' if there are no more items to process. Never returns 'item_not_available', as it blocks until another return condition applies.

- -
-
- -
-
- - - - - - - -
result_type __TBB_EXPORTED_METHOD tbb::thread_bound_filter::try_process_item ()
-
- -

If a data item is available, invoke operator() on that item.

-

This interface is non-blocking. Returns 'success' if an item was processed. Returns 'item_not_available' if no item can be processed now but more may arrive in the future, or if token limit is reached. Returns 'end_of_stream' if there are no more items to process.

+

template<class F, class X>
+struct tbb::internal::thread_closure_1< F, X >

-
-
-
The documentation for this class was generated from the following file:
    -
  • pipeline.h
  • +

    Structure used to pass user function with 1 argument to thread.

    +

The documentation for this struct was generated from the following file:
    +
  • tbb_thread.h

diff --git a/doc/html/a00163.png b/doc/html/a00163.png index 7eab1d5112ca5b7d7067137bdd3c71a2d17e0a60..961925b53400cd0df57f3333002868179b5c8a9f 100644 GIT binary patch delta 770 zcmV+d1O5E<1+NAniBL{Q4GJ0x0000DNk~Le0002!0000`2m=5B03`0oQjsA$f4)gX zK~#7F?VZ_fgfI+6PcBmb|C2idWU<3qbx}q=56{XOX1Klbtlj|T^Ash1}H!z4N!nc8lV7?G(Z6& zX@CMm(f|dBqyY*LNdpuhf070$KqL)NfJhpk0Fg960e(s;rSt@m0OD(a0z}dP1&E{q z`nuJpcD{cCa4M5E48VrE**hEEJ1-5@TWrKU1HHJQUjem9JI?Qst&kaX`JtI3t+!_3 z@AvsD>!)VZ)oK~a4o#RPboR)%b`jOJPS=&T?l*Sn40MTVZslrUf7W%iqa^H=hs|^| zX_vGS#JhJ~CCX8awsw8#`sjWcBrtO2dTP}jdi!BW^l~S#CF$$g)8{&G`wd5Bn8sIVC>aGf)BpvDqyY*LNlyYzDWwPK6S5dEf>zye+5i9m07*qoM6N<$f(p@V AMgRZ+ delta 712 zcmZ3__LWt!Gr-TCmrII^fq{Y7)59eQNKXXf4i07@dEx#~r-_Qz^(~$*jv*C{Z|6Ro zw90_T&EIa$+28v=x;kiZyFGc7m!{5lJS+N^^Q>w6XUts6R9x=wBDr(-@hKB`SNnh% za}12OKb-gPMMn1RQ!7t1mw!Jz$MDsAiS=o_Ufy4PcoOS)?40)^mXNL6$SM;C!`}p14uRrS3-t-@Papl6-xZ?7D zP37|MGp4wurOjm6(IV}jbxHDW-pwhOB)>YHobpMMF=eq5i$Jg;Q^!gP#v>s;3`tsU z42Gi04Kum~9ej>*C@f1tm0s5!c)c`M>xGJ@V5*9zVX8{Kr=faJ&W>gAxqE$mUuSt% zwZHC}wrjrGCPlHo*K1!boUz({?#Jslj9Ppr^%WbrU4Emsb-K@K(@%AK&aIC!e!nLx zTG_Lz-(T{s{m!0iFZDd#cPjPQ)nDEBeyeZV_G;fr_ZHn#nj{kJhQODlOJlF6GCdI5 z#}G8}T>XpJ+OvbK7RPDK46<8%E1O}x2GI3JOdXm8sQo!9Y16oP6a-U&J_LGtb6~vA z{#)O~PkFyy?Vf$>IPX^bZ|fy;m)$XzI^Xy&d&Mkkv#ZJ1tB;1*+rKsnxooyEM9;RJ zFStJ1_{rfVqVuez)~tIO`D~M}*w1JCwngw>KC)tNqFi16)meJ?SB1a%a_5$v^ykit zlWnR}O=LbNS5Cc{d}6X&_2mEcJ-3e3&vU=HO7`^P(novGEbhJdeXm*n=3Pr~W_!QB z7Z-hQj{CiLQd_Iv^6z(TyOMK_C1Jj^?Q36du&Yz$SOkjgubnv~^pT%iq2!CP=}}u? P;$-l2^>bP0l+XkK%hOBj diff --git a/doc/html/a00164.html b/doc/html/a00164.html index 937c49c..99cd242 100644 --- a/doc/html/a00164.html +++ b/doc/html/a00164.html @@ -4,7 +4,7 @@ -tbb::internal::thread_closure_0< F > Struct Template Reference +tbb::internal::thread_closure_2< F, X, Y > Struct Template Reference @@ -33,7 +33,7 @@ +List of all members
-
tbb::internal::thread_closure_0< F > Struct Template Reference
+
tbb::internal::thread_closure_2< F, X, Y > Struct Template Reference
-Inheritance diagram for tbb::internal::thread_closure_0< F >:
+Inheritance diagram for tbb::internal::thread_closure_2< F, X, Y >:
- - -tbb::internal::thread_closure_base + + +tbb::internal::thread_closure_base
- - - - + + + - - + - +

Public Member Functions

thread_closure_0 (const F &f)
 
- Public Member Functions inherited from tbb::internal::thread_closure_base
+
thread_closure_2 (const F &f, const X &x, const Y &y)
 
- Public Member Functions inherited from tbb::internal::thread_closure_base
void * operator new (size_t size)
 
+
 
void operator delete (void *ptr)
 
 
- - + + +

Static Public Member Functions

-static __TBB_NATIVE_THREAD_ROUTINE start_routine (void *c)
 
+static __TBB_NATIVE_THREAD_ROUTINE start_routine (void *c)
 Routine passed to Windows's _beginthreadex by thread::internal_start() inside tbb.dll.
 
- - + + + + +

Public Attributes

+
function
 
 
+X arg1
 
+Y arg2
 

The documentation for this struct was generated from the following file:
  • tbb_thread.h
  • diff --git a/doc/html/a00164.png b/doc/html/a00164.png index ca33e7fe184cb31e2bdd96f46b569d3fabe4e756..aa52099a9d5bbc6b96933a805511a865e9ce5c50 100644 GIT binary patch delta 813 zcmV+|1JeAO2H6H7iBL{Q4GJ0x0000DNk~Le0002`0000`2m=5B00*_0hmj#Wf9Od> zK~#7F?Vas%R^vItPmzN$RK>y*B@xrKHk6i+*$A-;AD8dbxi6TUXc~70UX( z8tnhJp3`dY$`dL#o6R{RKkEILf2n2o_;%CtUc9sNAxQ(>iuxY1{5V_vaqP72Rg!JF z+YDEORS^45{Pgpv#@3QF(A^8~z4@h-BqMjp-&!@r!!9f(wK8XAmi#vK_0R8Y&x8?r zo^e`Tp!*A7rd#yWXJa8rjlL}EE-)rw{irv_L-f(~CPS>XBwgrvuHU=xe>c#d=Xw+U zKb-5n!h7$g!kgQ76yt1V_FPr?GJ09zYZv1Rf1ctORCr1HH}w~xZ4m;5%MwxmKc^3Xn2L-3@e!6iF8Yf+Dtln`S>XZVX`%x}(?kb| zril&^O%oj;nkG6xG);7Xe`uQM0MRtj0itQ514PqA2Z*ML4iHTf9pDF)Qc5vJ0*I)I z4iHTf9Uz)c^w*=j)#L3OfYUix+yHdcj6OK}wJHNuJ4&_pcHMIm{pJ?G1%0)2*6rlR z=q>vGGq)Y!@u*PN@9l7p6W&Y@tGz2vsNC$X^Njqc_fV#m;j;I7fBKO1272$r+Nkd# z%a60wAIDDXUJ|zDZZljB+AVdQ_~{Mm>E-GkchSxI_QL!1{KiONCp5CN$x*}oXl8XkJoq>^wd?;ye3n}~+wXsPl;+auH(%e++MBC(=4)-}jsLmo zuG#jd*p8iD7Oe9rEqV2_(3(BbPG{i`viU zev2wS4{!a}uGBN@V(+9U0$lGGhh1Lt?{H8M_jLB}C-*yL|Lu;yyZUoi*fx!*{EVYY zYo5&u`*<^>=KnS)r`Sd3^H&G%TT+^OFJ$fYX(88_-`f@5VxD39e(kesbr+%wh1|UB z%{gOTWt_FMcUGKHS#xRoZcj`#)>?8h{yMmX^#Zq=ZbO_w zCgYbTPwoZcK2Z#N6D~2mV4W=H01QBeDxi{j6g3arJv5hobYPO;g(-1d`1RJS$y2xc zGcdYF++~=vV4|JJYpaJ0oBKAhKlspj?dcHE3j@7{CMVO6H+^#^NzZqIyccPDIGt>vN(%T<8ETn`LqyHmpI7xyd- z-SeYu(YwEsQZ#<2NZ{^{?>)++6Bd|jDuy8T=8y{^dy-!{x{S?AZcaO&0= zn>3-Ym$yALoMT(!S53aJ+aSE-Jws1p{DQ4#8`a)3h*#toi~{CqFX-Zp#R XYMt}$hstw+DVV|2)z4*}Q$iB}t$=M( diff --git a/doc/html/a00165.html b/doc/html/a00165.html index 746a908..2b1bab5 100644 --- a/doc/html/a00165.html +++ b/doc/html/a00165.html @@ -4,7 +4,7 @@ -tbb::internal::thread_closure_1< F, X > Struct Template Reference +tbb::internal::thread_closure_base Struct Reference @@ -33,69 +33,39 @@
-
tbb::internal::thread_closure_1< F, X > Struct Template Reference
+
tbb::internal::thread_closure_base Struct Reference
- -

Structure used to pass user function with 1 argument to thread. - More...

- -

#include <tbb_thread.h>

-Inheritance diagram for tbb::internal::thread_closure_1< F, X >:
+Inheritance diagram for tbb::internal::thread_closure_base:
- - -tbb::internal::thread_closure_base + + +tbb::internal::thread_closure_0< F > +tbb::internal::thread_closure_1< F, X > +tbb::internal::thread_closure_2< F, X, Y >
- - - - - - + - -

Public Member Functions

thread_closure_1 (const F &f, const X &x)
 
- Public Member Functions inherited from tbb::internal::thread_closure_base
+
void * operator new (size_t size)
 
+
 
void operator delete (void *ptr)
 
- - - - -

-Static Public Member Functions

-static __TBB_NATIVE_THREAD_ROUTINE start_routine (void *c)
 Routine passed to Windows's _beginthreadex by thread::internal_start() inside tbb.dll.
 
- - - - - +

-Public Attributes

-F function
 
-X arg1
 
 
-

Detailed Description

-

template<class F, class X>
-struct tbb::internal::thread_closure_1< F, X >

- -

Structure used to pass user function with 1 argument to thread.

-

The documentation for this struct was generated from the following file:
    +
    The documentation for this struct was generated from the following file:
    • tbb_thread.h
    diff --git a/doc/html/a00165.png b/doc/html/a00165.png index 961925b53400cd0df57f3333002868179b5c8a9f..0324577e724e80dc1c635675c7fc1bf9494f27bb 100644 GIT binary patch literal 1409 zcmaJ>c~H|w6yAg&ghCLC29N=YNfiu7B4{{NTm2 zC>WHnpg>SdkYbXbU_>z-Q>}7|Q7QpJNPl6bGxm>mXLk1;-@Nbbn{PIsLHE(q zG1UP8=uv#V`~lEF!Zt%&13oLIq)GTPX6z2|R;g65IXqS8|NJ(L7um21m({S;aJo%`@$t1Ss_EQ$+f5Un=U*~E#hDM(bE^L;vE4ir zV?M#jeAuBN3bzMMPlUXanCk;qm}Sf#8+?8yaj5Z2L_`1SUs!Y04oTvc@^nV#g~9Yv zsmKY!z~x(UtT)e1%(E);{0@r`1yXsZh`PTSRal1|Q+K;hMfB^Hcp*)w`LXCT`G)+fC(NnEler!Dg1HV~{N7vk0_C>D2;uubB zx;IwL-n;3{LVB6v>?5G-9@V3B`0kJO&0J~|p|$)}*;Nm0XMI}Xpr84ZMVB@qDLk@a z_F%r_1*=-@P1_Z!Z|@qa33rv9aBcaJ30|ZQA|Bb%0Ce{oxY4Gs##*4BcJ|lP?r_j0 zA{@XfnbU5t3IY#041oh6mVX}&AdvH5#c8#MOyQuxEfm~bFaeg$Y9qKfKuOf;ohxAm z%>RF3OTtq}zatgbt;v8miyk*a^|D%CIm5H?7&U|YW5r_#h%AV##R2Zj%NjIb>CnT% zgVn}z$Pj23B{0zd^-v8*{wMtY%>;+@ql={L@n)Stug%C>37B1!0$-7mZDb&qRcXYD z@l3R@zuP?}Tv_%$1tz3H&i#7n7x{`H;_w%CO+oD3ts-1f)RE$D{IQ=rn5Z{21` zlZ_?|iA&k2X=jl#gwr**O)Dj{YHP&H{DH*g{kd#Ufi&jMshW`GK>Zh;3+pR}l|J|x zbalARRXKjfq&m|Z+4h(`fh@fEG`4LnPcbyVSI>s;cwqO@(ziazYwKQKsucuw**FiX zO6_LGs^xD5{N;Pk(jJeeuv+xfqXV#>arhFU$_puJ*zD$eqi#@E7g%02Ci#QMA>DAR z{wStdkuN}(@Xk}M^9~ZLF6|RvSQHc$M!$X@Ex`dHxNn4sE(drMyE+yH|Y%}=6 zM}@6RyQZZ1L{t{pQ)QCs-W^x;gw6Yd7IW?kJNdcCZstvB=9YysoK!1T&C-VbZ_Y*r_)wJtigoP0mr4jnKM4*PKy|1Qw*@-> z^0S@xCh6$YP~#44T6CFE<%|6I!|e?3rHga>xK+WGTJwFwX9eVfjqFa6sOLCeiX9L+ zhFJL-VYIsG>|`<<(#px`lRs%soi<*~>WkA?2rP1{T&eyYEEI0SKEV<}Sz?Ob8kf}c zUVDYX9pko?K!nM#E1VkhJ+8j~-61imJvqw{e&S2-f5^!YiP|8GDI_~l57uH6>heEA qa{srGj636tC<5gu`TTeBn1{0#(SuibR|QD*M+zw3bgxDaX7=BA!)Z+b delta 771 zcmV+e1N{7f3$F$tiBL{Q4GJ0x0000DNk~Le0002!0000`2m=5B03`0oQjsA#e*(Tq zL_t(|0qvdHZiFxlMNckL|NoOa17xwoT6IxPDsF+qHaW55d1acW=?P+zr1%=3k`ze; zRFWcT4>Zl!`ecT?CrNTDlQoPaZK#_)HvgLC7eFt5=Kp}ElwN^e|K9QDTeI-@``cjo zH;)vnWhgr|VP>1+k#Fs4t81NJf8U*ZUW*S_UnI%uD5Fa{@~vF$%et<1R7v*A!)Cgf zY!b8`#JiV`*|(M?tCQ08zCN&$WaP^A)T%r5_QO(AFS9e|lRpId{`2ctYI+Yedlah! zP+z*$-GY{woyB)%)NQ&+#&$+K<6Y1__pa8hwIubrd`7R8?gh~MXSB=gf481d-*tT~ z({)W9tqn3;nH4r&x6U4R-8RI2*DZT?yX#6)DE&R?+&}j6AW2@g9Y#haDVzqVBt_By zm83{|flkvjJwO1zt`C4G=qaEd9}gjY3h0aT8KjQ^9bFe7mIf$5Bn?o2NE)C3ku*R7 zB58mEMA85Sh@=4u5J>|Re;|?uC_p3)P=H7ppa79HKmmSADW&uTkpSXrfC5C)00oGo z0{Xhur*^)70&psmH4MOpy4gD$-8(N0)mv=DJOjPBpkD#CNITB&k*$y!borr~Bdxb) z;qUkPE9<9b)75Gj$_`DKC3N=4w{{WLwNBTSw(d7}=?rvH6q?86+@r<$7w>9eVp=Nc3_iuqEm1+15bak~^SlSfiz; z_dv5pu{r?trQ359qk{wPe@9mP+ZlD6Zj!N`(av}mbkF@DqX0(EZ9Aj(j9n_-3!wMU zXqVX=XVj)?>x}xYS?jxl>AI%6)&`la%nF;XTW1fuZX4oy*R|vqDjMKF>XhOSK<5tA z|MmlH>w?31v?v(`IMe_Ih@=4u5J^u0O(~@Z=o7LSFoIUyaoPX?002ovPDHLkV1mnX BYT5t* diff --git a/doc/html/a00166.html b/doc/html/a00166.html index eb71e8a..7d902d6 100644 --- a/doc/html/a00166.html +++ b/doc/html/a00166.html @@ -4,7 +4,7 @@ -tbb::internal::thread_closure_2< F, X, Y > Struct Template Reference +tbb::tick_count Class Reference @@ -33,63 +33,61 @@
-
tbb::internal::thread_closure_2< F, X, Y > Struct Template Reference
+
tbb::tick_count Class Reference
-
-Inheritance diagram for tbb::internal::thread_closure_2< F, X, Y >:
-
-
- - -tbb::internal::thread_closure_base - -
+ +

Absolute timestamp. + More...

+ +

#include <tick_count.h>

+ + + + +

+Classes

class  interval_t
 Relative time interval. More...
 
- - - - - - - + + +

Public Member Functions

thread_closure_2 (const F &f, const X &x, const Y &y)
 
- Public Member Functions inherited from tbb::internal::thread_closure_base
-void * operator new (size_t size)
 
-void operator delete (void *ptr)
 
tick_count ()
 Construct an absolute timestamp initialized to zero.
 
- - - + + + + + +

Static Public Member Functions

-static __TBB_NATIVE_THREAD_ROUTINE start_routine (void *c)
 Routine passed to Windows's _beginthreadex by thread::internal_start() inside tbb.dll.
 
+static tick_count now ()
 Return current time.
 
+static double resolution ()
 Return the resolution of the clock in seconds per tick.
 
- - - - - - - + + + +

-Public Attributes

-F function
 
-X arg1
 
-Y arg2
 

+Friends

+interval_t operator- (const tick_count &t1, const tick_count &t0)
 Subtract two timestamps to get the time interval between.
 
-
The documentation for this struct was generated from the following file:
    -
  • tbb_thread.h
  • +

    Detailed Description

    +

    Absolute timestamp.

    +

    The documentation for this class was generated from the following file:
      +
    • tick_count.h

diff --git a/doc/html/a00166.png b/doc/html/a00166.png deleted file mode 100644 index aa52099a9d5bbc6b96933a805511a865e9ce5c50..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 857 zcmeAS@N?(olHy`uVBq!ia0vp^zkoP^gBeJ&Z=KN&q$C1-LR|m<{|{uoc=NTi|Ih>= z3ycpOIKbL@M;^%KC<*clW&kPzfvcxNj2IZ0UU<4VhEy=Vo%^=vi53s*?8mG2{8zsJ zk)4h6!;PIcQ#LCd?aUQua`X5+JvDOLjHHQ6I%d6?B;qR^J898N-Ktx+KBn!OZSGlQ z#ojIL`D%saUbFvmmM*zu*Iifq@P5y{psJm9f1|^1$cdi%wO8uR|84UwXT3iqtYtp? ztfjL3tH0A%rvCU*cKLJMp3R>WJ(=%z{gT`C$0GV~;hQb*LMP?!yv-Bd94heJ@6VUd zD~?^8WOCsy_xrs+mrhYpE?)qA!5 zSKN8C?sLzd72gAvO?$ZMd)2QAU)ieOAGx*Sz2fQq%~$1*`@N16+V(WhIEMF@Zt0vK zFL__ReELeR{NmYP-wyr$`sbKO!V|rp(W{qL+-Oz2cq;bZsdn$Lj$V@TPjAdyAkQuN zcBX;Td1JrT+$Hr7r8i9y6>nYidG^!wj&_gR1Irr?8DG2aHI!S_zs#Cxx{1Tps+qaP z%cM(Zuimcrhxg0#o%dY!|6C~h{Fn5Xymi01-oNf!`Qe$L+)<0@nYQ7g`+DNSe%xwZ z`(f^pb^Uk#PWkD=Xz(h9?ZEnA`#%iMe;Iy>?OCSB%u|wlNd3hBnJbuWuE2tO -tbb::internal::thread_closure_base Struct Reference +tbb::flow::interface10::internal::untyped_receiver Class Reference @@ -33,40 +33,132 @@
-
tbb::internal::thread_closure_base Struct Reference
+
tbb::flow::interface10::internal::untyped_receiver Class Referenceabstract
-Inheritance diagram for tbb::internal::thread_closure_base:
+Inheritance diagram for tbb::flow::interface10::internal::untyped_receiver:
- - -tbb::internal::thread_closure_0< F > -tbb::internal::thread_closure_1< F, X > -tbb::internal::thread_closure_2< F, X, Y > + + +tbb::flow::interface10::receiver< continue_msg > +tbb::flow::interface10::receiver< T > +tbb::flow::interface10::continue_receiver
+ + + + + + + + +

+Public Types

+typedef untyped_sender predecessor_type
 The predecessor type for this node.
 
+typedef
+internal::edge_container
+< predecessor_type
built_predecessors_type
 
+typedef
+built_predecessors_type::edge_list_type 
predecessor_list_type
 
- - - - + + + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

-void * operator new (size_t size)
 
-void operator delete (void *ptr)
 
+virtual ~untyped_receiver ()
 Destructor.
 
+template<typename X >
bool try_put (const X &t)
 Put an item to the receiver.
 
+virtual bool register_predecessor (predecessor_type &)
 Add a predecessor to the node.
 
+virtual bool remove_predecessor (predecessor_type &)
 Remove a predecessor from the node.
 
+virtual built_predecessors_typebuilt_predecessors ()=0
 
+virtual void internal_add_built_predecessor (predecessor_type &)=0
 
+virtual void internal_delete_built_predecessor (predecessor_type &)=0
 
+virtual void copy_predecessors (predecessor_list_type &)=0
 
+virtual size_t predecessor_count ()=0
 
+ + + + + + + + + + + + + +

+Protected Member Functions

+template<typename X >
task * try_put_task (const X &t)
 
+virtual task * try_put_task_wrapper (const void *p, bool is_async)=0
 
+virtual graph & graph_reference ()=0
 
+virtual void reset_receiver (reset_flags f=rf_reset_protocol)=0
 put receiver back in initial state
 
+virtual bool is_continue_receiver ()
 
+ + + + + + + + + + + + + + + + + + +

+Friends

+template<typename , typename >
class run_and_put_task
 
+template<typename >
class limiter_node
 
+template<typename , typename >
class internal::broadcast_cache
 
+template<typename , typename >
class internal::round_robin_cache
 
+template<typename , typename >
class internal::successor_cache
 
+template<typename , typename >
class proxy_dependency_receiver
 
-
The documentation for this struct was generated from the following file:
    -
  • tbb_thread.h
  • +
    The documentation for this class was generated from the following file:
    diff --git a/doc/html/a00167.png b/doc/html/a00167.png index 0324577e724e80dc1c635675c7fc1bf9494f27bb..f0c246f61c1c88275a7fc12e894bcf2469655537 100644 GIT binary patch literal 2153 zcmcJRYg7|w8po56aI01qm3l$Y8cL$v1mq$@qJS|V*Vx4sBveHO3@9lH5~2)ssnSB+ z5Wog&kXY~>g$Pn05)v*)B66*1xg;T=i4ZO!h(JIt*-5+GJ^Q7nA9m-QdEaN|eP-sF zdH(<3nOk8Yxb^1S%^?uTdi*i}2nYm*1>>8hM&Rff`(O^7wuT))5un%W!B9OlpUP;t z4MxB2O-)URTXGxl(DciQ5CQ~DGHk!RJmCU?m@MM`51&YbYKDeVxB`o#ufH6e=7 zurEF4&8rG{)^3?a-}F4?(doyy^3dXY?&yRl^9?S&KcPYq6ckpAzQKvM;%ddk=b5oog_5i0aeWNrWeP2RKqHC%dT>I_-FskRut7!dH?eYg@s`13R zZ;N20oJqn<+Clo-sb!4Q7IV+izo`EK|CpLs=g|5_QZ+ki`*=@S{u$}ISytD_K?6wx zU8RA$(m1x<>(i}t?}Iy@S(e0T>Pd>)c8!3aG2Fd8M#)izTa$bIe7dQ0YuKgp>?qQv z;mYQ|35wwpC`B8~G;OWaFj(_#J@$@No;|vFY%k~fOlsh+t+UImbEuY??^)PC?Bc&V ztV-cW=XAVHxe7C1JP>_96DABagCp*~PIvgKBy$rB8`iYVcLfc`JOb=6)DBHA$s`!g zq62rKMmF1S+P}?x(92#Jr! z^uQA2wlJ72o@0T+8{5N9Cy7@h-&6Thjy1Z2qQV&bt1pCCypno%V(^OdbQaR92Mt_{ zv%+LAtpqW7E*9$ds$75?oM%Ied0Wi=tldnQsM2m$i^cDzoHqczk#p}byo;&tYI|kR z-{M>cHLo;nv-^qPiTRvl;iyn%B5Evd?9;G1M)2&j{cBZuadFE~>9+nz0mr)AbS_G{ zD28>BlZDb-TIk>U1pn5&&5!gM+lM9fLg}vxqeR36QZS60cAvUm8VQh1}0*Bgmo>luo> zL$oKfPx2CV!ojw0h90H)8fmCk@tEtojaHv{ULzPwSxUuM)P2o|C+J*?j-XBI_t;tJ zF{ysuZ97>dknjQrq~~n}64ziuz2FO+u@!Lp5X1Fa1^Fi>-}O9BjQHD6XW|5gDInX!xJd#P2CKFi=rjK#9?|17-2-oOpJb&kVW#2o#Y~ zU~od~{3&D5C+%@ z+w(va8{UcwGSc7$6cBq1{8T<5LLxvXFu-Mjr8>oXS|pt;8u~klQ%(%xA;&?~TX_sP z+2Mt4Mc##2XB7*}u}i-6;y21G!$W2HNa7FRJ)ICAL&Q;Z(Vz>mc)?_n{*YY-N}uj zpJnWYQOP}@@`ogJMmJVw$&*XX zYBV*v6j2${s{|}apZp)bV=UGCk4o-);PV}e57@RtZ8xr4vNVu=T}{xs2Gx@_PYzJK zPmwF!7GGqR|64_f^ao5ofHFT4XXcH<(1G;osae^>8ybIECjr*XaoMOYjGA^z#(nc6 zB(*NB(s_rMZ%=WDZh{Qzb)fd7iM&(cE>~4|se_vn#?ZhBjgVeGH3k9L|U(28Z&#=qJ%}^rc~H|w6yAg&ghCLC29N=YNfiu7B4{{NTm2 zC>WHnpg>SdkYbXbU_>z-Q>}7|Q7QpJNPl6bGxm>mXLk1;-@Nbbn{PIsLHE(q zG1UP8=uv#V`~lEF!Zt%&13oLIq)GTPX6z2|R;g65IXqS8|NJ(L7um21m({S;aJo%`@$t1Ss_EQ$+f5Un=U*~E#hDM(bE^L;vE4ir zV?M#jeAuBN3bzMMPlUXanCk;qm}Sf#8+?8yaj5Z2L_`1SUs!Y04oTvc@^nV#g~9Yv zsmKY!z~x(UtT)e1%(E);{0@r`1yXsZh`PTSRal1|Q+K;hMfB^Hcp*)w`LXCT`G)+fC(NnEler!Dg1HV~{N7vk0_C>D2;uubB zx;IwL-n;3{LVB6v>?5G-9@V3B`0kJO&0J~|p|$)}*;Nm0XMI}Xpr84ZMVB@qDLk@a z_F%r_1*=-@P1_Z!Z|@qa33rv9aBcaJ30|ZQA|Bb%0Ce{oxY4Gs##*4BcJ|lP?r_j0 zA{@XfnbU5t3IY#041oh6mVX}&AdvH5#c8#MOyQuxEfm~bFaeg$Y9qKfKuOf;ohxAm z%>RF3OTtq}zatgbt;v8miyk*a^|D%CIm5H?7&U|YW5r_#h%AV##R2Zj%NjIb>CnT% zgVn}z$Pj23B{0zd^-v8*{wMtY%>;+@ql={L@n)Stug%C>37B1!0$-7mZDb&qRcXYD z@l3R@zuP?}Tv_%$1tz3H&i#7n7x{`H;_w%CO+oD3ts-1f)RE$D{IQ=rn5Z{21` zlZ_?|iA&k2X=jl#gwr**O)Dj{YHP&H{DH*g{kd#Ufi&jMshW`GK>Zh;3+pR}l|J|x zbalARRXKjfq&m|Z+4h(`fh@fEG`4LnPcbyVSI>s;cwqO@(ziazYwKQKsucuw**FiX zO6_LGs^xD5{N;Pk(jJeeuv+xfqXV#>arhFU$_puJ*zD$eqi#@E7g%02Ci#QMA>DAR z{wStdkuN}(@Xk}M^9~ZLF6|RvSQHc$M!$X@Ex`dHxNn4sE(drMyE+yH|Y%}=6 zM}@6RyQZZ1L{t{pQ)QCs-W^x;gw6Yd7IW?kJNdcCZstvB=9YysoK!1T&C-VbZ_Y*r_)wJtigoP0mr4jnKM4*PKy|1Qw*@-> z^0S@xCh6$YP~#44T6CFE<%|6I!|e?3rHga>xK+WGTJwFwX9eVfjqFa6sOLCeiX9L+ zhFJL-VYIsG>|`<<(#px`lRs%soi<*~>WkA?2rP1{T&eyYEEI0SKEV<}Sz?Ob8kf}c zUVDYX9pko?K!nM#E1VkhJ+8j~-61imJvqw{e&S2-f5^!YiP|8GDI_~l57uH6>heEA qa{srGj636tC<5gu`TTeBn1{0#(SuibR|QD*M+zw3bgxDaX7=BA!)Z+b diff --git a/doc/html/a00168.html b/doc/html/a00168.html index eb08103..797ea0a 100644 --- a/doc/html/a00168.html +++ b/doc/html/a00168.html @@ -4,7 +4,7 @@ -tbb::tick_count Class Reference +tbb::flow::interface10::internal::untyped_sender Class Reference @@ -33,61 +33,113 @@
-
tbb::tick_count Class Reference
+
tbb::flow::interface10::internal::untyped_sender Class Referenceabstract
- -

Absolute timestamp. - More...

- -

#include <tick_count.h>

+
+Inheritance diagram for tbb::flow::interface10::internal::untyped_sender:
+
+
+ + +tbb::flow::interface10::sender< T > + +
- - - - + + + + + + + + +

-Classes

class  interval_t
 Relative time interval. More...
 

+Public Types

+typedef untyped_receiver successor_type
 The successor type for this node.
 
+typedef
+internal::edge_container
+< successor_type
built_successors_type
 interface to record edges for traversal & deletion
 
+typedef
+built_successors_type::edge_list_type 
successor_list_type
 
- - - + + + + + + + + + + + + + + + + + + + + + +

Public Member Functions

tick_count ()
 Construct an absolute timestamp initialized to zero.
 
+virtual bool register_successor (successor_type &r)=0
 Add a new successor to this node.
 
+virtual bool remove_successor (successor_type &r)=0
 Removes a successor from this node.
 
+virtual bool try_release ()
 Releases the reserved item.
 
+virtual bool try_consume ()
 Consumes the reserved item.
 
+virtual built_successors_typebuilt_successors ()=0
 
+virtual void internal_add_built_successor (successor_type &)=0
 
+virtual void internal_delete_built_successor (successor_type &)=0
 
+virtual void copy_successors (successor_list_type &)=0
 
+virtual size_t successor_count ()=0
 
- - - - - - - + + + + + + + + + + + + +

-Static Public Member Functions

-static tick_count now ()
 Return current time.
 
-static double resolution ()
 Return the resolution of the clock in seconds per tick.
 

+Protected Member Functions

+template<typename X >
bool try_get (X &t)
 Request an item from the sender.
 
+template<typename X >
bool try_reserve (X &t)
 Reserves an item in the sender.
 
+virtual bool try_get_wrapper (void *p, bool is_async)=0
 
+virtual bool try_reserve_wrapper (void *p, bool is_async)=0
 
- - - + + + + + +

Friends

-interval_t operator- (const tick_count &t1, const tick_count &t0)
 Subtract two timestamps to get the time interval between.
 
+template<typename , typename >
class internal::predecessor_cache
 
+template<typename , typename >
class internal::reservable_predecessor_cache
 
-

Detailed Description

-

Absolute timestamp.

-

The documentation for this class was generated from the following file:
    -
  • tick_count.h
  • +
    The documentation for this class was generated from the following file:

diff --git a/doc/html/a00170.png b/doc/html/a00168.png similarity index 100% rename from doc/html/a00170.png rename to doc/html/a00168.png diff --git a/doc/html/a00169.html b/doc/html/a00169.html index 332bf60..00ba293 100644 --- a/doc/html/a00169.html +++ b/doc/html/a00169.html @@ -4,7 +4,7 @@ -tbb::flow::interface10::internal::untyped_receiver Class Reference +tbb::interface5::internal::use_element_copy_constructor< T, C > Struct Template Reference @@ -33,132 +33,29 @@
-
tbb::flow::interface10::internal::untyped_receiver Class Referenceabstract
+
tbb::interface5::internal::use_element_copy_constructor< T, C > Struct Template Reference
-
-Inheritance diagram for tbb::flow::interface10::internal::untyped_receiver:
-
-
- - -tbb::flow::interface10::receiver< continue_msg > -tbb::flow::interface10::receiver< T > -tbb::flow::interface10::continue_receiver - -
- - - - - - - -

Public Types

-typedef untyped_sender predecessor_type
 The predecessor type for this node.
 
-typedef
-internal::edge_container
-< predecessor_type
built_predecessors_type
 
-typedef
-built_predecessors_type::edge_list_type 
predecessor_list_type
 
- - - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

-virtual ~untyped_receiver ()
 Destructor.
 
-template<typename X >
bool try_put (const X &t)
 Put an item to the receiver.
 
-virtual bool register_predecessor (predecessor_type &)
 Add a predecessor to the node.
 
-virtual bool remove_predecessor (predecessor_type &)
 Remove a predecessor from the node.
 
-virtual built_predecessors_typebuilt_predecessors ()=0
 
-virtual void internal_add_built_predecessor (predecessor_type &)=0
 
-virtual void internal_delete_built_predecessor (predecessor_type &)=0
 
-virtual void copy_predecessors (predecessor_list_type &)=0
 
-virtual size_t predecessor_count ()=0
 
- - - - - - - - - - - - - -

-Protected Member Functions

-template<typename X >
task * try_put_task (const X &t)
 
-virtual task * try_put_task_wrapper (const void *p, bool is_async)=0
 
-virtual graphgraph_reference ()=0
 
-virtual void reset_receiver (reset_flags f=rf_reset_protocol)=0
 put receiver back in initial state
 
-virtual bool is_continue_receiver ()
 
- - - - - - - - - - - - - - - - - - - + + + +

-Friends

-template<typename , typename >
class run_and_put_task
 
-template<typename >
class limiter_node
 
-template<typename , typename >
class internal::broadcast_cache
 
-template<typename , typename >
class internal::round_robin_cache
 
-template<typename , typename >
class internal::successor_cache
 
-template<typename , typename >
class proxy_dependency_receiver
 
+typedef tbb::internal::true_type type
 
+typedef tbb::internal::true_type type
 
-
The documentation for this class was generated from the following file:
    -
  • flow_graph.h
  • +
    The documentation for this struct was generated from the following file:
      +
    • concurrent_priority_queue.h

diff --git a/doc/html/a00169.png b/doc/html/a00169.png deleted file mode 100644 index f0c246f61c1c88275a7fc12e894bcf2469655537..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2153 zcmcJRYg7|w8po56aI01qm3l$Y8cL$v1mq$@qJS|V*Vx4sBveHO3@9lH5~2)ssnSB+ z5Wog&kXY~>g$Pn05)v*)B66*1xg;T=i4ZO!h(JIt*-5+GJ^Q7nA9m-QdEaN|eP-sF zdH(<3nOk8Yxb^1S%^?uTdi*i}2nYm*1>>8hM&Rff`(O^7wuT))5un%W!B9OlpUP;t z4MxB2O-)URTXGxl(DciQ5CQ~DGHk!RJmCU?m@MM`51&YbYKDeVxB`o#ufH6e=7 zurEF4&8rG{)^3?a-}F4?(doyy^3dXY?&yRl^9?S&KcPYq6ckpAzQKvM;%ddk=b5oog_5i0aeWNrWeP2RKqHC%dT>I_-FskRut7!dH?eYg@s`13R zZ;N20oJqn<+Clo-sb!4Q7IV+izo`EK|CpLs=g|5_QZ+ki`*=@S{u$}ISytD_K?6wx zU8RA$(m1x<>(i}t?}Iy@S(e0T>Pd>)c8!3aG2Fd8M#)izTa$bIe7dQ0YuKgp>?qQv z;mYQ|35wwpC`B8~G;OWaFj(_#J@$@No;|vFY%k~fOlsh+t+UImbEuY??^)PC?Bc&V ztV-cW=XAVHxe7C1JP>_96DABagCp*~PIvgKBy$rB8`iYVcLfc`JOb=6)DBHA$s`!g zq62rKMmF1S+P}?x(92#Jr! z^uQA2wlJ72o@0T+8{5N9Cy7@h-&6Thjy1Z2qQV&bt1pCCypno%V(^OdbQaR92Mt_{ zv%+LAtpqW7E*9$ds$75?oM%Ied0Wi=tldnQsM2m$i^cDzoHqczk#p}byo;&tYI|kR z-{M>cHLo;nv-^qPiTRvl;iyn%B5Evd?9;G1M)2&j{cBZuadFE~>9+nz0mr)AbS_G{ zD28>BlZDb-TIk>U1pn5&&5!gM+lM9fLg}vxqeR36QZS60cAvUm8VQh1}0*Bgmo>luo> zL$oKfPx2CV!ojw0h90H)8fmCk@tEtojaHv{ULzPwSxUuM)P2o|C+J*?j-XBI_t;tJ zF{ysuZ97>dknjQrq~~n}64ziuz2FO+u@!Lp5X1Fa1^Fi>-}O9BjQHD6XW|5gDInX!xJd#P2CKFi=rjK#9?|17-2-oOpJb&kVW#2o#Y~ zU~od~{3&D5C+%@ z+w(va8{UcwGSc7$6cBq1{8T<5LLxvXFu-Mjr8>oXS|pt;8u~klQ%(%xA;&?~TX_sP z+2Mt4Mc##2XB7*}u}i-6;y21G!$W2HNa7FRJ)ICAL&Q;Z(Vz>mc)?_n{*YY-N}uj zpJnWYQOP}@@`ogJMmJVw$&*XX zYBV*v6j2${s{|}apZp)bV=UGCk4o-);PV}e57@RtZ8xr4vNVu=T}{xs2Gx@_PYzJK zPmwF!7GGqR|64_f^ao5ofHFT4XXcH<(1G;osae^>8ybIECjr*XaoMOYjGA^z#(nc6 zB(*NB(s_rMZ%=WDZh{Qzb)fd7iM&(cE>~4|se_vn#?ZhBjgVeGH3k9L|U(28Z&#=qJ%}^r -tbb::flow::interface10::internal::untyped_sender Class Reference +tbb::interface5::internal::use_element_copy_constructor< T, false > Struct Template Reference @@ -33,113 +33,26 @@
-
tbb::flow::interface10::internal::untyped_sender Class Referenceabstract
+
tbb::interface5::internal::use_element_copy_constructor< T, false > Struct Template Reference
-
-Inheritance diagram for tbb::flow::interface10::internal::untyped_sender:
-
-
- - -tbb::flow::interface10::sender< T > - -
- - - - - - - - -

Public Types

-typedef untyped_receiver successor_type
 The successor type for this node.
 
-typedef
-internal::edge_container
-< successor_type
built_successors_type
 interface to record edges for traversal & deletion
 
-typedef
-built_successors_type::edge_list_type 
successor_list_type
 
- - - - - - - - - - - - - - - - - - - - - - - -

-Public Member Functions

-virtual bool register_successor (successor_type &r)=0
 Add a new successor to this node.
 
-virtual bool remove_successor (successor_type &r)=0
 Removes a successor from this node.
 
-virtual bool try_release ()
 Releases the reserved item.
 
-virtual bool try_consume ()
 Consumes the reserved item.
 
-virtual built_successors_typebuilt_successors ()=0
 
-virtual void internal_add_built_successor (successor_type &)=0
 
-virtual void internal_delete_built_successor (successor_type &)=0
 
-virtual void copy_successors (successor_list_type &)=0
 
-virtual size_t successor_count ()=0
 
- - - - - - - - - - - - - -

-Protected Member Functions

-template<typename X >
bool try_get (X &t)
 Request an item from the sender.
 
-template<typename X >
bool try_reserve (X &t)
 Reserves an item in the sender.
 
-virtual bool try_get_wrapper (void *p, bool is_async)=0
 
-virtual bool try_reserve_wrapper (void *p, bool is_async)=0
 
- - - - - - - + +

-Friends

-template<typename , typename >
class internal::predecessor_cache
 
-template<typename , typename >
class internal::reservable_predecessor_cache
 
+typedef tbb::internal::false_type type
 
-
The documentation for this class was generated from the following file:
    -
  • flow_graph.h
  • +
    The documentation for this struct was generated from the following file:
      +
    • concurrent_priority_queue.h

diff --git a/doc/html/a00171.html b/doc/html/a00171.html index 6d57fb0..6577d54 100644 --- a/doc/html/a00171.html +++ b/doc/html/a00171.html @@ -4,7 +4,7 @@ -tbb::interface5::internal::use_element_copy_constructor< T, C > Struct Template Reference +tbb::user_abort Class Reference @@ -33,29 +33,41 @@
-
tbb::interface5::internal::use_element_copy_constructor< T, C > Struct Template Reference
+
tbb::user_abort Class Reference
+ +

Exception for user-initiated abort. + More...

+ +

#include <tbb_exception.h>

+
+Inheritance diagram for tbb::user_abort:
+
+
+ + + +
- - - - - + + +

-Public Types

-typedef tbb::internal::true_type type
 
-typedef tbb::internal::true_type type
 

+Public Member Functions

+const char * what () const __TBB_override throw ()
 
-
The documentation for this struct was generated from the following file:
    -
  • concurrent_priority_queue.h
  • +

    Detailed Description

    +

    Exception for user-initiated abort.

    +

    The documentation for this class was generated from the following file:
      +
    • tbb_exception.h

diff --git a/doc/html/a00171.png b/doc/html/a00171.png new file mode 100644 index 0000000000000000000000000000000000000000..a1f23345c2fa666d8d20a82a156062980529dae0 GIT binary patch literal 468 zcmeAS@N?(olHy`uVBq!ia0vp^2|ygc!3-oX+B7T&QW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;(_kWU+81WOu9aPcm*PF0pg1wGLX}H&YA&*Ov?M;^sURHT*vF}Xt z)Qxub_hNh|MfI_4&D#4XVbXpeN6L@oYrC&zZ~AdvPu}*XkLyLR+|cK&S-nH_$ZmB{ z-j8Cw?KKa1^0@tWXYBc@w@Y`zlG=BoHA@{Pt-H)RN#qk}( z2Ru7(x`g|mqj)K!gO4~vO9`Wc2MTpUoD1YqhEFe;8YZ0QJhj1&@lMk6w3%<6n{I7* z`i*1lPg8?`_2;s_ZEbrt%QUg-*184jlH{g^Zq>K8Pgol%#JBB4YOdN1J@$g@#Vfsc zY0NOokJ=%A<-%{K`>b&r)>;bZoO__TXSXYR`Udrk-5KZBOZraE+4jQlWU$k1R|d&F uS~KjwF)04c<`THX%Aol5a8}y1qx{Sa7XMyw_mu&ofWgz%&t;ucLK6U>hr>?* literal 0 HcmV?d00001 diff --git a/doc/html/a00172.html b/doc/html/a00172.html index b675417..1d104d1 100644 --- a/doc/html/a00172.html +++ b/doc/html/a00172.html @@ -4,7 +4,7 @@ -tbb::interface5::internal::use_element_copy_constructor< T, false > Struct Template Reference +tbb::zero_allocator< T, Allocator > Class Template Reference @@ -33,26 +33,93 @@
-
tbb::interface5::internal::use_element_copy_constructor< T, false > Struct Template Reference
+
tbb::zero_allocator< T, Allocator > Class Template Reference
+ +

Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. + More...

+ +

#include <tbb_allocator.h>

+
+Inheritance diagram for tbb::zero_allocator< T, Allocator >:
+
+
+ + + +
+ + + +

+Classes

struct  rebind
 
- - + + + + + + + + + + + + + + + + +

Public Types

-typedef tbb::internal::false_type type
 
+typedef Allocator< T > base_allocator_type
 
+typedef
+base_allocator_type::value_type 
value_type
 
+typedef
+base_allocator_type::pointer 
pointer
 
+typedef
+base_allocator_type::const_pointer 
const_pointer
 
+typedef
+base_allocator_type::reference 
reference
 
+typedef
+base_allocator_type::const_reference 
const_reference
 
+typedef
+base_allocator_type::size_type 
size_type
 
+typedef
+base_allocator_type::difference_type 
difference_type
 
+ + + + + + + +

+Public Member Functions

zero_allocator (const zero_allocator &a) throw ()
 
+template<typename U >
 zero_allocator (const zero_allocator< U > &a) throw ()
 
+pointer allocate (const size_type n, const void *hint=0)
 
-
The documentation for this struct was generated from the following file:
    -
  • concurrent_priority_queue.h
  • +

    Detailed Description

    +

    template<typename T, template< typename X > class Allocator = tbb_allocator>
    +class tbb::zero_allocator< T, Allocator >

    + +

    Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.

    +

    The class is an adapter over an actual allocator that fills the allocation using memset function with template argument C as the value. The members are ordered the same way they are in section 20.4.1 of the ISO C++ standard.

    +

    The documentation for this class was generated from the following file:
      +
    • tbb_allocator.h

diff --git a/doc/html/a00174.png b/doc/html/a00172.png similarity index 100% rename from doc/html/a00174.png rename to doc/html/a00172.png diff --git a/doc/html/a00173.html b/doc/html/a00173.html index 1d21806..0907a0d 100644 --- a/doc/html/a00173.html +++ b/doc/html/a00173.html @@ -4,7 +4,7 @@ -tbb::user_abort Class Reference +tbb::zero_allocator< void, Allocator > Class Template Reference @@ -33,41 +33,62 @@
-
tbb::user_abort Class Reference
+
tbb::zero_allocator< void, Allocator > Class Template Reference
-

Exception for user-initiated abort. +

Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...

-

#include <tbb_exception.h>

+

#include <tbb_allocator.h>

-Inheritance diagram for tbb::user_abort:
+Inheritance diagram for tbb::zero_allocator< void, Allocator >:
- - + +
- - - + + + +

-Public Member Functions

-const char * what () const __TBB_override throw ()
 

+Classes

struct  rebind
 
+ + + + + + + + +

+Public Types

+typedef Allocator< void > base_allocator_type
 
+typedef
+base_allocator_type::value_type 
value_type
 
+typedef
+base_allocator_type::pointer 
pointer
 
+typedef
+base_allocator_type::const_pointer 
const_pointer
 

Detailed Description

-

Exception for user-initiated abort.

+

template<template< typename T > class Allocator>
+class tbb::zero_allocator< void, Allocator >

+ +

Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.


The documentation for this class was generated from the following file:
    -
  • tbb_exception.h
  • +
  • tbb_allocator.h

diff --git a/doc/html/a00173.png b/doc/html/a00173.png index a1f23345c2fa666d8d20a82a156062980529dae0..f97e606d73f34771792a992f3bb005438d9cd609 100644 GIT binary patch delta 634 zcmcb@yqs0BGr-TCmrII^fq{Y7)59eQNIwAL01jp#X>QrMY@(u7J(HQIi(^OyTj&Vu7;Duks2ej%xzMCx3YQgZ~`DJFGTGfP^CATKn9(XUfpY4qI3&sr_U0*Lb z&zQfVsrJA(NgI`Yp(}RJJIJ*m&~^I$JzcA^KHgn*E_XH1LA|04t5(fJ5MQMkTwT<} z4%lC1PDne;_oKqc&%*k_A#?MGUm5~k8Edo|7;V6~9>%~=yLq{!q$x6d)`BX_W{;8D z&0OJaCbi%~>h5n}UOs>R&zvde*!rKf{4?StPCxyrFa4!v@{)JDReQHHcqee5mf9_I z{;<_0o4PbR=9Tjgfl~}ViGxkh=nSEeied`aQg4;aXy0exS9o@|GY2DuSr}ldW>?&uB{>Of#yP@~0 z&HY7Z_q-OZ;hZsl;_83t+7WXOW^u7_)fTZyt3P>A$ot{U{$jS*TD#7MhXw9FzbZp( zUBFqb>1RGYY^Yt^A|7gT-;nj_?tgDjaeb&aHCXP?IDh&6H4+TTCYQd=)8;VnVB~lZ i3Bvms16)#){xUj8w>N%F_38p9Ck9VfKbLh*2~7ZjU=u_D delta 421 zcmZ3^dWBiBGr-TCmrII^fq{Y7)59eQNGAYs00%RWylB&~e4?UNJ!7(`i(^Oy30Y~lJf-}e{#p6M@ea0p7Z>b2Hk3;lF#TU+{>Ge!qhH2d`?ESX@hqfr{}bzjKi zl4N_+rGuAM9$V}?(>!&fo&CKSpGi@DEL*eo{z;g$AIOpNWBJIC)ZkzJxvXzn+n&ubtxl}EwQj+>B)Ms!TlKB&6V^rw z@ohVinyYq0kGcgDH( zlD?C3w!JVs8SHf1l|gck)(rb^42plVxdbk;GAMpMoRv21C_giU#lIKaePzIqXYh3O Kb6Mw<&;$TvJg#{F diff --git a/doc/html/a00174.html b/doc/html/a00174.html deleted file mode 100644 index 60ae9c2..0000000 --- a/doc/html/a00174.html +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - -tbb::zero_allocator< T, Allocator > Class Template Reference - - - - - - - -
- -
-
tbb::zero_allocator< T, Allocator > Class Template Reference
-
-
- -

Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. - More...

- -

#include <tbb_allocator.h>

-
-Inheritance diagram for tbb::zero_allocator< T, Allocator >:
-
-
- - - -
- - - - -

-Classes

struct  rebind
 
- - - - - - - - - - - - - - - - - -

-Public Types

-typedef Allocator< T > base_allocator_type
 
-typedef
-base_allocator_type::value_type 
value_type
 
-typedef
-base_allocator_type::pointer 
pointer
 
-typedef
-base_allocator_type::const_pointer 
const_pointer
 
-typedef
-base_allocator_type::reference 
reference
 
-typedef
-base_allocator_type::const_reference 
const_reference
 
-typedef
-base_allocator_type::size_type 
size_type
 
-typedef
-base_allocator_type::difference_type 
difference_type
 
- - - - - - - - -

-Public Member Functions

zero_allocator (const zero_allocator &a) throw ()
 
-template<typename U >
 zero_allocator (const zero_allocator< U > &a) throw ()
 
-pointer allocate (const size_type n, const void *hint=0)
 
-

Detailed Description

-

template<typename T, template< typename X > class Allocator = tbb_allocator>
-class tbb::zero_allocator< T, Allocator >

- -

Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5.

-

The class is an adapter over an actual allocator that fills the allocation using memset function with template argument C as the value. The members are ordered the same way they are in section 20.4.1 of the ISO C++ standard.

-

The documentation for this class was generated from the following file:
    -
  • tbb_allocator.h
  • -
-
-
-

-Copyright © 2005-2017 Intel Corporation. All Rights Reserved. -

-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. -

-* Other names and brands may be claimed as the property of others. diff --git a/doc/html/a00175.html b/doc/html/a00175.html deleted file mode 100644 index 95a88ef..0000000 --- a/doc/html/a00175.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - - -tbb::zero_allocator< void, Allocator > Class Template Reference - - - - - - - -
- -
-
tbb::zero_allocator< void, Allocator > Class Template Reference
-
-
- -

Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. - More...

- -

#include <tbb_allocator.h>

-
-Inheritance diagram for tbb::zero_allocator< void, Allocator >:
-
-
- - - -
- - - - -

-Classes

struct  rebind
 
- - - - - - - - - -

-Public Types

-typedef Allocator< void > base_allocator_type
 
-typedef
-base_allocator_type::value_type 
value_type
 
-typedef
-base_allocator_type::pointer 
pointer
 
-typedef
-base_allocator_type::const_pointer 
const_pointer
 
-

Detailed Description

-

template<template< typename T > class Allocator>
-class tbb::zero_allocator< void, Allocator >

- -

Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1.

-

The documentation for this class was generated from the following file:
    -
  • tbb_allocator.h
  • -
-
-
-

-Copyright © 2005-2017 Intel Corporation. All Rights Reserved. -

-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. -

-* Other names and brands may be claimed as the property of others. diff --git a/doc/html/a00175.png b/doc/html/a00175.png deleted file mode 100644 index f97e606d73f34771792a992f3bb005438d9cd609..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 679 zcmeAS@N?(olHy`uVBq!ia0vp^4}ds;gBeJgTXrr3QW60^A+G=b{|7Q(y!l$%e`o@b z1;z&s9ANFdBM;yA2;j&|Hq|W zQVtuorIzzf_FI2LF{X&+k+zbOF?V3-+;GMft6oKd31x=Khl}1u#?DLPmHBywox#g1 zgXKZ{$5pFrdD&y`*_@A$OrCDLBVl9W%XeuF)k(*0WNi8(Tw%G3W6L?lCG~eQH$`W|rKVV0+-b;C{9<-Y*z8Y;=9S;6FXpkl{q2pEZ>g`A3qE0 z2ZzkfAAV^FbY-m3W?-}-0lRs*q@*b_eAa?$%Vv*}+Ra?yZ6>wgLh9~sUtT_c{?D8# z=h*t6wfr;UBu+p5sW1JdX7ZAEx>b9(Gk7O(pO)G!bN;Z^C7Zf5JLa0p|2H(9Ov_&N zcH_DI_r)!vYF3|YkG{;OGjCpR&GG#PE4ROBWN2LW>Tjgfl~}ViGxkh=nSEeied`aQ zg4;aXy0exS9o@|GY2DuSr}ldW>?&uB{>Of#yP@~0&HY7Z_q-OZ;hZsl;_83t+7WXO zW^u7_)fTZyt3P>A$ot{U{$jS*TD#7MhXw9FzbZp(-C3>aXFfe_s9oD49%^#mkoD;9 ze{WB5eW*7zSnkg_fBF735)8>Em%h!@<}mPJH?-J N22WQ%mvv4FO#r(vCr1DP diff --git a/doc/html/a00193.html b/doc/html/a00191.html similarity index 65% rename from doc/html/a00193.html rename to doc/html/a00191.html index 140921c..7a9ed0f 100644 --- a/doc/html/a00193.html +++ b/doc/html/a00191.html @@ -41,8 +41,7 @@ Namespaces | Constant Groups | Enumerations | -Functions | -Variables +Functions
flow_graph.h File Reference
@@ -53,38 +52,34 @@ - + + - + + - + + - + + - + - + - - + - - + - - + - + - + - - - - - @@ -93,21 +88,21 @@ Classes - + - + - - + + - - + + - - + + - - + + @@ -115,14 +110,14 @@ Classes

Classes

class  tbb::flow::interface10::internal::successor_cache< T, M >
struct  tbb::flow::interface10::null_type
 A generic null type. More...
 
class  tbb::flow::interface10::internal::broadcast_cache< T, M >
class  tbb::flow::interface10::continue_msg
 An empty class used for messages that mean "I'm done". More...
 
class  tbb::flow::interface10::internal::round_robin_cache< T, M >
class  tbb::flow::interface10::sender< T >
 Forward declaration section. More...
 
class  tbb::flow::interface10::internal::predecessor_cache< T, M >
class  tbb::flow::interface10::receiver< T >
 Pure virtual template class that defines a receiver of messages of type T. More...
 
class  tbb::flow::interface10::internal::reservable_predecessor_cache< T, M >
class  tbb::flow::interface10::limiter_node< T >
 
struct  tbb::flow::interface10::null_type
class  tbb::flow::interface10::run_and_put_task< R, B >
 
class  tbb::flow::interface10::continue_msg
 An empty class used for messages that mean "I'm done". More...
class  tbb::flow::interface10::internal::successor_cache< T, M >
 
class  tbb::flow::interface10::sender< T >
 Pure virtual template class that defines a sender of messages of type T. More...
class  tbb::flow::interface10::internal::broadcast_cache< T, M >
 
class  tbb::flow::interface10::receiver< T >
 Pure virtual template class that defines a receiver of messages of type T. More...
class  tbb::flow::interface10::internal::round_robin_cache< T, M >
 
class  tbb::flow::interface10::limiter_node< T >
class  tbb::flow::interface10::internal::predecessor_cache< T, M >
 
class  tbb::flow::interface10::run_and_put_task< R, B >
class  tbb::flow::interface10::internal::reservable_predecessor_cache< T, M >
 
class  tbb::flow::interface10::internal::edge_container< C >
 
class  tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >
 
class  tbb::flow::interface10::graph
 The graph class. More...
 
class  tbb::flow::interface10::async_msg< T >
 
class  tbb::flow::interface10::internal::async_storage< T >
 
struct  tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >
 
class  tbb::flow::interface10::internal::untyped_sender
class  tbb::flow::interface10::internal::untyped_sender
 
class  tbb::flow::interface10::internal::untyped_receiver
class  tbb::flow::interface10::internal::untyped_receiver
 
class  tbb::flow::interface10::sender< T >
 Pure virtual template class that defines a sender of messages of type T. More...
class  tbb::flow::interface10::sender< T >
 Forward declaration section. More...
 
class  tbb::flow::interface10::receiver< T >
 Pure virtual template class that defines a receiver of messages of type T. More...
class  tbb::flow::interface10::receiver< T >
 Pure virtual template class that defines a receiver of messages of type T. More...
 
class  tbb::flow::interface10::sender< T >
 Pure virtual template class that defines a sender of messages of type T. More...
class  tbb::flow::interface10::sender< T >
 Forward declaration section. More...
 
class  tbb::flow::interface10::receiver< T >
 Pure virtual template class that defines a receiver of messages of type T. More...
class  tbb::flow::interface10::receiver< T >
 Pure virtual template class that defines a receiver of messages of type T. More...
 
class  tbb::flow::interface10::continue_receiver
 Base class for receivers of completion messages. More...
- - + +

Namespaces

 tbb
 The namespace tbb contains all components of the library.
 tbb
 The graph class.
 
- - + +

Constant Groups

 tbb
 The namespace tbb contains all components of the library.
 tbb
 The graph class.
 
} - -

@@ -132,35 +127,9 @@ Enumerations

 An enumeration the provides the two most common concurrency levels: unlimited and serial.
 
enum  reset_flags { rf_reset_protocol = 0, -rf_reset_bodies = 1<<0, -rf_clear_edges = 1<<1 - }
 
- - - - - - - - - - - - - - - @@ -168,12 +137,6 @@ static tbb::task *  -

Functions

-void tbb::flow::interface10::internal::activate_graph (graph &g)
 
-void tbb::flow::interface10::internal::deactivate_graph (graph &g)
 
-bool tbb::flow::interface10::internal::is_graph_active (graph &g)
 
-void tbb::flow::interface10::internal::spawn_in_graph_arena (graph &g, tbb::task &arena_task)
 Spawns a task inside graph arena.
 
-void tbb::flow::interface10::internal::add_task_to_graph_reset_list (graph &g, task *tp)
 
-template<typename F >
void tbb::flow::interface10::internal::execute_in_graph_arena (graph &g, F &f)
 Executes custom functor inside graph arena.
 
static tbb::task * tbb::flow::interface10::combine_tasks (graph &g, tbb::task *left, tbb::task *right)
 
tbb::fl template<typename K , typename T >
tbb::flow::key_from_message (const T &t)
 
- - -

-Variables

-static tbb::task *const tbb::flow::internal::SUCCESSFULLY_ENQUEUED = (task *)-1
 

Detailed Description

The graph related classes and functions.

diff --git a/doc/html/a00198.html b/doc/html/a00196.html similarity index 87% rename from doc/html/a00198.html rename to doc/html/a00196.html index 1886f00..4096fd8 100644 --- a/doc/html/a00198.html +++ b/doc/html/a00196.html @@ -48,32 +48,32 @@ - - + + - + - - + + - + - - + +

Classes

class  tbb::interface6::memory_pool_allocator< T, P >
 Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. More...
class  tbb::interface6::memory_pool_allocator< T, P >
 Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. More...
 
struct  tbb::interface6::memory_pool_allocator< T, P >::rebind< U >
struct  tbb::interface6::memory_pool_allocator< T, P >::rebind< U >
 
class  tbb::interface6::memory_pool_allocator< void, P >
 Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...
class  tbb::interface6::memory_pool_allocator< void, P >
 Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...
 
struct  tbb::interface6::memory_pool_allocator< void, P >::rebind< U >
struct  tbb::interface6::memory_pool_allocator< void, P >::rebind< U >
 
class  tbb::interface6::memory_pool< Alloc >
 Thread-safe growable pool allocator for variable-size requests. More...
class  tbb::interface6::memory_pool< Alloc >
 Thread-safe growable pool allocator for variable-size requests. More...
 
class  tbb::interface6::fixed_pool
 
- - + +

Namespaces

 tbb
 The namespace tbb contains all components of the library.
 tbb
 The graph class.
 
- - + +

Constant Groups

 tbb
 The namespace tbb contains all components of the library.
 tbb
 The graph class.
 
- - + + - + @@ -114,13 +114,13 @@ - - - - + + + + - - + + @@ -128,135 +128,132 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + +

diff --git a/doc/html/a00217.html b/doc/html/a00215.html similarity index 89% rename from doc/html/a00217.html rename to doc/html/a00215.html index 73c7991..99d1c47 100644 --- a/doc/html/a00217.html +++ b/doc/html/a00215.html @@ -50,35 +50,35 @@ - + - - + + - + - - + + - +

Classes

struct  rml::MemPoolPolicy
struct  rml::MemPoolPolicy
 
class  tbb::scalable_allocator< T >
 Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. More...
class  tbb::scalable_allocator< T >
 Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. More...
 
struct  tbb::scalable_allocator< T >::rebind< U >
struct  tbb::scalable_allocator< T >::rebind< U >
 
class  tbb::scalable_allocator< void >
 Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...
class  tbb::scalable_allocator< void >
 Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...
 
struct  tbb::scalable_allocator< void >::rebind< U >
struct  tbb::scalable_allocator< void >::rebind< U >
 
- - + + - - + +

Namespaces

 rml
 The namespace rml contains components of low-level memory pool interface.
 rml
 The namespace rml contains components of low-level memory pool interface.
 
 tbb
 The namespace tbb contains all components of the library.
 tbb
 The graph class.
 
- - + + - - + +

Constant Groups

 rml
 The namespace rml contains components of low-level memory pool interface.
 rml
 The namespace rml contains components of low-level memory pool interface.
 
 tbb
 The namespace tbb contains all components of the library.
 tbb
 The graph class.
 

@@ -124,27 +124,27 @@ Enumerations

- + - + - + - + - + - + - + - + - + - + - + diff --git a/doc/html/a00236.html b/doc/html/a00234.html similarity index 98% rename from doc/html/a00236.html rename to doc/html/a00234.html index 970c6f6..d13f6ec 100644 --- a/doc/html/a00236.html +++ b/doc/html/a00234.html @@ -47,7 +47,7 @@

Functions

void *__TBB_EXPORTED_FUNC scalable_malloc (size_t size)
void *__TBB_EXPORTED_FUNC scalable_malloc (size_t size)
 
void __TBB_EXPORTED_FUNC scalable_free (void *ptr)
void __TBB_EXPORTED_FUNC scalable_free (void *ptr)
 
void *__TBB_EXPORTED_FUNC scalable_realloc (void *ptr, size_t size)
void *__TBB_EXPORTED_FUNC scalable_realloc (void *ptr, size_t size)
 
void *__TBB_EXPORTED_FUNC scalable_calloc (size_t nobj, size_t size)
void *__TBB_EXPORTED_FUNC scalable_calloc (size_t nobj, size_t size)
 
int __TBB_EXPORTED_FUNC scalable_posix_memalign (void **memptr, size_t alignment, size_t size)
int __TBB_EXPORTED_FUNC scalable_posix_memalign (void **memptr, size_t alignment, size_t size)
 
void *__TBB_EXPORTED_FUNC scalable_aligned_malloc (size_t size, size_t alignment)
void *__TBB_EXPORTED_FUNC scalable_aligned_malloc (size_t size, size_t alignment)
 
void *__TBB_EXPORTED_FUNC scalable_aligned_realloc (void *ptr, size_t size, size_t alignment)
void *__TBB_EXPORTED_FUNC scalable_aligned_realloc (void *ptr, size_t size, size_t alignment)
 
void __TBB_EXPORTED_FUNC scalable_aligned_free (void *ptr)
void __TBB_EXPORTED_FUNC scalable_aligned_free (void *ptr)
 
size_t __TBB_EXPORTED_FUNC scalable_msize (void *ptr)
size_t __TBB_EXPORTED_FUNC scalable_msize (void *ptr)
 
int __TBB_EXPORTED_FUNC scalable_allocation_mode (int param, intptr_t value)
int __TBB_EXPORTED_FUNC scalable_allocation_mode (int param, intptr_t value)
 
int __TBB_EXPORTED_FUNC scalable_allocation_command (int cmd, void *param)
int __TBB_EXPORTED_FUNC scalable_allocation_command (int cmd, void *param)
 
MemPoolError rml::pool_create_v1 (intptr_t pool_id, const MemPoolPolicy *policy, rml::MemoryPool **pool)
- +

Classes

struct  MemPoolPolicy
struct  MemPoolPolicy
 
+MemPoolError  diff --git a/doc/html/a00239.html b/doc/html/a00237.html similarity index 79% rename from doc/html/a00239.html rename to doc/html/a00237.html index df843ee..3a7b77b 100644 --- a/doc/html/a00239.html +++ b/doc/html/a00237.html @@ -42,7 +42,7 @@
-

The namespace tbb contains all components of the library. +

The graph class. More...

@@ -75,7 +75,7 @@ Enumerations

Functions

-MemPoolError pool_create_v1 (intptr_t pool_id, const MemPoolPolicy *policy, rml::MemoryPool **pool)
pool_create_v1 (intptr_t pool_id, const MemPoolPolicy *policy, rml::MemoryPool **pool)
 
bool pool_destroy (MemoryPool *memPool)
- - + + - - + + - - + + - + - - + + - - + + - - + + - - + + - - + + - - + + - + - - + + - - + + - - + + - - + + - + - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + +

@@ -80,102 +80,102 @@ Classes

class  concurrent_vector
 Concurrent vector container. More...
 
class  mutex
 Wrapper around the platform's native lock. More...
class  mutex
 Wrapper around the platform's native lock. More...
 
class  null_mutex
 A mutex which does nothing. More...
class  null_mutex
 A mutex which does nothing. More...
 
class  null_rw_mutex
 A rw mutex which does nothing. More...
class  null_rw_mutex
 A rw mutex which does nothing. More...
 
struct  task_group_context
struct  task_group_context
 
struct  pre_scan_tag
 Used to indicate that the initial scan is being performed. More...
struct  pre_scan_tag
 Used to indicate that the initial scan is being performed. More...
 
struct  final_scan_tag
 Used to indicate that the final scan is being performed. More...
 
class  parallel_while
 Parallel iteration over a stream, with optional addition of more work. More...
class  parallel_while
 Parallel iteration over a stream, with optional addition of more work. More...
 
class  filter
 A stage in a pipeline. More...
 
class  thread_bound_filter
 A stage in a pipeline served by a user thread. More...
class  thread_bound_filter
 A stage in a pipeline served by a user thread. More...
 
class  pipeline
 A processing pipeline that applies filters to items. More...
class  pipeline
 A processing pipeline that applies filters to items. More...
 
class  queuing_mutex
 Queuing mutex with local-only spinning. More...
class  queuing_mutex
 Queuing mutex with local-only spinning. More...
 
class  queuing_rw_mutex
 Queuing reader-writer mutex with local-only spinning. More...
class  queuing_rw_mutex
 Queuing reader-writer mutex with local-only spinning. More...
 
class  recursive_mutex
class  recursive_mutex
 
class  scalable_allocator
 Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. More...
class  scalable_allocator
 Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. More...
 
class  scalable_allocator< void >
 Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...
class  scalable_allocator< void >
 Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...
 
class  spin_mutex
 A lock that occupies a single byte. More...
class  spin_mutex
 A lock that occupies a single byte. More...
 
class  spin_rw_mutex_v3
 Fast, unfair, spinning reader-writer lock with backoff and writer-preference. More...
class  spin_rw_mutex_v3
 Fast, unfair, spinning reader-writer lock with backoff and writer-preference. More...
 
class  task_handle
class  task_handle
 
class  task_group
class  task_group
 
class  structured_task_group
class  structured_task_group
 
class  task_scheduler_init
 Class delimiting the scope of task scheduler activity. More...
class  task_scheduler_init
 Class delimiting the scope of task scheduler activity. More...
 
class  tbb_allocator
 Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. More...
class  tbb_allocator
 Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. More...
 
class  tbb_allocator< void >
 Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...
class  tbb_allocator< void >
 Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...
 
class  zero_allocator
 Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. More...
class  zero_allocator
 Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. More...
 
class  zero_allocator< void, Allocator >
 Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...
class  zero_allocator< void, Allocator >
 Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...
 
class  bad_last_alloc
 Exception for concurrent containers. More...
 
class  improper_lock
 Exception for PPL locks. More...
class  improper_lock
 Exception for PPL locks. More...
 
class  user_abort
 Exception for user-initiated abort. More...
class  user_abort
 Exception for user-initiated abort. More...
 
class  missing_wait
 Exception for missing wait on structured_task_group. More...
class  missing_wait
 Exception for missing wait on structured_task_group. More...
 
class  invalid_multiple_scheduling
 Exception for repeated scheduling of the same task_handle. More...
class  invalid_multiple_scheduling
 Exception for repeated scheduling of the same task_handle. More...
 
class  tbb_exception
 Interface to be implemented by all exceptions TBB recognizes and propagates across the threads. More...
class  tbb_exception
 Interface to be implemented by all exceptions TBB recognizes and propagates across the threads. More...
 
class  captured_exception
 This class is used by TBB to propagate information about unhandled exceptions into the root thread. More...
 
class  movable_exception
 Template that can be used to implement exception that transfers arbitrary ExceptionData to the root thread. More...
class  movable_exception
 Template that can be used to implement exception that transfers arbitrary ExceptionData to the root thread. More...
 
class  tick_count
 Absolute timestamp. More...
class  tick_count
 Absolute timestamp. More...
 
- +false >  + +typedef spin_rw_mutex_v3  +tbb::internal::task_scheduler_observer_v3  +typedef internal::tbb_thread_v3 

@@ -187,34 +187,34 @@ typedef

typedef
interface7::internal::padded_mutex
< interface7::internal::x86_eliding_mutex,
-false > 
speculative_spin_mutex
 A cross-platform spin mutex with speculative lock acquisition. More...
speculative_spin_mutex
 A cross-platform spin mutex with speculative lock acquisition. More...
 
-typedef spin_rw_mutex_v3 spin_rw_mutex
spin_rw_mutex
 
typedef std::size_t stack_size_type
 
typedef
-tbb::internal::task_scheduler_observer_v3 
task_scheduler_observer
task_scheduler_observer
 
-typedef internal::tbb_thread_v3 tbb_thread
tbb_thread
 Users reference thread class by name tbb_thread.
 
- - + - @@ -228,10 +228,10 @@ Enumerations +  +size_t  - + - + - - + - + - + - + - + - + +void  +void  +tick_count::interval_t  - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + - + - + - - + + - + - + - + - + - + - + - + - + - + @@ -490,149 +490,194 @@ template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + + + + - - + + + + + + + + + + - - + + + + + + + + + + - - + + + + + + + + + + - - + + - - + + - - + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + +

Enumerations

enum  memory_semantics { full_fence, -acquire, -release, -relaxed +
enum  memory_semantics { full_fence, +acquire, +release, +relaxed }
 Specifies memory semantics. More...
 Specifies memory semantics. More...
 
enum  ets_key_usage_type { ets_key_per_instance, +
enum  ets_key_usage_type { ets_key_per_instance, ets_no_key }
 enum for selecting between single key and key-per-instance versions

Functions

__TBB_DECL_ATOMIC (__TBB_LONG_LONG) __TBB_DECL_ATOMIC(unsigned __TBB_LONG_LONG) __TBB_DECL_ATOMIC(long) __TBB_DECL_ATOMIC(unsigned long) __TBB_DECL_ATOMIC_ALT(unsigned
__TBB_DECL_ATOMIC (__TBB_LONG_LONG) __TBB_DECL_ATOMIC(unsigned __TBB_LONG_LONG) __TBB_DECL_ATOMIC(long) __TBB_DECL_ATOMIC(unsigned long) __TBB_DECL_ATOMIC_ALT(unsigned
 
-size_t __TBB_DECL_ATOMIC_ALT (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 * >
__TBB_DECL_ATOMIC_ALT (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 * >
 Specialization for atomic<T*> with arithmetic and operator->.
 
@@ -292,163 +292,163 @@ template<typename T , class A >
 
template<typename T , typename U >
bool operator== (const scalable_allocator< T > &, const scalable_allocator< U > &)
bool operator== (const scalable_allocator< T > &, const scalable_allocator< U > &)
 
template<typename T , typename U >
bool operator!= (const scalable_allocator< T > &, const scalable_allocator< U > &)
bool operator!= (const scalable_allocator< T > &, const scalable_allocator< U > &)
 
bool is_current_task_group_canceling ()
 
template<class F >
task_handle< typename
+
task_handle< typename
internal::strip< F >::type > 
make_task (F &&f)
 
template<class F >
task_handle< F > make_task (const F &f)
task_handle< F > make_task (const F &f)
 
template<typename T , typename U >
bool operator== (const tbb_allocator< T > &, const tbb_allocator< U > &)
bool operator== (const tbb_allocator< T > &, const tbb_allocator< U > &)
 
template<typename T , typename U >
bool operator!= (const tbb_allocator< T > &, const tbb_allocator< U > &)
bool operator!= (const tbb_allocator< T > &, const tbb_allocator< U > &)
 
template<typename T1 , template< typename X1 > class B1, typename T2 , template< typename X2 > class B2>
bool operator== (const zero_allocator< T1, B1 > &a, const zero_allocator< T2, B2 > &b)
bool operator== (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>
bool operator!= (const zero_allocator< T1, B1 > &a, const zero_allocator< T2, B2 > &b)
bool operator!= (const zero_allocator< T1, B1 > &a, const zero_allocator< T2, B2 > &b)
 
int __TBB_EXPORTED_FUNC TBB_runtime_interface_version ()
int __TBB_EXPORTED_FUNC TBB_runtime_interface_version ()
 The function returns the interface version of the TBB shared library being used. More...
 
-void swap (internal::tbb_thread_v3 &t1, internal::tbb_thread_v3 &t2) __TBB_NOEXCEPT(true)
swap (internal::tbb_thread_v3 &t1, internal::tbb_thread_v3 &t2) __TBB_NOEXCEPT(true)
 
-void move (tbb_thread &t1, tbb_thread &t2)
move (tbb_thread &t1, tbb_thread &t2)
 
-tick_count::interval_t operator- (const tick_count &t1, const tick_count &t0)
operator- (const tick_count &t1, const tick_count &t0)
 
parallel_for

See also requirements on Range and parallel_for Body.

template<typename Range , typename Body >
void parallel_for (const Range &range, const Body &body)
 Parallel iteration over range with default partitioner. More...
void parallel_for (const Range &range, const Body &body)
 Parallel iteration over range with default partitioner. More...
 
template<typename Range , typename Body >
void parallel_for (const Range &range, const Body &body, const simple_partitioner &partitioner)
 Parallel iteration over range with simple partitioner. More...
void parallel_for (const Range &range, const Body &body, const simple_partitioner &partitioner)
 Parallel iteration over range with simple partitioner. More...
 
template<typename Range , typename Body >
void parallel_for (const Range &range, const Body &body, const auto_partitioner &partitioner)
 Parallel iteration over range with auto_partitioner. More...
void parallel_for (const Range &range, const Body &body, const auto_partitioner &partitioner)
 Parallel iteration over range with auto_partitioner. More...
 
template<typename Range , typename Body >
void parallel_for (const Range &range, const Body &body, const static_partitioner &partitioner)
 Parallel iteration over range with static_partitioner. More...
void parallel_for (const Range &range, const Body &body, const static_partitioner &partitioner)
 Parallel iteration over range with static_partitioner. More...
 
template<typename Range , typename Body >
void parallel_for (const Range &range, const Body &body, affinity_partitioner &partitioner)
 Parallel iteration over range with affinity_partitioner. More...
void parallel_for (const Range &range, const Body &body, affinity_partitioner &partitioner)
 Parallel iteration over range with affinity_partitioner. More...
 
template<typename Range , typename Body >
void parallel_for (const Range &range, const Body &body, task_group_context &context)
 Parallel iteration over range with default partitioner and user-supplied context. More...
void parallel_for (const Range &range, const Body &body, task_group_context &context)
 Parallel iteration over range with default partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void parallel_for (const Range &range, const Body &body, const simple_partitioner &partitioner, task_group_context &context)
 Parallel iteration over range with simple partitioner and user-supplied context. More...
void parallel_for (const Range &range, const Body &body, const simple_partitioner &partitioner, task_group_context &context)
 Parallel iteration over range with simple partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void parallel_for (const Range &range, const Body &body, const auto_partitioner &partitioner, task_group_context &context)
 Parallel iteration over range with auto_partitioner and user-supplied context. More...
void parallel_for (const Range &range, const Body &body, const auto_partitioner &partitioner, task_group_context &context)
 Parallel iteration over range with auto_partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void parallel_for (const Range &range, const Body &body, const static_partitioner &partitioner, task_group_context &context)
 Parallel iteration over range with static_partitioner and user-supplied context. More...
void parallel_for (const Range &range, const Body &body, const static_partitioner &partitioner, task_group_context &context)
 Parallel iteration over range with static_partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void parallel_for (const Range &range, const Body &body, affinity_partitioner &partitioner, task_group_context &context)
 Parallel iteration over range with affinity_partitioner and user-supplied context. More...
void parallel_for (const Range &range, const Body &body, affinity_partitioner &partitioner, task_group_context &context)
 Parallel iteration over range with affinity_partitioner and user-supplied context. More...
 
parallel_for_each
template<typename Iterator , typename Function >
void parallel_for_each (Iterator first, Iterator last, const Function &f, task_group_context &context)
 Calls function f for all items from [first, last) interval using user-supplied context. More...
void parallel_for_each (Iterator first, Iterator last, const Function &f, task_group_context &context)
 Calls function f for all items from [first, last) interval using user-supplied context. More...
 
template<typename Range , typename Function >
void parallel_for_each (Range &rng, const Function &f, task_group_context &context)
 Calls function f for all items from rng using user-supplied context. More...
void parallel_for_each (Range &rng, const Function &f, task_group_context &context)
 Calls function f for all items from rng using user-supplied context. More...
 
template<typename Range , typename Function >
void parallel_for_each (const Range &rng, const Function &f, task_group_context &context)
 Calls function f for all items from const rng user-supplied context. More...
void parallel_for_each (const Range &rng, const Function &f, task_group_context &context)
 Calls function f for all items from const rng user-supplied context. More...
 
template<typename Iterator , typename Function >
void parallel_for_each (Iterator first, Iterator last, const Function &f)
void parallel_for_each (Iterator first, Iterator last, const Function &f)
 Uses default context.
 
template<typename Range , typename Function >
void parallel_for_each (Range &rng, const Function &f)
void parallel_for_each (Range &rng, const Function &f)
 Uses default context.
 
template<typename Range , typename Function >
void parallel_for_each (const Range &rng, const Function &f)
void parallel_for_each (const Range &rng, const Function &f)
 Uses default context.
 
parallel_invoke
template<typename F0 , typename F1 , typename... F>
void parallel_invoke (F0 &&f0, F1 &&f1, F &&...f)
 Executes a list of tasks in parallel and waits for all tasks to complete. More...
void parallel_invoke (F0 &&f0, F1 &&f1, F &&...f)
 Executes a list of tasks in parallel and waits for all tasks to complete. More...
 
template<typename F0 , typename F1 >
void parallel_invoke (const F0 &f0, const F1 &f1, tbb::task_group_context &context)
void parallel_invoke (const F0 &f0, const F1 &f1, tbb::task_group_context &context)
 
template<typename F0 , typename F1 , typename F2 >
void parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2, tbb::task_group_context &context)
void parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2, tbb::task_group_context &context)
 
template<typename F0 , typename F1 , typename F2 , typename F3 >
void parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, tbb::task_group_context &context)
void parallel_invoke (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 , typename F4 >
void parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, tbb::task_group_context &context)
void parallel_invoke (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 , typename F5 >
void parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3, const F4 &f4, const F5 &f5, tbb::task_group_context &context)
void parallel_invoke (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 , typename F6 >
void parallel_invoke (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)
void parallel_invoke (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 , typename F7 >
void parallel_invoke (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)
void parallel_invoke (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 , typename F8 >
void parallel_invoke (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)
void parallel_invoke (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 , typename F9 >
void parallel_invoke (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)
void parallel_invoke (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 >

See also requirements on Range and parallel_reduce Body.

template<typename Range , typename Body >
void parallel_reduce (const Range &range, Body &body)
 Parallel iteration with reduction and default partitioner. More...
void parallel_reduce (const Range &range, Body &body)
 Parallel iteration with reduction and default partitioner. More...
 
template<typename Range , typename Body >
void parallel_reduce (const Range &range, Body &body, const simple_partitioner &partitioner)
 Parallel iteration with reduction and simple_partitioner. More...
void parallel_reduce (const Range &range, Body &body, const simple_partitioner &partitioner)
 Parallel iteration with reduction and simple_partitioner. More...
 
template<typename Range , typename Body >
void parallel_reduce (const Range &range, Body &body, const auto_partitioner &partitioner)
 Parallel iteration with reduction and auto_partitioner. More...
void parallel_reduce (const Range &range, Body &body, const auto_partitioner &partitioner)
 Parallel iteration with reduction and auto_partitioner. More...
 
template<typename Range , typename Body >
void parallel_reduce (const Range &range, Body &body, const static_partitioner &partitioner)
 Parallel iteration with reduction and static_partitioner. More...
void parallel_reduce (const Range &range, Body &body, const static_partitioner &partitioner)
 Parallel iteration with reduction and static_partitioner. More...
 
template<typename Range , typename Body >
void parallel_reduce (const Range &range, Body &body, affinity_partitioner &partitioner)
 Parallel iteration with reduction and affinity_partitioner. More...
void parallel_reduce (const Range &range, Body &body, affinity_partitioner &partitioner)
 Parallel iteration with reduction and affinity_partitioner. More...
 
template<typename Range , typename Body >
void parallel_reduce (const Range &range, Body &body, const simple_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, simple partitioner and user-supplied context. More...
void parallel_reduce (const Range &range, Body &body, const simple_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, simple partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void parallel_reduce (const Range &range, Body &body, const auto_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, auto_partitioner and user-supplied context. More...
void parallel_reduce (const Range &range, Body &body, const auto_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, auto_partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void parallel_reduce (const Range &range, Body &body, const static_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, static_partitioner and user-supplied context. More...
void parallel_reduce (const Range &range, Body &body, const static_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, static_partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void parallel_reduce (const Range &range, Body &body, affinity_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, affinity_partitioner and user-supplied context. More...
void parallel_reduce (const Range &range, Body &body, affinity_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, affinity_partitioner and user-supplied context. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)
 Parallel iteration with reduction and default partitioner. More...
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)
 Parallel iteration with reduction and default partitioner. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner)
 Parallel iteration with reduction and simple_partitioner. More...
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner)
 Parallel iteration with reduction and simple_partitioner. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner)
 Parallel iteration with reduction and auto_partitioner. More...
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner)
 Parallel iteration with reduction and auto_partitioner. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const static_partitioner &partitioner)
 Parallel iteration with reduction and static_partitioner. More...
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const static_partitioner &partitioner)
 Parallel iteration with reduction and static_partitioner. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner)
 Parallel iteration with reduction and affinity_partitioner. More...
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner)
 Parallel iteration with reduction and affinity_partitioner. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, simple partitioner and user-supplied context. More...
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, simple partitioner and user-supplied context. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, auto_partitioner and user-supplied context. More...
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, auto_partitioner and user-supplied context. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const static_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, static_partitioner and user-supplied context. More...
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const static_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, static_partitioner and user-supplied context. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, affinity_partitioner and user-supplied context. More...
Value parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, affinity_partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void parallel_deterministic_reduce (const Range &range, Body &body)
 Parallel iteration with deterministic reduction and default partitioner. More...
void parallel_deterministic_reduce (const Range &range, Body &body)
 Parallel iteration with deterministic reduction and default simple partitioner. More...
 
template<typename Range , typename Body >
void parallel_deterministic_reduce (const Range &range, Body &body, const simple_partitioner &partitioner)
 Parallel iteration with deterministic reduction and simple partitioner. More...
 
template<typename Range , typename Body >
void parallel_deterministic_reduce (const Range &range, Body &body, const static_partitioner &partitioner)
 Parallel iteration with deterministic reduction and static partitioner. More...
 
template<typename Range , typename Body >
void parallel_deterministic_reduce (const Range &range, Body &body, task_group_context &context)
 Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. More...
void parallel_deterministic_reduce (const Range &range, Body &body, task_group_context &context)
 Parallel iteration with deterministic reduction, default simple partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void parallel_deterministic_reduce (const Range &range, Body &body, const simple_partitioner &partitioner, task_group_context &context)
 Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void parallel_deterministic_reduce (const Range &range, Body &body, const static_partitioner &partitioner, task_group_context &context)
 Parallel iteration with deterministic reduction, static partitioner and user-supplied context. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value parallel_deterministic_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)
 Parallel iteration with deterministic reduction and default partitioner. More...
Value parallel_deterministic_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)
 Parallel iteration with deterministic reduction and default simple partitioner. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value parallel_deterministic_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner)
 Parallel iteration with deterministic reduction and simple partitioner. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value parallel_deterministic_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const static_partitioner &partitioner)
 Parallel iteration with deterministic reduction and static partitioner. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value parallel_deterministic_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, task_group_context &context)
 Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. More...
Value parallel_deterministic_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, task_group_context &context)
 Parallel iteration with deterministic reduction, default simple partitioner and user-supplied context. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value parallel_deterministic_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner, task_group_context &context)
 Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value parallel_deterministic_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const static_partitioner &partitioner, task_group_context &context)
 Parallel iteration with deterministic reduction, static partitioner and user-supplied context. More...
 
parallel_scan

See also requirements on Range and parallel_scan Body.

template<typename Range , typename Body >
void parallel_scan (const Range &range, Body &body)
 Parallel prefix with default partitioner. More...
void parallel_scan (const Range &range, Body &body)
 Parallel prefix with default partitioner. More...
 
template<typename Range , typename Body >
void parallel_scan (const Range &range, Body &body, const simple_partitioner &partitioner)
 Parallel prefix with simple_partitioner. More...
void parallel_scan (const Range &range, Body &body, const simple_partitioner &partitioner)
 Parallel prefix with simple_partitioner. More...
 
template<typename Range , typename Body >
void parallel_scan (const Range &range, Body &body, const auto_partitioner &partitioner)
 Parallel prefix with auto_partitioner. More...
void parallel_scan (const Range &range, Body &body, const auto_partitioner &partitioner)
 Parallel prefix with auto_partitioner. More...
 
template<typename Range , typename Value , typename Scan , typename ReverseJoin >
Value parallel_scan (const Range &range, const Value &identity, const Scan &scan, const ReverseJoin &reverse_join)
 Parallel prefix with default partitioner. More...
 
template<typename Range , typename Value , typename Scan , typename ReverseJoin >
Value parallel_scan (const Range &range, const Value &identity, const Scan &scan, const ReverseJoin &reverse_join, const simple_partitioner &partitioner)
 Parallel prefix with simple_partitioner. More...
 
template<typename Range , typename Value , typename Scan , typename ReverseJoin >
Value parallel_scan (const Range &range, const Value &identity, const Scan &scan, const ReverseJoin &reverse_join, const auto_partitioner &partitioner)
 Parallel prefix with auto_partitioner. More...
 
parallel_sort

See also requirements on iterators for parallel_sort.

template<typename RandomAccessIterator , typename Compare >
void parallel_sort (RandomAccessIterator begin, RandomAccessIterator end, const Compare &comp)
 Sorts the data in [begin,end) using the given comparator. More...
void parallel_sort (RandomAccessIterator begin, RandomAccessIterator end, const Compare &comp)
 Sorts the data in [begin,end) using the given comparator. More...
 
template<typename RandomAccessIterator >
void parallel_sort (RandomAccessIterator begin, RandomAccessIterator end)
 Sorts the data in [begin,end) with a default comparator std::less<RandomAccessIterator> More...
void parallel_sort (RandomAccessIterator begin, RandomAccessIterator end)
 Sorts the data in [begin,end) with a default comparator std::less<RandomAccessIterator> More...
 
template<typename Range , typename Compare >
void parallel_sort (Range &rng, const Compare &comp)
 Sorts the data in rng using the given comparator. More...
void parallel_sort (Range &rng, const Compare &comp)
 Sorts the data in rng using the given comparator. More...
 
template<typename Range , typename Compare >
void parallel_sort (const Range &rng, const Compare &comp)
 Sorts the data in const rng using the given comparator. More...
void parallel_sort (const Range &rng, const Compare &comp)
 Sorts the data in const rng using the given comparator. More...
 
template<typename Range >
void parallel_sort (Range &rng)
 Sorts the data in rng with a default comparator std::less<RandomAccessIterator> More...
void parallel_sort (Range &rng)
 Sorts the data in rng with a default comparator std::less<RandomAccessIterator> More...
 
template<typename Range >
void parallel_sort (const Range &rng)
 Sorts the data in const rng with a default comparator std::less<RandomAccessIterator> More...
void parallel_sort (const Range &rng)
 Sorts the data in const rng with a default comparator std::less<RandomAccessIterator> More...
 
template<typename T >
void parallel_sort (T *begin, T *end)
 Sorts the data in the range [begin,end) with a default comparator std::less<T> More...
void parallel_sort (T *begin, T *end)
 Sorts the data in the range [begin,end) with a default comparator std::less<T> More...
 

Detailed Description

-

The namespace tbb contains all components of the library.

+

The graph class.

+

The namespace tbb contains all components of the library.

Enumeration Type Documentation

diff --git a/doc/html/a00257.html b/doc/html/a00257.html new file mode 100644 index 0000000..9093c59 --- /dev/null +++ b/doc/html/a00257.html @@ -0,0 +1,2743 @@ + + + + + + +Algorithms + + + + + + + +
+ +
+
Algorithms
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Classes

class  tbb::blocked_range< Value >
 A range over which to iterate. More...
 
class  tbb::blocked_range2d< RowValue, ColValue >
 A 2-dimensional range that models the Range concept. More...
 
class  tbb::blocked_range3d< PageValue, RowValue, ColValue >
 A 3-dimensional range that models the Range concept. More...
 
struct  tbb::pre_scan_tag
 Used to indicate that the initial scan is being performed. More...
 
struct  tbb::final_scan_tag
 Used to indicate that the final scan is being performed. More...
 
class  tbb::parallel_while< Body >
 Parallel iteration over a stream, with optional addition of more work. More...
 
class  tbb::filter
 A stage in a pipeline. More...
 
class  tbb::thread_bound_filter
 A stage in a pipeline served by a user thread. More...
 
class  tbb::pipeline
 A processing pipeline that applies filters to items. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+parallel_for

See also requirements on Range and parallel_for Body.

+
template<typename Range , typename Body >
void tbb::parallel_for (const Range &range, const Body &body)
 Parallel iteration over range with default partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_for (const Range &range, const Body &body, const simple_partitioner &partitioner)
 Parallel iteration over range with simple partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_for (const Range &range, const Body &body, const auto_partitioner &partitioner)
 Parallel iteration over range with auto_partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_for (const Range &range, const Body &body, const static_partitioner &partitioner)
 Parallel iteration over range with static_partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_for (const Range &range, const Body &body, affinity_partitioner &partitioner)
 Parallel iteration over range with affinity_partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_for (const Range &range, const Body &body, task_group_context &context)
 Parallel iteration over range with default partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void tbb::parallel_for (const Range &range, const Body &body, const simple_partitioner &partitioner, task_group_context &context)
 Parallel iteration over range with simple partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void tbb::parallel_for (const Range &range, const Body &body, const auto_partitioner &partitioner, task_group_context &context)
 Parallel iteration over range with auto_partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void tbb::parallel_for (const Range &range, const Body &body, const static_partitioner &partitioner, task_group_context &context)
 Parallel iteration over range with static_partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void tbb::parallel_for (const Range &range, const Body &body, affinity_partitioner &partitioner, task_group_context &context)
 Parallel iteration over range with affinity_partitioner and user-supplied context. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + +

+parallel_for_each

template<typename Iterator , typename Function >
void tbb::parallel_for_each (Iterator first, Iterator last, const Function &f, task_group_context &context)
 Calls function f for all items from [first, last) interval using user-supplied context. More...
 
template<typename Range , typename Function >
void tbb::parallel_for_each (Range &rng, const Function &f, task_group_context &context)
 Calls function f for all items from rng using user-supplied context. More...
 
template<typename Range , typename Function >
void tbb::parallel_for_each (const Range &rng, const Function &f, task_group_context &context)
 Calls function f for all items from const rng user-supplied context. More...
 
+template<typename Iterator , typename Function >
void tbb::parallel_for_each (Iterator first, Iterator last, const Function &f)
 Uses default context.
 
+template<typename Range , typename Function >
void tbb::parallel_for_each (Range &rng, const Function &f)
 Uses default context.
 
+template<typename Range , typename Function >
void tbb::parallel_for_each (const Range &rng, const Function &f)
 Uses default context.
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+parallel_invoke

template<typename F0 , typename F1 , typename... F>
void tbb::parallel_invoke (F0 &&f0, F1 &&f1, F &&...f)
 Executes a list of tasks in parallel and waits for all tasks to complete. More...
 
+template<typename F0 , typename F1 >
void tbb::parallel_invoke (const F0 &f0, const F1 &f1, tbb::task_group_context &context)
 
+template<typename F0 , typename F1 , typename F2 >
void tbb::parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2, tbb::task_group_context &context)
 
+template<typename F0 , typename F1 , typename F2 , typename F3 >
void tbb::parallel_invoke (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 , typename F4 >
void tbb::parallel_invoke (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 , typename F5 >
void tbb::parallel_invoke (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 , typename F6 >
void tbb::parallel_invoke (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 , typename F7 >
void tbb::parallel_invoke (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 , typename F8 >
void tbb::parallel_invoke (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 , typename F9 >
void tbb::parallel_invoke (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 >
void tbb::parallel_invoke (const F0 &f0, const F1 &f1)
 
+template<typename F0 , typename F1 , typename F2 >
void tbb::parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2)
 
+template<typename F0 , typename F1 , typename F2 , typename F3 >
void tbb::parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3)
 
+template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 >
void tbb::parallel_invoke (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 , typename F5 >
void tbb::parallel_invoke (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 , typename F6 >
void tbb::parallel_invoke (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 , typename F7 >
void tbb::parallel_invoke (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 , typename F8 >
void tbb::parallel_invoke (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 , typename F9 >
void tbb::parallel_invoke (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)
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+parallel_reduce

See also requirements on Range and parallel_reduce Body.

+
template<typename Range , typename Body >
void tbb::parallel_reduce (const Range &range, Body &body)
 Parallel iteration with reduction and default partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_reduce (const Range &range, Body &body, const simple_partitioner &partitioner)
 Parallel iteration with reduction and simple_partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_reduce (const Range &range, Body &body, const auto_partitioner &partitioner)
 Parallel iteration with reduction and auto_partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_reduce (const Range &range, Body &body, const static_partitioner &partitioner)
 Parallel iteration with reduction and static_partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_reduce (const Range &range, Body &body, affinity_partitioner &partitioner)
 Parallel iteration with reduction and affinity_partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_reduce (const Range &range, Body &body, const simple_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, simple partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void tbb::parallel_reduce (const Range &range, Body &body, const auto_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, auto_partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void tbb::parallel_reduce (const Range &range, Body &body, const static_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, static_partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void tbb::parallel_reduce (const Range &range, Body &body, affinity_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, affinity_partitioner and user-supplied context. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)
 Parallel iteration with reduction and default partitioner. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner)
 Parallel iteration with reduction and simple_partitioner. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner)
 Parallel iteration with reduction and auto_partitioner. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const static_partitioner &partitioner)
 Parallel iteration with reduction and static_partitioner. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner)
 Parallel iteration with reduction and affinity_partitioner. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, simple partitioner and user-supplied context. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, auto_partitioner and user-supplied context. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const static_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, static_partitioner and user-supplied context. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, affinity_partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void tbb::parallel_deterministic_reduce (const Range &range, Body &body)
 Parallel iteration with deterministic reduction and default simple partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_deterministic_reduce (const Range &range, Body &body, const simple_partitioner &partitioner)
 Parallel iteration with deterministic reduction and simple partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_deterministic_reduce (const Range &range, Body &body, const static_partitioner &partitioner)
 Parallel iteration with deterministic reduction and static partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_deterministic_reduce (const Range &range, Body &body, task_group_context &context)
 Parallel iteration with deterministic reduction, default simple partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void tbb::parallel_deterministic_reduce (const Range &range, Body &body, const simple_partitioner &partitioner, task_group_context &context)
 Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void tbb::parallel_deterministic_reduce (const Range &range, Body &body, const static_partitioner &partitioner, task_group_context &context)
 Parallel iteration with deterministic reduction, static partitioner and user-supplied context. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_deterministic_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)
 Parallel iteration with deterministic reduction and default simple partitioner. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_deterministic_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner)
 Parallel iteration with deterministic reduction and simple partitioner. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_deterministic_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const static_partitioner &partitioner)
 Parallel iteration with deterministic reduction and static partitioner. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_deterministic_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, task_group_context &context)
 Parallel iteration with deterministic reduction, default simple partitioner and user-supplied context. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_deterministic_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner, task_group_context &context)
 Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_deterministic_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const static_partitioner &partitioner, task_group_context &context)
 Parallel iteration with deterministic reduction, static partitioner and user-supplied context. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+parallel_scan

See also requirements on Range and parallel_scan Body.

+
template<typename Range , typename Body >
void tbb::parallel_scan (const Range &range, Body &body)
 Parallel prefix with default partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_scan (const Range &range, Body &body, const simple_partitioner &partitioner)
 Parallel prefix with simple_partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_scan (const Range &range, Body &body, const auto_partitioner &partitioner)
 Parallel prefix with auto_partitioner. More...
 
template<typename Range , typename Value , typename Scan , typename ReverseJoin >
Value tbb::parallel_scan (const Range &range, const Value &identity, const Scan &scan, const ReverseJoin &reverse_join)
 Parallel prefix with default partitioner. More...
 
template<typename Range , typename Value , typename Scan , typename ReverseJoin >
Value tbb::parallel_scan (const Range &range, const Value &identity, const Scan &scan, const ReverseJoin &reverse_join, const simple_partitioner &partitioner)
 Parallel prefix with simple_partitioner. More...
 
template<typename Range , typename Value , typename Scan , typename ReverseJoin >
Value tbb::parallel_scan (const Range &range, const Value &identity, const Scan &scan, const ReverseJoin &reverse_join, const auto_partitioner &partitioner)
 Parallel prefix with auto_partitioner. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+parallel_sort

See also requirements on iterators for parallel_sort.

+
template<typename RandomAccessIterator , typename Compare >
void tbb::parallel_sort (RandomAccessIterator begin, RandomAccessIterator end, const Compare &comp)
 Sorts the data in [begin,end) using the given comparator. More...
 
template<typename RandomAccessIterator >
void tbb::parallel_sort (RandomAccessIterator begin, RandomAccessIterator end)
 Sorts the data in [begin,end) with a default comparator std::less<RandomAccessIterator> More...
 
template<typename Range , typename Compare >
void tbb::parallel_sort (Range &rng, const Compare &comp)
 Sorts the data in rng using the given comparator. More...
 
template<typename Range , typename Compare >
void tbb::parallel_sort (const Range &rng, const Compare &comp)
 Sorts the data in const rng using the given comparator. More...
 
template<typename Range >
void tbb::parallel_sort (Range &rng)
 Sorts the data in rng with a default comparator std::less<RandomAccessIterator> More...
 
template<typename Range >
void tbb::parallel_sort (const Range &rng)
 Sorts the data in const rng with a default comparator std::less<RandomAccessIterator> More...
 
template<typename T >
void tbb::parallel_sort (T *begin, T *end)
 Sorts the data in the range [begin,end) with a default comparator std::less<T> More...
 
+

Detailed Description

+

Function Documentation

+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + +
void tbb::parallel_deterministic_reduce (const Range & range,
Body & body 
)
+
+ +

Parallel iteration with deterministic reduction and default simple partitioner.

+ +

Referenced by tbb::parallel_deterministic_reduce().

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_deterministic_reduce (const Range & range,
Body & body,
const simple_partitioner & partitioner 
)
+
+ +

Parallel iteration with deterministic reduction and simple partitioner.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_deterministic_reduce (const Range & range,
Body & body,
const static_partitioner & partitioner 
)
+
+ +

Parallel iteration with deterministic reduction and static partitioner.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_deterministic_reduce (const Range & range,
Body & body,
task_group_context & context 
)
+
+ +

Parallel iteration with deterministic reduction, default simple partitioner and user-supplied context.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_deterministic_reduce (const Range & range,
Body & body,
const simple_partitioner & partitioner,
task_group_context & context 
)
+
+ +

Parallel iteration with deterministic reduction, simple partitioner and user-supplied context.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_deterministic_reduce (const Range & range,
Body & body,
const static_partitioner & partitioner,
task_group_context & context 
)
+
+ +

Parallel iteration with deterministic reduction, static partitioner and user-supplied context.

+ +
+
+ +
+
+
+template<typename Range , typename Value , typename RealBody , typename Reduction >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Value tbb::parallel_deterministic_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction 
)
+
+ +

Parallel iteration with deterministic reduction and default simple partitioner.

+

parallel_reduce overloads that work with anonymous function objects (see also requirements on parallel_reduce anonymous function objects).

+ +

References tbb::parallel_deterministic_reduce().

+ +
+
+ +
+
+
+template<typename Range , typename Value , typename RealBody , typename Reduction >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Value tbb::parallel_deterministic_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction,
const simple_partitioner & partitioner 
)
+
+ +

Parallel iteration with deterministic reduction and simple partitioner.

+ +
+
+ +
+
+
+template<typename Range , typename Value , typename RealBody , typename Reduction >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Value tbb::parallel_deterministic_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction,
const static_partitioner & partitioner 
)
+
+ +

Parallel iteration with deterministic reduction and static partitioner.

+ +
+
+ +
+
+
+template<typename Range , typename Value , typename RealBody , typename Reduction >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Value tbb::parallel_deterministic_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction,
task_group_context & context 
)
+
+ +

Parallel iteration with deterministic reduction, default simple partitioner and user-supplied context.

+ +

References tbb::parallel_deterministic_reduce().

+ +
+
+ +
+
+
+template<typename Range , typename Value , typename RealBody , typename Reduction >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Value tbb::parallel_deterministic_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction,
const simple_partitioner & partitioner,
task_group_context & context 
)
+
+ +

Parallel iteration with deterministic reduction, simple partitioner and user-supplied context.

+ +
+
+ +
+
+
+template<typename Range , typename Value , typename RealBody , typename Reduction >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Value tbb::parallel_deterministic_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction,
const static_partitioner & partitioner,
task_group_context & context 
)
+
+ +

Parallel iteration with deterministic reduction, static partitioner and user-supplied context.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + +
void tbb::parallel_for (const Range & range,
const Body & body 
)
+
+ +

Parallel iteration over range with default partitioner.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_for (const Range & range,
const Body & body,
const simple_partitioner & partitioner 
)
+
+ +

Parallel iteration over range with simple partitioner.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_for (const Range & range,
const Body & body,
const auto_partitioner & partitioner 
)
+
+ +

Parallel iteration over range with auto_partitioner.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_for (const Range & range,
const Body & body,
const static_partitioner & partitioner 
)
+
+ +

Parallel iteration over range with static_partitioner.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_for (const Range & range,
const Body & body,
affinity_partitioner & partitioner 
)
+
+ +

Parallel iteration over range with affinity_partitioner.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_for (const Range & range,
const Body & body,
task_group_context & context 
)
+
+ +

Parallel iteration over range with default partitioner and user-supplied context.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_for (const Range & range,
const Body & body,
const simple_partitioner & partitioner,
task_group_context & context 
)
+
+ +

Parallel iteration over range with simple partitioner and user-supplied context.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_for (const Range & range,
const Body & body,
const auto_partitioner & partitioner,
task_group_context & context 
)
+
+ +

Parallel iteration over range with auto_partitioner and user-supplied context.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_for (const Range & range,
const Body & body,
const static_partitioner & partitioner,
task_group_context & context 
)
+
+ +

Parallel iteration over range with static_partitioner and user-supplied context.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_for (const Range & range,
const Body & body,
affinity_partitioner & partitioner,
task_group_context & context 
)
+
+ +

Parallel iteration over range with affinity_partitioner and user-supplied context.

+ +
+
+ +
+
+
+template<typename Iterator , typename Function >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_for_each (Iterator first,
Iterator last,
const Function & f,
task_group_context & context 
)
+
+ +

Calls function f for all items from [first, last) interval using user-supplied context.

+ +

Referenced by tbb::parallel_for_each().

+ +
+
+ +
+
+
+template<typename Range , typename Function >
+ + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_for_each (Range & rng,
const Function & f,
task_group_context & context 
)
+
+ +

Calls function f for all items from rng using user-supplied context.

+ +

References tbb::parallel_for_each().

+ +
+
+ +
+
+
+template<typename Range , typename Function >
+ + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_for_each (const Range & rng,
const Function & f,
task_group_context & context 
)
+
+ +

Calls function f for all items from const rng user-supplied context.

+ +

References tbb::parallel_for_each().

+ +
+
+ +
+
+
+template<typename F0 , typename F1 , typename... F>
+ + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_invoke (F0 && f0,
F1 && f1,
F &&... f 
)
+
+ +

Executes a list of tasks in parallel and waits for all tasks to complete.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + +
void tbb::parallel_reduce (const Range & range,
Body & body 
)
+
+ +

Parallel iteration with reduction and default partitioner.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_reduce (const Range & range,
Body & body,
const simple_partitioner & partitioner 
)
+
+ +

Parallel iteration with reduction and simple_partitioner.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_reduce (const Range & range,
Body & body,
const auto_partitioner & partitioner 
)
+
+ +

Parallel iteration with reduction and auto_partitioner.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_reduce (const Range & range,
Body & body,
const static_partitioner & partitioner 
)
+
+ +

Parallel iteration with reduction and static_partitioner.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_reduce (const Range & range,
Body & body,
affinity_partitioner & partitioner 
)
+
+ +

Parallel iteration with reduction and affinity_partitioner.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_reduce (const Range & range,
Body & body,
const simple_partitioner & partitioner,
task_group_context & context 
)
+
+ +

Parallel iteration with reduction, simple partitioner and user-supplied context.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_reduce (const Range & range,
Body & body,
const auto_partitioner & partitioner,
task_group_context & context 
)
+
+ +

Parallel iteration with reduction, auto_partitioner and user-supplied context.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_reduce (const Range & range,
Body & body,
const static_partitioner & partitioner,
task_group_context & context 
)
+
+ +

Parallel iteration with reduction, static_partitioner and user-supplied context.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_reduce (const Range & range,
Body & body,
affinity_partitioner & partitioner,
task_group_context & context 
)
+
+ +

Parallel iteration with reduction, affinity_partitioner and user-supplied context.

+ +
+
+ +
+
+
+template<typename Range , typename Value , typename RealBody , typename Reduction >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Value tbb::parallel_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction 
)
+
+ +

Parallel iteration with reduction and default partitioner.

+

parallel_reduce overloads that work with anonymous function objects (see also requirements on parallel_reduce anonymous function objects).

+ +
+
+ +
+
+
+template<typename Range , typename Value , typename RealBody , typename Reduction >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Value tbb::parallel_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction,
const simple_partitioner & partitioner 
)
+
+ +

Parallel iteration with reduction and simple_partitioner.

+ +
+
+ +
+
+
+template<typename Range , typename Value , typename RealBody , typename Reduction >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Value tbb::parallel_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction,
const auto_partitioner & partitioner 
)
+
+ +

Parallel iteration with reduction and auto_partitioner.

+ +
+
+ +
+
+
+template<typename Range , typename Value , typename RealBody , typename Reduction >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Value tbb::parallel_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction,
const static_partitioner & partitioner 
)
+
+ +

Parallel iteration with reduction and static_partitioner.

+ +
+
+ +
+
+
+template<typename Range , typename Value , typename RealBody , typename Reduction >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Value tbb::parallel_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction,
affinity_partitioner & partitioner 
)
+
+ +

Parallel iteration with reduction and affinity_partitioner.

+ +
+
+ +
+
+
+template<typename Range , typename Value , typename RealBody , typename Reduction >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Value tbb::parallel_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction,
const simple_partitioner & partitioner,
task_group_context & context 
)
+
+ +

Parallel iteration with reduction, simple partitioner and user-supplied context.

+ +
+
+ +
+
+
+template<typename Range , typename Value , typename RealBody , typename Reduction >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Value tbb::parallel_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction,
const auto_partitioner & partitioner,
task_group_context & context 
)
+
+ +

Parallel iteration with reduction, auto_partitioner and user-supplied context.

+ +
+
+ +
+
+
+template<typename Range , typename Value , typename RealBody , typename Reduction >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Value tbb::parallel_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction,
const static_partitioner & partitioner,
task_group_context & context 
)
+
+ +

Parallel iteration with reduction, static_partitioner and user-supplied context.

+ +
+
+ +
+
+
+template<typename Range , typename Value , typename RealBody , typename Reduction >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Value tbb::parallel_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction,
affinity_partitioner & partitioner,
task_group_context & context 
)
+
+ +

Parallel iteration with reduction, affinity_partitioner and user-supplied context.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + +
void tbb::parallel_scan (const Range & range,
Body & body 
)
+
+ +

Parallel prefix with default partitioner.

+ +

Referenced by tbb::parallel_scan().

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_scan (const Range & range,
Body & body,
const simple_partitioner & partitioner 
)
+
+ +

Parallel prefix with simple_partitioner.

+ +
+
+ +
+
+
+template<typename Range , typename Body >
+ + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_scan (const Range & range,
Body & body,
const auto_partitioner & partitioner 
)
+
+ +

Parallel prefix with auto_partitioner.

+ +
+
+ +
+
+
+template<typename Range , typename Value , typename Scan , typename ReverseJoin >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Value tbb::parallel_scan (const Range & range,
const Value & identity,
const Scan & scan,
const ReverseJoin & reverse_join 
)
+
+ +

Parallel prefix with default partitioner.

+ +

References tbb::parallel_scan().

+ +
+
+ +
+
+
+template<typename Range , typename Value , typename Scan , typename ReverseJoin >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Value tbb::parallel_scan (const Range & range,
const Value & identity,
const Scan & scan,
const ReverseJoin & reverse_join,
const simple_partitioner & partitioner 
)
+
+ +

Parallel prefix with simple_partitioner.

+ +

References tbb::parallel_scan().

+ +
+
+ +
+
+
+template<typename Range , typename Value , typename Scan , typename ReverseJoin >
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Value tbb::parallel_scan (const Range & range,
const Value & identity,
const Scan & scan,
const ReverseJoin & reverse_join,
const auto_partitioner & partitioner 
)
+
+ +

Parallel prefix with auto_partitioner.

+ +

References tbb::parallel_scan().

+ +
+
+ +
+
+
+template<typename RandomAccessIterator , typename Compare >
+ + + + + + + + + + + + + + + + + + + + + + + + +
void tbb::parallel_sort (RandomAccessIterator begin,
RandomAccessIterator end,
const Compare & comp 
)
+
+ +

Sorts the data in [begin,end) using the given comparator.

+

The compare function object is used for all comparisons between elements during sorting. The compare object must define a bool operator() function.

+ +

Referenced by tbb::parallel_sort().

+ +
+
+ +
+
+
+template<typename RandomAccessIterator >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void tbb::parallel_sort (RandomAccessIterator begin,
RandomAccessIterator end 
)
+
+inline
+
+ +

Sorts the data in [begin,end) with a default comparator std::less<RandomAccessIterator>

+ +

References tbb::parallel_sort().

+ +
+
+ +
+
+
+template<typename Range , typename Compare >
+ + + + + + + + + + + + + + + + + + +
void tbb::parallel_sort (Range & rng,
const Compare & comp 
)
+
+ +

Sorts the data in rng using the given comparator.

+ +

References tbb::parallel_sort().

+ +
+
+ +
+
+
+template<typename Range , typename Compare >
+ + + + + + + + + + + + + + + + + + +
void tbb::parallel_sort (const Range & rng,
const Compare & comp 
)
+
+ +

Sorts the data in const rng using the given comparator.

+ +

References tbb::parallel_sort().

+ +
+
+ +
+
+
+template<typename Range >
+ + + + + + + + +
void tbb::parallel_sort (Range & rng)
+
+ +

Sorts the data in rng with a default comparator std::less<RandomAccessIterator>

+ +

References tbb::parallel_sort().

+ +
+
+ +
+
+
+template<typename Range >
+ + + + + + + + +
void tbb::parallel_sort (const Range & rng)
+
+ +

Sorts the data in const rng with a default comparator std::less<RandomAccessIterator>

+ +

References tbb::parallel_sort().

+ +
+
+ +
+
+
+template<typename T >
+ + + + + +
+ + + + + + + + + + + + + + + + + + +
void tbb::parallel_sort (T * begin,
T * end 
)
+
+inline
+
+ +

Sorts the data in the range [begin,end) with a default comparator std::less<T>

+ +

References tbb::parallel_sort().

+ +
+
+
+
+

+Copyright © 2005-2017 Intel Corporation. All Rights Reserved. +

+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. +

+* Other names and brands may be claimed as the property of others. diff --git a/doc/html/a00258.html b/doc/html/a00258.html new file mode 100644 index 0000000..7c6445a --- /dev/null +++ b/doc/html/a00258.html @@ -0,0 +1,67 @@ + + + + + + +Containers + + + + + + + +
+ +
+
Containers
+
+
+ + + + + + + + + + + + + + + + + + + + +

+Classes

class  tbb::combinable< T >
 Thread-local storage with optional reduction. More...
 
class  tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
 Unordered map from Key to T. More...
 
class  tbb::strict_ppl::concurrent_queue< T, A >
 A high-performance thread-safe non-blocking concurrent queue. More...
 
class  tbb::concurrent_bounded_queue< T, A >
 A high-performance thread-safe blocking concurrent bounded queue. More...
 
class  tbb::concurrent_vector< T, A >
 Concurrent vector container. More...
 
class  tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
 The enumerable_thread_specific container. More...
 
+

Detailed Description

+
+
+

+Copyright © 2005-2017 Intel Corporation. All Rights Reserved. +

+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. +

+* Other names and brands may be claimed as the property of others. diff --git a/doc/html/a00259.html b/doc/html/a00259.html new file mode 100644 index 0000000..346e308 --- /dev/null +++ b/doc/html/a00259.html @@ -0,0 +1,382 @@ + + + + + + +Memory Allocation + + + + + + + +
+ +
+
Memory Allocation
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Classes

class  tbb::aligned_space< T, N >
 Block of space aligned sufficiently to construct an array T with N elements. More...
 
class  tbb::cache_aligned_allocator< T >
 Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. More...
 
class  tbb::cache_aligned_allocator< void >
 Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...
 
class  tbb::interface6::memory_pool_allocator< T, P >
 Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. More...
 
class  tbb::interface6::memory_pool_allocator< void, P >
 Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...
 
class  tbb::scalable_allocator< T >
 Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. More...
 
class  tbb::scalable_allocator< void >
 Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...
 
class  tbb::tbb_allocator< T >
 Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. More...
 
class  tbb::tbb_allocator< void >
 Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...
 
class  tbb::zero_allocator< T, Allocator >
 Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. More...
 
class  tbb::zero_allocator< void, Allocator >
 Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + +

+Functions

void *__TBB_EXPORTED_FUNC scalable_malloc (size_t size)
 
void __TBB_EXPORTED_FUNC scalable_free (void *ptr)
 
void *__TBB_EXPORTED_FUNC scalable_realloc (void *ptr, size_t size)
 
void *__TBB_EXPORTED_FUNC scalable_calloc (size_t nobj, size_t size)
 
int __TBB_EXPORTED_FUNC scalable_posix_memalign (void **memptr, size_t alignment, size_t size)
 
void *__TBB_EXPORTED_FUNC scalable_aligned_malloc (size_t size, size_t alignment)
 
void *__TBB_EXPORTED_FUNC scalable_aligned_realloc (void *ptr, size_t size, size_t alignment)
 
void __TBB_EXPORTED_FUNC scalable_aligned_free (void *ptr)
 
size_t __TBB_EXPORTED_FUNC scalable_msize (void *ptr)
 
int __TBB_EXPORTED_FUNC scalable_allocation_mode (int param, intptr_t value)
 
int __TBB_EXPORTED_FUNC scalable_allocation_command (int cmd, void *param)
 
+

Detailed Description

+

Function Documentation

+ +
+
+ + + + + + + + +
void __TBB_EXPORTED_FUNC scalable_aligned_free (void * ptr)
+
+

The "_aligned_free" analogue.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* __TBB_EXPORTED_FUNC scalable_aligned_malloc (size_t size,
size_t alignment 
)
+
+

The "_aligned_malloc" analogue.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void* __TBB_EXPORTED_FUNC scalable_aligned_realloc (void * ptr,
size_t size,
size_t alignment 
)
+
+

The "_aligned_realloc" analogue.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int __TBB_EXPORTED_FUNC scalable_allocation_command (int cmd,
void * param 
)
+
+

Call TBB allocator-specific commands.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
int __TBB_EXPORTED_FUNC scalable_allocation_mode (int param,
intptr_t value 
)
+
+

Set TBB allocator-specific allocation modes.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* __TBB_EXPORTED_FUNC scalable_calloc (size_t nobj,
size_t size 
)
+
+

The "calloc" analogue complementing scalable_malloc.

+ +
+
+ +
+
+ + + + + + + + +
void __TBB_EXPORTED_FUNC scalable_free (void * ptr)
+
+

The "free" analogue to discard a previously allocated piece of memory.

+ +

Referenced by tbb::scalable_allocator< T >::deallocate().

+ +
+
+ +
+
+ + + + + + + + +
void* __TBB_EXPORTED_FUNC scalable_malloc (size_t size)
+
+

The "malloc" analogue to allocate block of memory of size bytes.

+ +

Referenced by tbb::scalable_allocator< T >::allocate().

+ +
+
+ +
+
+ + + + + + + + +
size_t __TBB_EXPORTED_FUNC scalable_msize (void * ptr)
+
+

The analogue of msize/malloc_size/malloc_usable_size. Returns the usable size of a memory block previously allocated by scalable*, or 0 (zero) if ptr does not point to such a block.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
int __TBB_EXPORTED_FUNC scalable_posix_memalign (void ** memptr,
size_t alignment,
size_t size 
)
+
+

The "posix_memalign" analogue.

+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void* __TBB_EXPORTED_FUNC scalable_realloc (void * ptr,
size_t size 
)
+
+

The "realloc" analogue complementing scalable_malloc.

+ +
+
+
+
+

+Copyright © 2005-2017 Intel Corporation. All Rights Reserved. +

+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. +

+* Other names and brands may be claimed as the property of others. diff --git a/doc/html/a00260.html b/doc/html/a00260.html index e93c97d..db70857 100644 --- a/doc/html/a00260.html +++ b/doc/html/a00260.html @@ -4,7 +4,7 @@ -Algorithms +Synchronization @@ -27,2151 +27,89 @@
-
Algorithms
+
Synchronization
- - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + - - + + + + +

Classes

class  tbb::blocked_range< Value >
 A range over which to iterate. More...
struct  tbb::atomic< T >
 Primary template for atomic. More...
 
class  tbb::blocked_range2d< RowValue, ColValue >
 A 2-dimensional range that models the Range concept. More...
class  tbb::mutex
 Wrapper around the platform's native lock. More...
 
class  tbb::blocked_range3d< PageValue, RowValue, ColValue >
 A 3-dimensional range that models the Range concept. More...
class  tbb::null_mutex
 A mutex which does nothing. More...
 
struct  tbb::pre_scan_tag
 Used to indicate that the initial scan is being performed. More...
class  tbb::null_rw_mutex
 A rw mutex which does nothing. More...
 
struct  tbb::final_scan_tag
 Used to indicate that the final scan is being performed. More...
class  tbb::queuing_mutex
 Queuing mutex with local-only spinning. More...
 
class  tbb::parallel_while< Body >
 Parallel iteration over a stream, with optional addition of more work. More...
class  tbb::queuing_rw_mutex
 Queuing reader-writer mutex with local-only spinning. More...
 
class  tbb::filter
 A stage in a pipeline. More...
class  tbb::interface5::reader_writer_lock
 Writer-preference reader-writer lock with local-only spinning on readers. More...
 
class  tbb::thread_bound_filter
 A stage in a pipeline served by a user thread. More...
class  tbb::recursive_mutex
 
class  tbb::pipeline
 A processing pipeline that applies filters to items. More...
class  tbb::spin_mutex
 A lock that occupies a single byte. More...
 
class  tbb::spin_rw_mutex_v3
 Fast, unfair, spinning reader-writer lock with backoff and writer-preference. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-parallel_for

See also requirements on Range and parallel_for Body.

-
template<typename Range , typename Body >
void tbb::parallel_for (const Range &range, const Body &body)
 Parallel iteration over range with default partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_for (const Range &range, const Body &body, const simple_partitioner &partitioner)
 Parallel iteration over range with simple partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_for (const Range &range, const Body &body, const auto_partitioner &partitioner)
 Parallel iteration over range with auto_partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_for (const Range &range, const Body &body, const static_partitioner &partitioner)
 Parallel iteration over range with static_partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_for (const Range &range, const Body &body, affinity_partitioner &partitioner)
 Parallel iteration over range with affinity_partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_for (const Range &range, const Body &body, task_group_context &context)
 Parallel iteration over range with default partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void tbb::parallel_for (const Range &range, const Body &body, const simple_partitioner &partitioner, task_group_context &context)
 Parallel iteration over range with simple partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void tbb::parallel_for (const Range &range, const Body &body, const auto_partitioner &partitioner, task_group_context &context)
 Parallel iteration over range with auto_partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void tbb::parallel_for (const Range &range, const Body &body, const static_partitioner &partitioner, task_group_context &context)
 Parallel iteration over range with static_partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void tbb::parallel_for (const Range &range, const Body &body, affinity_partitioner &partitioner, task_group_context &context)
 Parallel iteration over range with affinity_partitioner and user-supplied context. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - -

-parallel_for_each

template<typename Iterator , typename Function >
void tbb::parallel_for_each (Iterator first, Iterator last, const Function &f, task_group_context &context)
 Calls function f for all items from [first, last) interval using user-supplied context. More...
 
template<typename Range , typename Function >
void tbb::parallel_for_each (Range &rng, const Function &f, task_group_context &context)
 Calls function f for all items from rng using user-supplied context. More...
 
template<typename Range , typename Function >
void tbb::parallel_for_each (const Range &rng, const Function &f, task_group_context &context)
 Calls function f for all items from const rng user-supplied context. More...
 
-template<typename Iterator , typename Function >
void tbb::parallel_for_each (Iterator first, Iterator last, const Function &f)
 Uses default context.
 
-template<typename Range , typename Function >
void tbb::parallel_for_each (Range &rng, const Function &f)
 Uses default context.
 
-template<typename Range , typename Function >
void tbb::parallel_for_each (const Range &rng, const Function &f)
 Uses default context.
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-parallel_invoke

template<typename F0 , typename F1 , typename... F>
void tbb::parallel_invoke (F0 &&f0, F1 &&f1, F &&...f)
 Executes a list of tasks in parallel and waits for all tasks to complete. More...
 
-template<typename F0 , typename F1 >
void tbb::parallel_invoke (const F0 &f0, const F1 &f1, tbb::task_group_context &context)
 
-template<typename F0 , typename F1 , typename F2 >
void tbb::parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2, tbb::task_group_context &context)
 
-template<typename F0 , typename F1 , typename F2 , typename F3 >
void tbb::parallel_invoke (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 , typename F4 >
void tbb::parallel_invoke (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 , typename F5 >
void tbb::parallel_invoke (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 , typename F6 >
void tbb::parallel_invoke (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 , typename F7 >
void tbb::parallel_invoke (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 , typename F8 >
void tbb::parallel_invoke (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 , typename F9 >
void tbb::parallel_invoke (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 >
void tbb::parallel_invoke (const F0 &f0, const F1 &f1)
 
-template<typename F0 , typename F1 , typename F2 >
void tbb::parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2)
 
-template<typename F0 , typename F1 , typename F2 , typename F3 >
void tbb::parallel_invoke (const F0 &f0, const F1 &f1, const F2 &f2, const F3 &f3)
 
-template<typename F0 , typename F1 , typename F2 , typename F3 , typename F4 >
void tbb::parallel_invoke (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 , typename F5 >
void tbb::parallel_invoke (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 , typename F6 >
void tbb::parallel_invoke (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 , typename F7 >
void tbb::parallel_invoke (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 , typename F8 >
void tbb::parallel_invoke (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 , typename F9 >
void tbb::parallel_invoke (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)
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-parallel_reduce

See also requirements on Range and parallel_reduce Body.

-
template<typename Range , typename Body >
void tbb::parallel_reduce (const Range &range, Body &body)
 Parallel iteration with reduction and default partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_reduce (const Range &range, Body &body, const simple_partitioner &partitioner)
 Parallel iteration with reduction and simple_partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_reduce (const Range &range, Body &body, const auto_partitioner &partitioner)
 Parallel iteration with reduction and auto_partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_reduce (const Range &range, Body &body, const static_partitioner &partitioner)
 Parallel iteration with reduction and static_partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_reduce (const Range &range, Body &body, affinity_partitioner &partitioner)
 Parallel iteration with reduction and affinity_partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_reduce (const Range &range, Body &body, const simple_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, simple partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void tbb::parallel_reduce (const Range &range, Body &body, const auto_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, auto_partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void tbb::parallel_reduce (const Range &range, Body &body, const static_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, static_partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void tbb::parallel_reduce (const Range &range, Body &body, affinity_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, affinity_partitioner and user-supplied context. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)
 Parallel iteration with reduction and default partitioner. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner)
 Parallel iteration with reduction and simple_partitioner. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner)
 Parallel iteration with reduction and auto_partitioner. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const static_partitioner &partitioner)
 Parallel iteration with reduction and static_partitioner. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner)
 Parallel iteration with reduction and affinity_partitioner. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const simple_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, simple partitioner and user-supplied context. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const auto_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, auto_partitioner and user-supplied context. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, const static_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, static_partitioner and user-supplied context. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, affinity_partitioner &partitioner, task_group_context &context)
 Parallel iteration with reduction, affinity_partitioner and user-supplied context. More...
 
template<typename Range , typename Body >
void tbb::parallel_deterministic_reduce (const Range &range, Body &body)
 Parallel iteration with deterministic reduction and default partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_deterministic_reduce (const Range &range, Body &body, task_group_context &context)
 Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_deterministic_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction)
 Parallel iteration with deterministic reduction and default partitioner. More...
 
template<typename Range , typename Value , typename RealBody , typename Reduction >
Value tbb::parallel_deterministic_reduce (const Range &range, const Value &identity, const RealBody &real_body, const Reduction &reduction, task_group_context &context)
 Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. More...
 
- - - - - - - - - - - - - - -

-parallel_scan

See also requirements on Range and parallel_scan Body.

-
template<typename Range , typename Body >
void tbb::parallel_scan (const Range &range, Body &body)
 Parallel prefix with default partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_scan (const Range &range, Body &body, const simple_partitioner &partitioner)
 Parallel prefix with simple_partitioner. More...
 
template<typename Range , typename Body >
void tbb::parallel_scan (const Range &range, Body &body, const auto_partitioner &partitioner)
 Parallel prefix with auto_partitioner. More...
 
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + +

-parallel_sort

See also requirements on iterators for parallel_sort.

-
template<typename RandomAccessIterator , typename Compare >
void tbb::parallel_sort (RandomAccessIterator begin, RandomAccessIterator end, const Compare &comp)
 Sorts the data in [begin,end) using the given comparator. More...
 
template<typename RandomAccessIterator >
void tbb::parallel_sort (RandomAccessIterator begin, RandomAccessIterator end)
 Sorts the data in [begin,end) with a default comparator std::less<RandomAccessIterator> More...
 
template<typename Range , typename Compare >
void tbb::parallel_sort (Range &rng, const Compare &comp)
 Sorts the data in rng using the given comparator. More...
 
template<typename Range , typename Compare >
void tbb::parallel_sort (const Range &rng, const Compare &comp)
 Sorts the data in const rng using the given comparator. More...
 
template<typename Range >
void tbb::parallel_sort (Range &rng)
 Sorts the data in rng with a default comparator std::less<RandomAccessIterator> More...
 
template<typename Range >
void tbb::parallel_sort (const Range &rng)
 Sorts the data in const rng with a default comparator std::less<RandomAccessIterator> More...
 
template<typename T >
void tbb::parallel_sort (T *begin, T *end)
 Sorts the data in the range [begin,end) with a default comparator std::less<T> More...
 

+Typedefs

typedef
+interface7::internal::padded_mutex
+< interface7::internal::x86_eliding_mutex,
+false > 
tbb::speculative_spin_mutex
 A cross-platform spin mutex with speculative lock acquisition. More...
 
typedef
+interface7::internal::padded_mutex
+< tbb::interface8::internal::x86_rtm_rw_mutex,
+true > 
tbb::interface8::speculative_spin_rw_mutex
 A cross-platform spin reader/writer mutex with speculative lock acquisition. More...
 

Detailed Description

-

Function Documentation

- -
-
-
-template<typename Range , typename Body >
- - - - - - - - - - - - - - - - - - -
void tbb::parallel_deterministic_reduce (const Range & range,
Body & body 
)
-
- -

Parallel iteration with deterministic reduction and default partitioner.

- -
-
- -
-
-
-template<typename Range , typename Body >
- - - - - - - - - - - - - - - - - - - - - - - - -
void tbb::parallel_deterministic_reduce (const Range & range,
Body & body,
task_group_context & context 
)
-
- -

Parallel iteration with deterministic reduction, simple partitioner and user-supplied context.

- -
-
- -
-
-
-template<typename Range , typename Value , typename RealBody , typename Reduction >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Value tbb::parallel_deterministic_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction 
)
-
- -

Parallel iteration with deterministic reduction and default partitioner.

-

parallel_reduce overloads that work with anonymous function objects (see also requirements on parallel_reduce anonymous function objects).

- -
-
- -
-
-
-template<typename Range , typename Value , typename RealBody , typename Reduction >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Value tbb::parallel_deterministic_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction,
task_group_context & context 
)
-
- -

Parallel iteration with deterministic reduction, simple partitioner and user-supplied context.

- -
-
- -
-
-
-template<typename Range , typename Body >
- - - - - - - - - - - - - - - - - - -
void tbb::parallel_for (const Range & range,
const Body & body 
)
-
- -

Parallel iteration over range with default partitioner.

- -
-
- -
-
-
-template<typename Range , typename Body >
- - - - - - - - - - - - - - - - - - - - - - - - -
void tbb::parallel_for (const Range & range,
const Body & body,
const simple_partitioner & partitioner 
)
-
- -

Parallel iteration over range with simple partitioner.

- -
-
- -
-
-
-template<typename Range , typename Body >
- - - - - - - - - - - - - - - - - - - - - - - - -
void tbb::parallel_for (const Range & range,
const Body & body,
const auto_partitioner & partitioner 
)
-
- -

Parallel iteration over range with auto_partitioner.

- -
-
- -
-
-
-template<typename Range , typename Body >
- - - - - - - - - - - - - - - - - - - - - - - - -
void tbb::parallel_for (const Range & range,
const Body & body,
const static_partitioner & partitioner 
)
-
- -

Parallel iteration over range with static_partitioner.

- -
-
- -
-
-
-template<typename Range , typename Body >
- - - - - - - - - - - - - - - - - - - - - - - - -
void tbb::parallel_for (const Range & range,
const Body & body,
affinity_partitioner & partitioner 
)
-
- -

Parallel iteration over range with affinity_partitioner.

- -
-
- -
-
-
-template<typename Range , typename Body >
- - - - - - - - - - - - - - - - - - - - - - - - -
void tbb::parallel_for (const Range & range,
const Body & body,
task_group_context & context 
)
-
- -

Parallel iteration over range with default partitioner and user-supplied context.

- -
-
- -
-
-
-template<typename Range , typename Body >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void tbb::parallel_for (const Range & range,
const Body & body,
const simple_partitioner & partitioner,
task_group_context & context 
)
-
- -

Parallel iteration over range with simple partitioner and user-supplied context.

- -
-
- -
-
-
-template<typename Range , typename Body >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void tbb::parallel_for (const Range & range,
const Body & body,
const auto_partitioner & partitioner,
task_group_context & context 
)
-
- -

Parallel iteration over range with auto_partitioner and user-supplied context.

- -
-
- -
-
-
-template<typename Range , typename Body >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void tbb::parallel_for (const Range & range,
const Body & body,
const static_partitioner & partitioner,
task_group_context & context 
)
-
- -

Parallel iteration over range with static_partitioner and user-supplied context.

- -
-
- +

Typedef Documentation

+
-
-template<typename Range , typename Body >
- - - - - - - - - - - - - - - - - - - - - - - - - - - +
void tbb::parallel_for (const Range & range,
const Body & body,
affinity_partitioner & partitioner,
task_group_context & context 
)typedef interface7::internal::padded_mutex< spin_mutex, false > tbb::speculative_spin_mutex
-

Parallel iteration over range with affinity_partitioner and user-supplied context.

+

A cross-platform spin mutex with speculative lock acquisition.

+

On platforms with proper HW support, this lock may speculatively execute its critical sections, using HW mechanisms to detect real data races and ensure atomicity of the critical sections. In particular, it uses Intel(R) Transactional Synchronization Extensions (Intel(R) TSX). Without such HW support, it behaves like a spin_mutex. It should be used for locking short critical sections where the lock is contended but the data it protects are not. If zero-initialized, the mutex is considered unheld.

- +
-
-template<typename Iterator , typename Function >
- - - - - - - - - - - - - - - - - - - - - - - - - - - +
void tbb::parallel_for_each (Iterator first,
Iterator last,
const Function & f,
task_group_context & context 
)typedef interface7::internal::padded_mutex< tbb::spin_rw_mutex, true > tbb::interface8::speculative_spin_rw_mutex
-

Calls function f for all items from [first, last) interval using user-supplied context.

- -

Referenced by tbb::parallel_for_each().

- -
-
- -
-
-
-template<typename Range , typename Function >
- - - - - - - - - - - - - - - - - - - - - - - - -
void tbb::parallel_for_each (Range & rng,
const Function & f,
task_group_context & context 
)
-
- -

Calls function f for all items from rng using user-supplied context.

- -

References tbb::parallel_for_each().

- -
-
- -
-
-
-template<typename Range , typename Function >
- - - - - - - - - - - - - - - - - - - - - - - - -
void tbb::parallel_for_each (const Range & rng,
const Function & f,
task_group_context & context 
)
-
- -

Calls function f for all items from const rng user-supplied context.

- -

References tbb::parallel_for_each().

- -
-
- -
-
-
-template<typename F0 , typename F1 , typename... F>
- - - - - - - - - - - - - - - - - - - - - - - - -
void tbb::parallel_invoke (F0 && f0,
F1 && f1,
F &&... f 
)
-
- -

Executes a list of tasks in parallel and waits for all tasks to complete.

- -
-
- -
-
-
-template<typename Range , typename Body >
- - - - - - - - - - - - - - - - - - -
void tbb::parallel_reduce (const Range & range,
Body & body 
)
-
- -

Parallel iteration with reduction and default partitioner.

- -
-
- -
-
-
-template<typename Range , typename Body >
- - - - - - - - - - - - - - - - - - - - - - - - -
void tbb::parallel_reduce (const Range & range,
Body & body,
const simple_partitioner & partitioner 
)
-
- -

Parallel iteration with reduction and simple_partitioner.

- -
-
- -
-
-
-template<typename Range , typename Body >
- - - - - - - - - - - - - - - - - - - - - - - - -
void tbb::parallel_reduce (const Range & range,
Body & body,
const auto_partitioner & partitioner 
)
-
- -

Parallel iteration with reduction and auto_partitioner.

- -
-
- -
-
-
-template<typename Range , typename Body >
- - - - - - - - - - - - - - - - - - - - - - - - -
void tbb::parallel_reduce (const Range & range,
Body & body,
const static_partitioner & partitioner 
)
-
- -

Parallel iteration with reduction and static_partitioner.

- -
-
- -
-
-
-template<typename Range , typename Body >
- - - - - - - - - - - - - - - - - - - - - - - - -
void tbb::parallel_reduce (const Range & range,
Body & body,
affinity_partitioner & partitioner 
)
-
- -

Parallel iteration with reduction and affinity_partitioner.

- -
-
- -
-
-
-template<typename Range , typename Body >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void tbb::parallel_reduce (const Range & range,
Body & body,
const simple_partitioner & partitioner,
task_group_context & context 
)
-
- -

Parallel iteration with reduction, simple partitioner and user-supplied context.

- -
-
- -
-
-
-template<typename Range , typename Body >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void tbb::parallel_reduce (const Range & range,
Body & body,
const auto_partitioner & partitioner,
task_group_context & context 
)
-
- -

Parallel iteration with reduction, auto_partitioner and user-supplied context.

- -
-
- -
-
-
-template<typename Range , typename Body >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void tbb::parallel_reduce (const Range & range,
Body & body,
const static_partitioner & partitioner,
task_group_context & context 
)
-
- -

Parallel iteration with reduction, static_partitioner and user-supplied context.

- -
-
- -
-
-
-template<typename Range , typename Body >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
void tbb::parallel_reduce (const Range & range,
Body & body,
affinity_partitioner & partitioner,
task_group_context & context 
)
-
- -

Parallel iteration with reduction, affinity_partitioner and user-supplied context.

- -
-
- -
-
-
-template<typename Range , typename Value , typename RealBody , typename Reduction >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Value tbb::parallel_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction 
)
-
- -

Parallel iteration with reduction and default partitioner.

-

parallel_reduce overloads that work with anonymous function objects (see also requirements on parallel_reduce anonymous function objects).

- -
-
- -
-
-
-template<typename Range , typename Value , typename RealBody , typename Reduction >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Value tbb::parallel_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction,
const simple_partitioner & partitioner 
)
-
- -

Parallel iteration with reduction and simple_partitioner.

- -
-
- -
-
-
-template<typename Range , typename Value , typename RealBody , typename Reduction >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Value tbb::parallel_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction,
const auto_partitioner & partitioner 
)
-
- -

Parallel iteration with reduction and auto_partitioner.

- -
-
- -
-
-
-template<typename Range , typename Value , typename RealBody , typename Reduction >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Value tbb::parallel_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction,
const static_partitioner & partitioner 
)
-
- -

Parallel iteration with reduction and static_partitioner.

- -
-
- -
-
-
-template<typename Range , typename Value , typename RealBody , typename Reduction >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Value tbb::parallel_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction,
affinity_partitioner & partitioner 
)
-
- -

Parallel iteration with reduction and affinity_partitioner.

- -
-
- -
-
-
-template<typename Range , typename Value , typename RealBody , typename Reduction >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Value tbb::parallel_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction,
const simple_partitioner & partitioner,
task_group_context & context 
)
-
- -

Parallel iteration with reduction, simple partitioner and user-supplied context.

- -
-
- -
-
-
-template<typename Range , typename Value , typename RealBody , typename Reduction >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Value tbb::parallel_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction,
const auto_partitioner & partitioner,
task_group_context & context 
)
-
- -

Parallel iteration with reduction, auto_partitioner and user-supplied context.

- -
-
- -
-
-
-template<typename Range , typename Value , typename RealBody , typename Reduction >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Value tbb::parallel_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction,
const static_partitioner & partitioner,
task_group_context & context 
)
-
- -

Parallel iteration with reduction, static_partitioner and user-supplied context.

- -
-
- -
-
-
-template<typename Range , typename Value , typename RealBody , typename Reduction >
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Value tbb::parallel_reduce (const Range & range,
const Value & identity,
const RealBody & real_body,
const Reduction & reduction,
affinity_partitioner & partitioner,
task_group_context & context 
)
-
- -

Parallel iteration with reduction, affinity_partitioner and user-supplied context.

- -
-
- -
-
-
-template<typename Range , typename Body >
- - - - - - - - - - - - - - - - - - -
void tbb::parallel_scan (const Range & range,
Body & body 
)
-
- -

Parallel prefix with default partitioner.

- -
-
- -
-
-
-template<typename Range , typename Body >
- - - - - - - - - - - - - - - - - - - - - - - - -
void tbb::parallel_scan (const Range & range,
Body & body,
const simple_partitioner & partitioner 
)
-
- -

Parallel prefix with simple_partitioner.

- -
-
- -
-
-
-template<typename Range , typename Body >
- - - - - - - - - - - - - - - - - - - - - - - - -
void tbb::parallel_scan (const Range & range,
Body & body,
const auto_partitioner & partitioner 
)
-
- -

Parallel prefix with auto_partitioner.

- -
-
- -
-
-
-template<typename RandomAccessIterator , typename Compare >
- - - - - - - - - - - - - - - - - - - - - - - - -
void tbb::parallel_sort (RandomAccessIterator begin,
RandomAccessIterator end,
const Compare & comp 
)
-
- -

Sorts the data in [begin,end) using the given comparator.

-

The compare function object is used for all comparisons between elements during sorting. The compare object must define a bool operator() function.

- -

Referenced by tbb::parallel_sort().

- -
-
- -
-
-
-template<typename RandomAccessIterator >
- - - - - -
- - - - - - - - - - - - - - - - - - -
void tbb::parallel_sort (RandomAccessIterator begin,
RandomAccessIterator end 
)
-
-inline
-
- -

Sorts the data in [begin,end) with a default comparator std::less<RandomAccessIterator>

- -

References tbb::parallel_sort().

- -
-
- -
-
-
-template<typename Range , typename Compare >
- - - - - - - - - - - - - - - - - - -
void tbb::parallel_sort (Range & rng,
const Compare & comp 
)
-
- -

Sorts the data in rng using the given comparator.

- -

References tbb::parallel_sort().

- -
-
- -
-
-
-template<typename Range , typename Compare >
- - - - - - - - - - - - - - - - - - -
void tbb::parallel_sort (const Range & rng,
const Compare & comp 
)
-
- -

Sorts the data in const rng using the given comparator.

- -

References tbb::parallel_sort().

- -
-
- -
-
-
-template<typename Range >
- - - - - - - - -
void tbb::parallel_sort (Range & rng)
-
- -

Sorts the data in rng with a default comparator std::less<RandomAccessIterator>

- -

References tbb::parallel_sort().

- -
-
- -
-
-
-template<typename Range >
- - - - - - - - -
void tbb::parallel_sort (const Range & rng)
-
- -

Sorts the data in const rng with a default comparator std::less<RandomAccessIterator>

- -

References tbb::parallel_sort().

- -
-
- -
-
-
-template<typename T >
- - - - - -
- - - - - - - - - - - - - - - - - - -
void tbb::parallel_sort (T * begin,
T * end 
)
-
-inline
-
- -

Sorts the data in the range [begin,end) with a default comparator std::less<T>

- -

References tbb::parallel_sort().

+

A cross-platform spin reader/writer mutex with speculative lock acquisition.

+

On platforms with proper HW support, this lock may speculatively execute its critical sections, using HW mechanisms to detect real data races and ensure atomicity of the critical sections. In particular, it uses Intel(R) Transactional Synchronization Extensions (Intel(R) TSX). Without such HW support, it behaves like a spin_rw_mutex. It should be used for locking short critical sections where the lock is contended but the data it protects are not.

diff --git a/doc/html/a00261.html b/doc/html/a00261.html index 7c6445a..10ab5ab 100644 --- a/doc/html/a00261.html +++ b/doc/html/a00261.html @@ -4,7 +4,7 @@ -Containers +Timing @@ -29,29 +29,14 @@
-
Containers
+
Timing
- - - - - - - - - - - - - - - - - + +

Classes

class  tbb::combinable< T >
 Thread-local storage with optional reduction. More...
 
class  tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
 Unordered map from Key to T. More...
 
class  tbb::strict_ppl::concurrent_queue< T, A >
 A high-performance thread-safe non-blocking concurrent queue. More...
 
class  tbb::concurrent_bounded_queue< T, A >
 A high-performance thread-safe blocking concurrent bounded queue. More...
 
class  tbb::concurrent_vector< T, A >
 Concurrent vector container. More...
 
class  tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
 The enumerable_thread_specific container. More...
class  tbb::tick_count
 Absolute timestamp. More...
 

Detailed Description

diff --git a/doc/html/a00262.html b/doc/html/a00262.html index a106dcb..879fb3d 100644 --- a/doc/html/a00262.html +++ b/doc/html/a00262.html @@ -4,7 +4,7 @@ -Memory Allocation +Task Scheduling @@ -27,349 +27,19 @@
-
Memory Allocation
+
Task Scheduling
- - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Classes

class  tbb::aligned_space< T, N >
 Block of space aligned sufficiently to construct an array T with N elements. More...
class  tbb::task_scheduler_init
 Class delimiting the scope of task scheduler activity. More...
 
class  tbb::cache_aligned_allocator< T >
 Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. More...
 
class  tbb::cache_aligned_allocator< void >
 Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...
 
class  tbb::interface6::memory_pool_allocator< T, P >
 Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. More...
 
class  tbb::interface6::memory_pool_allocator< void, P >
 Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...
 
class  tbb::scalable_allocator< T >
 Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. More...
 
class  tbb::scalable_allocator< void >
 Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...
 
class  tbb::tbb_allocator< T >
 Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. More...
 
class  tbb::tbb_allocator< void >
 Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...
 
class  tbb::zero_allocator< T, Allocator >
 Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5. More...
 
class  tbb::zero_allocator< void, Allocator >
 Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1. More...
 
- - - - - - - - - - - - - - - - - - - - - - -

-Functions

void *__TBB_EXPORTED_FUNC scalable_malloc (size_t size)
 
void __TBB_EXPORTED_FUNC scalable_free (void *ptr)
 
void *__TBB_EXPORTED_FUNC scalable_realloc (void *ptr, size_t size)
 
void *__TBB_EXPORTED_FUNC scalable_calloc (size_t nobj, size_t size)
 
int __TBB_EXPORTED_FUNC scalable_posix_memalign (void **memptr, size_t alignment, size_t size)
 
void *__TBB_EXPORTED_FUNC scalable_aligned_malloc (size_t size, size_t alignment)
 
void *__TBB_EXPORTED_FUNC scalable_aligned_realloc (void *ptr, size_t size, size_t alignment)
 
void __TBB_EXPORTED_FUNC scalable_aligned_free (void *ptr)
 
size_t __TBB_EXPORTED_FUNC scalable_msize (void *ptr)
 
int __TBB_EXPORTED_FUNC scalable_allocation_mode (int param, intptr_t value)
 
int __TBB_EXPORTED_FUNC scalable_allocation_command (int cmd, void *param)
 

Detailed Description

-

Function Documentation

- -
-
- - - - - - - - -
void __TBB_EXPORTED_FUNC scalable_aligned_free (void * ptr)
-
-

The "_aligned_free" analogue.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void* __TBB_EXPORTED_FUNC scalable_aligned_malloc (size_t size,
size_t alignment 
)
-
-

The "_aligned_malloc" analogue.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
void* __TBB_EXPORTED_FUNC scalable_aligned_realloc (void * ptr,
size_t size,
size_t alignment 
)
-
-

The "_aligned_realloc" analogue.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
int __TBB_EXPORTED_FUNC scalable_allocation_command (int cmd,
void * param 
)
-
-

Call TBB allocator-specific commands.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
int __TBB_EXPORTED_FUNC scalable_allocation_mode (int param,
intptr_t value 
)
-
-

Set TBB allocator-specific allocation modes.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void* __TBB_EXPORTED_FUNC scalable_calloc (size_t nobj,
size_t size 
)
-
-

The "calloc" analogue complementing scalable_malloc.

- -
-
- -
-
- - - - - - - - -
void __TBB_EXPORTED_FUNC scalable_free (void * ptr)
-
-

The "free" analogue to discard a previously allocated piece of memory.

- -

Referenced by tbb::scalable_allocator< T >::deallocate().

- -
-
- -
-
- - - - - - - - -
void* __TBB_EXPORTED_FUNC scalable_malloc (size_t size)
-
-

The "malloc" analogue to allocate block of memory of size bytes.

- -

Referenced by tbb::scalable_allocator< T >::allocate().

- -
-
- -
-
- - - - - - - - -
size_t __TBB_EXPORTED_FUNC scalable_msize (void * ptr)
-
-

The analogue of msize/malloc_size/malloc_usable_size. Returns the usable size of a memory block previously allocated by scalable*, or 0 (zero) if ptr does not point to such a block.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - - - - - - - -
int __TBB_EXPORTED_FUNC scalable_posix_memalign (void ** memptr,
size_t alignment,
size_t size 
)
-
-

The "posix_memalign" analogue.

- -
-
- -
-
- - - - - - - - - - - - - - - - - - -
void* __TBB_EXPORTED_FUNC scalable_realloc (void * ptr,
size_t size 
)
-
-

The "realloc" analogue complementing scalable_malloc.

- -
-

diff --git a/doc/html/a00263.html b/doc/html/a00263.html deleted file mode 100644 index 21b05f1..0000000 --- a/doc/html/a00263.html +++ /dev/null @@ -1,125 +0,0 @@ - - - - - - -Synchronization - - - - - - - -
- -
-
Synchronization
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

-Classes

struct  tbb::atomic< T >
 Primary template for atomic. More...
 
class  tbb::mutex
 Wrapper around the platform's native lock. More...
 
class  tbb::null_mutex
 A mutex which does nothing. More...
 
class  tbb::null_rw_mutex
 A rw mutex which does nothing. More...
 
class  tbb::queuing_mutex
 Queuing mutex with local-only spinning. More...
 
class  tbb::queuing_rw_mutex
 Queuing reader-writer mutex with local-only spinning. More...
 
class  tbb::interface5::reader_writer_lock
 Writer-preference reader-writer lock with local-only spinning on readers. More...
 
class  tbb::recursive_mutex
 
class  tbb::spin_mutex
 A lock that occupies a single byte. More...
 
class  tbb::spin_rw_mutex_v3
 Fast, unfair, spinning reader-writer lock with backoff and writer-preference. More...
 
- - - - - - - -

-Typedefs

typedef
-interface7::internal::padded_mutex
-< interface7::internal::x86_eliding_mutex,
-false > 
tbb::speculative_spin_mutex
 A cross-platform spin mutex with speculative lock acquisition. More...
 
typedef
-interface7::internal::padded_mutex
-< tbb::interface8::internal::x86_rtm_rw_mutex,
-true > 
tbb::interface8::speculative_spin_rw_mutex
 A cross-platform spin reader/writer mutex with speculative lock acquisition. More...
 
-

Detailed Description

-

Typedef Documentation

- -
-
- - - - -
typedef interface7::internal::padded_mutex< spin_mutex, false > tbb::speculative_spin_mutex
-
- -

A cross-platform spin mutex with speculative lock acquisition.

-

On platforms with proper HW support, this lock may speculatively execute its critical sections, using HW mechanisms to detect real data races and ensure atomicity of the critical sections. In particular, it uses Intel(R) Transactional Synchronization Extensions (Intel(R) TSX). Without such HW support, it behaves like a spin_mutex. It should be used for locking short critical sections where the lock is contended but the data it protects are not. If zero-initialized, the mutex is considered unheld.

- -
-
- -
-
- - - - -
typedef interface7::internal::padded_mutex< tbb::spin_rw_mutex, true > tbb::interface8::speculative_spin_rw_mutex
-
- -

A cross-platform spin reader/writer mutex with speculative lock acquisition.

-

On platforms with proper HW support, this lock may speculatively execute its critical sections, using HW mechanisms to detect real data races and ensure atomicity of the critical sections. In particular, it uses Intel(R) Transactional Synchronization Extensions (Intel(R) TSX). Without such HW support, it behaves like a spin_rw_mutex. It should be used for locking short critical sections where the lock is contended but the data it protects are not.

- -
-
-
-
-

-Copyright © 2005-2017 Intel Corporation. All Rights Reserved. -

-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. -

-* Other names and brands may be claimed as the property of others. diff --git a/doc/html/a00264.html b/doc/html/a00264.html index 7a73373..c3b8876 100644 --- a/doc/html/a00264.html +++ b/doc/html/a00264.html @@ -4,7 +4,7 @@ -Timing +Member List @@ -20,27 +20,28 @@
  • Related Pages
  • Modules
  • Namespaces
  • -
  • Classes
  • +
  • Classes
  • Files
  • +
    -
    -
    Timing
    +
    __TBB_malloc_proxy_caller Member List
    - - - - - -

    -Classes

    class  tbb::tick_count
     Absolute timestamp. More...
     
    -

    Detailed Description

    -
    + +

    This is the complete list of members for __TBB_malloc_proxy_caller, including all inherited members.

    + + +
    __TBB_malloc_proxy_caller() (defined in __TBB_malloc_proxy_caller)__TBB_malloc_proxy_callerinline

    Copyright © 2005-2017 Intel Corporation. All Rights Reserved. diff --git a/doc/html/a00265.html b/doc/html/a00265.html index 9efb37e..33a9751 100644 --- a/doc/html/a00265.html +++ b/doc/html/a00265.html @@ -4,7 +4,7 @@ -Task Scheduling +Member List @@ -20,27 +20,40 @@
  • Related Pages
  • Modules
  • Namespaces
  • -
  • Classes
  • +
  • Classes
  • Files
  • + +
    -
    -
    Task Scheduling
    +
    rml::MemPoolPolicy Member List
    - - - - - -

    -Classes

    class  tbb::task_scheduler_init
     Class delimiting the scope of task scheduler activity. More...
     
    -

    Detailed Description

    -
    + +

    This is the complete list of members for rml::MemPoolPolicy, including all inherited members.

    + + + + + + + + + + +
    fixedPool (defined in rml::MemPoolPolicy)rml::MemPoolPolicy
    granularity (defined in rml::MemPoolPolicy)rml::MemPoolPolicy
    keepAllMemory (defined in rml::MemPoolPolicy)rml::MemPoolPolicy
    MemPoolPolicy(rawAllocType pAlloc_, rawFreeType pFree_, size_t granularity_=0, bool fixedPool_=false, bool keepAllMemory_=false) (defined in rml::MemPoolPolicy)rml::MemPoolPolicyinline
    pAlloc (defined in rml::MemPoolPolicy)rml::MemPoolPolicy
    pFree (defined in rml::MemPoolPolicy)rml::MemPoolPolicy
    reserved (defined in rml::MemPoolPolicy)rml::MemPoolPolicy
    TBBMALLOC_POOL_VERSION enum value (defined in rml::MemPoolPolicy)rml::MemPoolPolicy
    version (defined in rml::MemPoolPolicy)rml::MemPoolPolicy

    Copyright © 2005-2017 Intel Corporation. All Rights Reserved. diff --git a/doc/html/a00266.html b/doc/html/a00266.html new file mode 100644 index 0000000..ff7feb9 --- /dev/null +++ b/doc/html/a00266.html @@ -0,0 +1,58 @@ + + + + + + +Member List + + + + + + + +
    +
    +
    tbb::aligned_space< T, N > Member List
    +
    +
    + +

    This is the complete list of members for tbb::aligned_space< T, N >, including all inherited members.

    + + + +
    begin() const tbb::aligned_space< T, N >inline
    end() const tbb::aligned_space< T, N >inline
    +
    +

    +Copyright © 2005-2017 Intel Corporation. All Rights Reserved. +

    +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. +

    +* Other names and brands may be claimed as the property of others. diff --git a/doc/html/a00267.html b/doc/html/a00267.html index c3b8876..c38ba7a 100644 --- a/doc/html/a00267.html +++ b/doc/html/a00267.html @@ -31,16 +31,23 @@
  • Class Members
  • +
    -
    __TBB_malloc_proxy_caller Member List
    +
    tbb::atomic< T > Member List
    -

    This is the complete list of members for __TBB_malloc_proxy_caller, including all inherited members.

    +

    This is the complete list of members for tbb::atomic< T >, including all inherited members.

    - + + + +
    __TBB_malloc_proxy_caller() (defined in __TBB_malloc_proxy_caller)__TBB_malloc_proxy_callerinline
    atomic()=default (defined in tbb::atomic< T >)tbb::atomic< T >
    atomic(T arg) (defined in tbb::atomic< T >)tbb::atomic< T >inline
    operator=(T rhs) (defined in tbb::atomic< T >)tbb::atomic< T >inline
    operator=(const atomic< T > &rhs) (defined in tbb::atomic< T >)tbb::atomic< T >inline

    diff --git a/doc/html/a00268.html b/doc/html/a00268.html index aaa0b8b..56cdd50 100644 --- a/doc/html/a00268.html +++ b/doc/html/a00268.html @@ -33,26 +33,21 @@
    -
    rml::MemPoolPolicy Member List
    +
    tbb::atomic< void * > Member List
    -

    This is the complete list of members for rml::MemPoolPolicy, including all inherited members.

    +

    This is the complete list of members for tbb::atomic< void * >, including all inherited members.

    - - - - - - - - - + + + +
    fixedPool (defined in rml::MemPoolPolicy)rml::MemPoolPolicy
    granularity (defined in rml::MemPoolPolicy)rml::MemPoolPolicy
    keepAllMemory (defined in rml::MemPoolPolicy)rml::MemPoolPolicy
    MemPoolPolicy(rawAllocType pAlloc_, rawFreeType pFree_, size_t granularity_=0, bool fixedPool_=false, bool keepAllMemory_=false) (defined in rml::MemPoolPolicy)rml::MemPoolPolicyinline
    pAlloc (defined in rml::MemPoolPolicy)rml::MemPoolPolicy
    pFree (defined in rml::MemPoolPolicy)rml::MemPoolPolicy
    reserved (defined in rml::MemPoolPolicy)rml::MemPoolPolicy
    TBBMALLOC_POOL_VERSION enum value (defined in rml::MemPoolPolicy)rml::MemPoolPolicy
    version (defined in rml::MemPoolPolicy)rml::MemPoolPolicy
    atomic()=default (defined in tbb::atomic< void * >)tbb::atomic< void * >
    atomic(void *arg) (defined in tbb::atomic< void * >)tbb::atomic< void * >inline
    operator=(void *rhs) (defined in tbb::atomic< void * >)tbb::atomic< void * >inline
    operator=(const atomic< void * > &rhs) (defined in tbb::atomic< void * >)tbb::atomic< void * >inline

    diff --git a/doc/html/a00269.html b/doc/html/a00269.html index aeb600e..97141b4 100644 --- a/doc/html/a00269.html +++ b/doc/html/a00269.html @@ -33,19 +33,32 @@
    -
    tbb::aligned_space< T, N > Member List
    +
    tbb::blocked_range< Value > Member List
    -

    This is the complete list of members for tbb::aligned_space< T, N >, including all inherited members.

    +

    This is the complete list of members for tbb::blocked_range< Value >, including all inherited members.

    - - + + + + + + + + + + + + + + +
    begin() const tbb::aligned_space< T, N >inline
    end() const tbb::aligned_space< T, N >inline
    begin() const tbb::blocked_range< Value >inline
    blocked_range()tbb::blocked_range< Value >inline
    blocked_range(Value begin_, Value end_, size_type grainsize_=1)tbb::blocked_range< Value >inline
    blocked_range(blocked_range &r, split)tbb::blocked_range< Value >inline
    blocked_range(blocked_range &r, proportional_split &proportion)tbb::blocked_range< Value >inline
    blocked_range2d (defined in tbb::blocked_range< Value >)tbb::blocked_range< Value >friend
    blocked_range3d (defined in tbb::blocked_range< Value >)tbb::blocked_range< Value >friend
    const_iterator typedeftbb::blocked_range< Value >
    empty() const tbb::blocked_range< Value >inline
    end() const tbb::blocked_range< Value >inline
    grainsize() const tbb::blocked_range< Value >inline
    is_divisible() const tbb::blocked_range< Value >inline
    is_splittable_in_proportiontbb::blocked_range< Value >static
    size() const tbb::blocked_range< Value >inline
    size_type typedeftbb::blocked_range< Value >

    diff --git a/doc/html/a00270.html b/doc/html/a00270.html index d0f5a57..5371ec6 100644 --- a/doc/html/a00270.html +++ b/doc/html/a00270.html @@ -33,21 +33,28 @@
    -
    tbb::atomic< T > Member List
    +
    tbb::blocked_range2d< RowValue, ColValue > Member List
    -

    This is the complete list of members for tbb::atomic< T >, including all inherited members.

    +

    This is the complete list of members for tbb::blocked_range2d< RowValue, ColValue >, including all inherited members.

    - - - - + + + + + + + + + + +
    atomic()=default (defined in tbb::atomic< T >)tbb::atomic< T >
    atomic(T arg) (defined in tbb::atomic< T >)tbb::atomic< T >inline
    operator=(T rhs) (defined in tbb::atomic< T >)tbb::atomic< T >inline
    operator=(const atomic< T > &rhs) (defined in tbb::atomic< T >)tbb::atomic< T >inline
    blocked_range2d(RowValue row_begin, RowValue row_end, typename row_range_type::size_type row_grainsize, ColValue col_begin, ColValue col_end, typename col_range_type::size_type col_grainsize) (defined in tbb::blocked_range2d< RowValue, ColValue >)tbb::blocked_range2d< RowValue, ColValue >inline
    blocked_range2d(RowValue row_begin, RowValue row_end, ColValue col_begin, ColValue col_end) (defined in tbb::blocked_range2d< RowValue, ColValue >)tbb::blocked_range2d< RowValue, ColValue >inline
    blocked_range2d(blocked_range2d &r, split) (defined in tbb::blocked_range2d< RowValue, ColValue >)tbb::blocked_range2d< RowValue, ColValue >inline
    blocked_range2d(blocked_range2d &r, proportional_split &proportion) (defined in tbb::blocked_range2d< RowValue, ColValue >)tbb::blocked_range2d< RowValue, ColValue >inline
    col_range_type typedef (defined in tbb::blocked_range2d< RowValue, ColValue >)tbb::blocked_range2d< RowValue, ColValue >
    cols() const tbb::blocked_range2d< RowValue, ColValue >inline
    empty() const tbb::blocked_range2d< RowValue, ColValue >inline
    is_divisible() const tbb::blocked_range2d< RowValue, ColValue >inline
    is_splittable_in_proportiontbb::blocked_range2d< RowValue, ColValue >static
    row_range_type typedeftbb::blocked_range2d< RowValue, ColValue >
    rows() const tbb::blocked_range2d< RowValue, ColValue >inline

    diff --git a/doc/html/a00271.html b/doc/html/a00271.html index 460b3b6..fd77088 100644 --- a/doc/html/a00271.html +++ b/doc/html/a00271.html @@ -33,21 +33,30 @@
    -
    tbb::atomic< void * > Member List
    +
    tbb::blocked_range3d< PageValue, RowValue, ColValue > Member List
    -

    This is the complete list of members for tbb::atomic< void * >, including all inherited members.

    +

    This is the complete list of members for tbb::blocked_range3d< PageValue, RowValue, ColValue >, including all inherited members.

    - - - - + + + + + + + + + + + + +
    atomic()=default (defined in tbb::atomic< void * >)tbb::atomic< void * >
    atomic(void *arg) (defined in tbb::atomic< void * >)tbb::atomic< void * >inline
    operator=(void *rhs) (defined in tbb::atomic< void * >)tbb::atomic< void * >inline
    operator=(const atomic< void * > &rhs) (defined in tbb::atomic< void * >)tbb::atomic< void * >inline
    blocked_range3d(PageValue page_begin, PageValue page_end, RowValue row_begin, RowValue row_end, ColValue col_begin, ColValue col_end) (defined in tbb::blocked_range3d< PageValue, RowValue, ColValue >)tbb::blocked_range3d< PageValue, RowValue, ColValue >inline
    blocked_range3d(PageValue page_begin, PageValue page_end, typename page_range_type::size_type page_grainsize, RowValue row_begin, RowValue row_end, typename row_range_type::size_type row_grainsize, ColValue col_begin, ColValue col_end, typename col_range_type::size_type col_grainsize) (defined in tbb::blocked_range3d< PageValue, RowValue, ColValue >)tbb::blocked_range3d< PageValue, RowValue, ColValue >inline
    blocked_range3d(blocked_range3d &r, split) (defined in tbb::blocked_range3d< PageValue, RowValue, ColValue >)tbb::blocked_range3d< PageValue, RowValue, ColValue >inline
    blocked_range3d(blocked_range3d &r, proportional_split &proportion) (defined in tbb::blocked_range3d< PageValue, RowValue, ColValue >)tbb::blocked_range3d< PageValue, RowValue, ColValue >inline
    col_range_type typedef (defined in tbb::blocked_range3d< PageValue, RowValue, ColValue >)tbb::blocked_range3d< PageValue, RowValue, ColValue >
    cols() const tbb::blocked_range3d< PageValue, RowValue, ColValue >inline
    empty() const tbb::blocked_range3d< PageValue, RowValue, ColValue >inline
    is_divisible() const tbb::blocked_range3d< PageValue, RowValue, ColValue >inline
    is_splittable_in_proportiontbb::blocked_range3d< PageValue, RowValue, ColValue >static
    page_range_type typedeftbb::blocked_range3d< PageValue, RowValue, ColValue >
    pages() const tbb::blocked_range3d< PageValue, RowValue, ColValue >inline
    row_range_type typedef (defined in tbb::blocked_range3d< PageValue, RowValue, ColValue >)tbb::blocked_range3d< PageValue, RowValue, ColValue >
    rows() const tbb::blocked_range3d< PageValue, RowValue, ColValue >inline

    diff --git a/doc/html/a00272.html b/doc/html/a00272.html index bca4834..015488b 100644 --- a/doc/html/a00272.html +++ b/doc/html/a00272.html @@ -33,32 +33,36 @@
    -
    tbb::blocked_range< Value > Member List
    +
    tbb::cache_aligned_allocator< T > Member List
    -

    This is the complete list of members for tbb::blocked_range< Value >, including all inherited members.

    +

    This is the complete list of members for tbb::cache_aligned_allocator< T >, including all inherited members.

    - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + +
    begin() const tbb::blocked_range< Value >inline
    blocked_range()tbb::blocked_range< Value >inline
    blocked_range(Value begin_, Value end_, size_type grainsize_=1)tbb::blocked_range< Value >inline
    blocked_range(blocked_range &r, split)tbb::blocked_range< Value >inline
    blocked_range(blocked_range &r, proportional_split &proportion)tbb::blocked_range< Value >inline
    blocked_range2d (defined in tbb::blocked_range< Value >)tbb::blocked_range< Value >friend
    blocked_range3d (defined in tbb::blocked_range< Value >)tbb::blocked_range< Value >friend
    const_iterator typedeftbb::blocked_range< Value >
    empty() const tbb::blocked_range< Value >inline
    end() const tbb::blocked_range< Value >inline
    grainsize() const tbb::blocked_range< Value >inline
    is_divisible() const tbb::blocked_range< Value >inline
    is_splittable_in_proportiontbb::blocked_range< Value >static
    size() const tbb::blocked_range< Value >inline
    size_type typedeftbb::blocked_range< Value >
    address(reference x) const (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >inline
    address(const_reference x) const (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >inline
    allocate(size_type n, const void *hint=0)tbb::cache_aligned_allocator< T >inline
    cache_aligned_allocator() (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >inline
    cache_aligned_allocator(const cache_aligned_allocator &) (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >inline
    cache_aligned_allocator(const cache_aligned_allocator< U > &) (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >inline
    const_pointer typedef (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >
    const_reference typedef (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >
    construct(U *p, Args &&...args)tbb::cache_aligned_allocator< T >inline
    construct(pointer p, value_type &&value) (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >inline
    construct(pointer p, const value_type &value) (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >inline
    deallocate(pointer p, size_type)tbb::cache_aligned_allocator< T >inline
    destroy(pointer p)tbb::cache_aligned_allocator< T >inline
    difference_type typedef (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >
    max_size() const tbb::cache_aligned_allocator< T >inline
    pointer typedef (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >
    reference typedef (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >
    size_type typedef (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >
    value_type typedef (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >

    diff --git a/doc/html/a00273.html b/doc/html/a00273.html index f69cfbe..504389e 100644 --- a/doc/html/a00273.html +++ b/doc/html/a00273.html @@ -33,28 +33,18 @@
    -
    tbb::blocked_range2d< RowValue, ColValue > Member List
    +
    tbb::cache_aligned_allocator< T >::rebind< U > Member List
    -

    This is the complete list of members for tbb::blocked_range2d< RowValue, ColValue >, including all inherited members.

    +

    This is the complete list of members for tbb::cache_aligned_allocator< T >::rebind< U >, including all inherited members.

    - - - - - - - - - - - +
    blocked_range2d(RowValue row_begin, RowValue row_end, typename row_range_type::size_type row_grainsize, ColValue col_begin, ColValue col_end, typename col_range_type::size_type col_grainsize) (defined in tbb::blocked_range2d< RowValue, ColValue >)tbb::blocked_range2d< RowValue, ColValue >inline
    blocked_range2d(RowValue row_begin, RowValue row_end, ColValue col_begin, ColValue col_end) (defined in tbb::blocked_range2d< RowValue, ColValue >)tbb::blocked_range2d< RowValue, ColValue >inline
    blocked_range2d(blocked_range2d &r, split) (defined in tbb::blocked_range2d< RowValue, ColValue >)tbb::blocked_range2d< RowValue, ColValue >inline
    blocked_range2d(blocked_range2d &r, proportional_split &proportion) (defined in tbb::blocked_range2d< RowValue, ColValue >)tbb::blocked_range2d< RowValue, ColValue >inline
    col_range_type typedef (defined in tbb::blocked_range2d< RowValue, ColValue >)tbb::blocked_range2d< RowValue, ColValue >
    cols() const tbb::blocked_range2d< RowValue, ColValue >inline
    empty() const tbb::blocked_range2d< RowValue, ColValue >inline
    is_divisible() const tbb::blocked_range2d< RowValue, ColValue >inline
    is_splittable_in_proportiontbb::blocked_range2d< RowValue, ColValue >static
    row_range_type typedeftbb::blocked_range2d< RowValue, ColValue >
    rows() const tbb::blocked_range2d< RowValue, ColValue >inline
    other typedef (defined in tbb::cache_aligned_allocator< T >::rebind< U >)tbb::cache_aligned_allocator< T >::rebind< U >

    diff --git a/doc/html/a00274.html b/doc/html/a00274.html index f8eb3fe..f80e1f5 100644 --- a/doc/html/a00274.html +++ b/doc/html/a00274.html @@ -33,30 +33,20 @@
    -
    tbb::blocked_range3d< PageValue, RowValue, ColValue > Member List
    +
    tbb::cache_aligned_allocator< void > Member List
    -

    This is the complete list of members for tbb::blocked_range3d< PageValue, RowValue, ColValue >, including all inherited members.

    +

    This is the complete list of members for tbb::cache_aligned_allocator< void >, including all inherited members.

    - - - - - - - - - - - - - + + +
    blocked_range3d(PageValue page_begin, PageValue page_end, RowValue row_begin, RowValue row_end, ColValue col_begin, ColValue col_end) (defined in tbb::blocked_range3d< PageValue, RowValue, ColValue >)tbb::blocked_range3d< PageValue, RowValue, ColValue >inline
    blocked_range3d(PageValue page_begin, PageValue page_end, typename page_range_type::size_type page_grainsize, RowValue row_begin, RowValue row_end, typename row_range_type::size_type row_grainsize, ColValue col_begin, ColValue col_end, typename col_range_type::size_type col_grainsize) (defined in tbb::blocked_range3d< PageValue, RowValue, ColValue >)tbb::blocked_range3d< PageValue, RowValue, ColValue >inline
    blocked_range3d(blocked_range3d &r, split) (defined in tbb::blocked_range3d< PageValue, RowValue, ColValue >)tbb::blocked_range3d< PageValue, RowValue, ColValue >inline
    blocked_range3d(blocked_range3d &r, proportional_split &proportion) (defined in tbb::blocked_range3d< PageValue, RowValue, ColValue >)tbb::blocked_range3d< PageValue, RowValue, ColValue >inline
    col_range_type typedef (defined in tbb::blocked_range3d< PageValue, RowValue, ColValue >)tbb::blocked_range3d< PageValue, RowValue, ColValue >
    cols() const tbb::blocked_range3d< PageValue, RowValue, ColValue >inline
    empty() const tbb::blocked_range3d< PageValue, RowValue, ColValue >inline
    is_divisible() const tbb::blocked_range3d< PageValue, RowValue, ColValue >inline
    is_splittable_in_proportiontbb::blocked_range3d< PageValue, RowValue, ColValue >static
    page_range_type typedeftbb::blocked_range3d< PageValue, RowValue, ColValue >
    pages() const tbb::blocked_range3d< PageValue, RowValue, ColValue >inline
    row_range_type typedef (defined in tbb::blocked_range3d< PageValue, RowValue, ColValue >)tbb::blocked_range3d< PageValue, RowValue, ColValue >
    rows() const tbb::blocked_range3d< PageValue, RowValue, ColValue >inline
    const_pointer typedef (defined in tbb::cache_aligned_allocator< void >)tbb::cache_aligned_allocator< void >
    pointer typedef (defined in tbb::cache_aligned_allocator< void >)tbb::cache_aligned_allocator< void >
    value_type typedef (defined in tbb::cache_aligned_allocator< void >)tbb::cache_aligned_allocator< void >

    diff --git a/doc/html/a00275.html b/doc/html/a00275.html index 68dc4bc..52f6cf8 100644 --- a/doc/html/a00275.html +++ b/doc/html/a00275.html @@ -33,36 +33,18 @@
    -
    tbb::cache_aligned_allocator< T > Member List
    +
    tbb::cache_aligned_allocator< void >::rebind< U > Member List
    -

    This is the complete list of members for tbb::cache_aligned_allocator< T >, including all inherited members.

    +

    This is the complete list of members for tbb::cache_aligned_allocator< void >::rebind< U >, including all inherited members.

    - - - - - - - - - - - - - - - - - - - +
    address(reference x) const (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >inline
    address(const_reference x) const (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >inline
    allocate(size_type n, const void *hint=0)tbb::cache_aligned_allocator< T >inline
    cache_aligned_allocator() (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >inline
    cache_aligned_allocator(const cache_aligned_allocator &) (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >inline
    cache_aligned_allocator(const cache_aligned_allocator< U > &) (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >inline
    const_pointer typedef (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >
    const_reference typedef (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >
    construct(U *p, Args &&...args)tbb::cache_aligned_allocator< T >inline
    construct(pointer p, value_type &&value) (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >inline
    construct(pointer p, const value_type &value) (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >inline
    deallocate(pointer p, size_type)tbb::cache_aligned_allocator< T >inline
    destroy(pointer p)tbb::cache_aligned_allocator< T >inline
    difference_type typedef (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >
    max_size() const tbb::cache_aligned_allocator< T >inline
    pointer typedef (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >
    reference typedef (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >
    size_type typedef (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >
    value_type typedef (defined in tbb::cache_aligned_allocator< T >)tbb::cache_aligned_allocator< T >
    other typedef (defined in tbb::cache_aligned_allocator< void >::rebind< U >)tbb::cache_aligned_allocator< void >::rebind< U >

    diff --git a/doc/html/a00276.html b/doc/html/a00276.html index edacc76..5fcc292 100644 --- a/doc/html/a00276.html +++ b/doc/html/a00276.html @@ -33,18 +33,29 @@
    -
    tbb::cache_aligned_allocator< T >::rebind< U > Member List
    +
    tbb::combinable< T > Member List
    -

    This is the complete list of members for tbb::cache_aligned_allocator< T >::rebind< U >, including all inherited members.

    +

    This is the complete list of members for tbb::combinable< T >, including all inherited members.

    - + + + + + + + + + + + +
    other typedef (defined in tbb::cache_aligned_allocator< T >::rebind< U >)tbb::cache_aligned_allocator< T >::rebind< U >
    clear() (defined in tbb::combinable< T >)tbb::combinable< T >inline
    combinable() (defined in tbb::combinable< T >)tbb::combinable< T >inline
    combinable(finit _finit) (defined in tbb::combinable< T >)tbb::combinable< T >inlineexplicit
    combinable(const combinable &other) (defined in tbb::combinable< T >)tbb::combinable< T >inline
    combinable(combinable &&other) (defined in tbb::combinable< T >)tbb::combinable< T >inline
    combine(combine_func_t f_combine) (defined in tbb::combinable< T >)tbb::combinable< T >inline
    combine_each(combine_func_t f_combine) (defined in tbb::combinable< T >)tbb::combinable< T >inline
    local() (defined in tbb::combinable< T >)tbb::combinable< T >inline
    local(bool &exists) (defined in tbb::combinable< T >)tbb::combinable< T >inline
    operator=(const combinable &other) (defined in tbb::combinable< T >)tbb::combinable< T >inline
    operator=(combinable &&other) (defined in tbb::combinable< T >)tbb::combinable< T >inline
    ~combinable()tbb::combinable< T >inline

    diff --git a/doc/html/a00277.html b/doc/html/a00277.html index 7ce955d..d3e5b1e 100644 --- a/doc/html/a00277.html +++ b/doc/html/a00277.html @@ -33,20 +33,51 @@
    -
    tbb::cache_aligned_allocator< void > Member List
    +
    tbb::concurrent_bounded_queue< T, A > Member List
    -

    This is the complete list of members for tbb::cache_aligned_allocator< void >, including all inherited members.

    +

    This is the complete list of members for tbb::concurrent_bounded_queue< T, A >, including all inherited members.

    - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    const_pointer typedef (defined in tbb::cache_aligned_allocator< void >)tbb::cache_aligned_allocator< void >
    pointer typedef (defined in tbb::cache_aligned_allocator< void >)tbb::cache_aligned_allocator< void >
    value_type typedef (defined in tbb::cache_aligned_allocator< void >)tbb::cache_aligned_allocator< void >
    abort()tbb::concurrent_bounded_queue< T, A >inline
    allocator_type typedeftbb::concurrent_bounded_queue< T, A >
    capacity() const tbb::concurrent_bounded_queue< T, A >inline
    clear()tbb::concurrent_bounded_queue< T, A >
    concurrent_bounded_queue(const allocator_type &a=allocator_type())tbb::concurrent_bounded_queue< T, A >inlineexplicit
    concurrent_bounded_queue(const concurrent_bounded_queue &src, const allocator_type &a=allocator_type())tbb::concurrent_bounded_queue< T, A >inline
    concurrent_bounded_queue(concurrent_bounded_queue &&src)tbb::concurrent_bounded_queue< T, A >inline
    concurrent_bounded_queue(concurrent_bounded_queue &&src, const allocator_type &a) (defined in tbb::concurrent_bounded_queue< T, A >)tbb::concurrent_bounded_queue< T, A >inline
    concurrent_bounded_queue(InputIterator begin, InputIterator end, const allocator_type &a=allocator_type())tbb::concurrent_bounded_queue< T, A >inline
    const_iterator typedef (defined in tbb::concurrent_bounded_queue< T, A >)tbb::concurrent_bounded_queue< T, A >
    const_reference typedeftbb::concurrent_bounded_queue< T, A >
    difference_type typedeftbb::concurrent_bounded_queue< T, A >
    emplace(Arguments &&...args) (defined in tbb::concurrent_bounded_queue< T, A >)tbb::concurrent_bounded_queue< T, A >inline
    empty() const tbb::concurrent_bounded_queue< T, A >inline
    get_allocator() const tbb::concurrent_bounded_queue< T, A >inline
    internal::concurrent_queue_iterator (defined in tbb::concurrent_bounded_queue< T, A >)tbb::concurrent_bounded_queue< T, A >friend
    iterator typedef (defined in tbb::concurrent_bounded_queue< T, A >)tbb::concurrent_bounded_queue< T, A >
    pop(T &destination)tbb::concurrent_bounded_queue< T, A >inline
    push(const T &source)tbb::concurrent_bounded_queue< T, A >inline
    push(T &&source)tbb::concurrent_bounded_queue< T, A >inline
    reference typedeftbb::concurrent_bounded_queue< T, A >
    set_capacity(size_type new_capacity)tbb::concurrent_bounded_queue< T, A >inline
    size() const tbb::concurrent_bounded_queue< T, A >inline
    size_type typedeftbb::concurrent_bounded_queue< T, A >
    try_emplace(Arguments &&...args) (defined in tbb::concurrent_bounded_queue< T, A >)tbb::concurrent_bounded_queue< T, A >inline
    try_pop(T &destination)tbb::concurrent_bounded_queue< T, A >inline
    try_push(const T &source)tbb::concurrent_bounded_queue< T, A >inline
    try_push(T &&source)tbb::concurrent_bounded_queue< T, A >inline
    unsafe_begin() (defined in tbb::concurrent_bounded_queue< T, A >)tbb::concurrent_bounded_queue< T, A >inline
    unsafe_begin() const (defined in tbb::concurrent_bounded_queue< T, A >)tbb::concurrent_bounded_queue< T, A >inline
    unsafe_end() (defined in tbb::concurrent_bounded_queue< T, A >)tbb::concurrent_bounded_queue< T, A >inline
    unsafe_end() const (defined in tbb::concurrent_bounded_queue< T, A >)tbb::concurrent_bounded_queue< T, A >inline
    value_type typedeftbb::concurrent_bounded_queue< T, A >
    ~concurrent_bounded_queue()tbb::concurrent_bounded_queue< T, A >

    diff --git a/doc/html/a00278.html b/doc/html/a00278.html index 8d84298..0a91cb8 100644 --- a/doc/html/a00278.html +++ b/doc/html/a00278.html @@ -33,18 +33,95 @@
    -
    tbb::cache_aligned_allocator< void >::rebind< U > Member List
    +
    tbb::concurrent_vector< T, A > Member List
    -

    This is the complete list of members for tbb::cache_aligned_allocator< void >::rebind< U >, including all inherited members.

    +

    This is the complete list of members for tbb::concurrent_vector< T, A >, including all inherited members.

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    other typedef (defined in tbb::cache_aligned_allocator< void >::rebind< U >)tbb::cache_aligned_allocator< void >::rebind< U >
    allocator_type typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    assign(size_type n, const_reference t)tbb::concurrent_vector< T, A >inline
    assign(I first, I last)tbb::concurrent_vector< T, A >inline
    assign(std::initializer_list< T > init_list)tbb::concurrent_vector< T, A >inline
    at(size_type index)tbb::concurrent_vector< T, A >inline
    at(size_type index) const tbb::concurrent_vector< T, A >inline
    back()tbb::concurrent_vector< T, A >inline
    back() const tbb::concurrent_vector< T, A >inline
    begin()tbb::concurrent_vector< T, A >inline
    begin() const tbb::concurrent_vector< T, A >inline
    capacity() const tbb::concurrent_vector< T, A >inline
    cbegin() const tbb::concurrent_vector< T, A >inline
    cend() const tbb::concurrent_vector< T, A >inline
    clear()tbb::concurrent_vector< T, A >inline
    concurrent_vector(const allocator_type &a=allocator_type())tbb::concurrent_vector< T, A >inlineexplicit
    concurrent_vector(std::initializer_list< T > init_list, const allocator_type &a=allocator_type())tbb::concurrent_vector< T, A >inline
    concurrent_vector(const concurrent_vector &vector, const allocator_type &a=allocator_type())tbb::concurrent_vector< T, A >inline
    concurrent_vector(concurrent_vector &&source)tbb::concurrent_vector< T, A >inline
    concurrent_vector(concurrent_vector &&source, const allocator_type &a) (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >inline
    concurrent_vector(const concurrent_vector< T, M > &vector, const allocator_type &a=allocator_type())tbb::concurrent_vector< T, A >inline
    concurrent_vector(size_type n)tbb::concurrent_vector< T, A >inlineexplicit
    concurrent_vector(size_type n, const_reference t, const allocator_type &a=allocator_type())tbb::concurrent_vector< T, A >inline
    concurrent_vector(I first, I last, const allocator_type &a=allocator_type())tbb::concurrent_vector< T, A >inline
    const_iterator typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    const_pointer typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    const_range_type typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    const_reference typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    const_reverse_iterator typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    const_reverse_iterator typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    copy_range(void *dst, const void *p_type_erased_iterator, size_type n) (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    crbegin() const tbb::concurrent_vector< T, A >inline
    crend() const tbb::concurrent_vector< T, A >inline
    difference_type typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    emplace_back(Args &&...args)tbb::concurrent_vector< T, A >inline
    empty() const tbb::concurrent_vector< T, A >inline
    end()tbb::concurrent_vector< T, A >inline
    end() const tbb::concurrent_vector< T, A >inline
    front()tbb::concurrent_vector< T, A >inline
    front() const tbb::concurrent_vector< T, A >inline
    get_allocator() const tbb::concurrent_vector< T, A >inline
    grow_by(size_type delta)tbb::concurrent_vector< T, A >inline
    grow_by(size_type delta, const_reference t)tbb::concurrent_vector< T, A >inline
    grow_by(I first, I last)tbb::concurrent_vector< T, A >inline
    grow_by(std::initializer_list< T > init_list)tbb::concurrent_vector< T, A >inline
    grow_to_at_least(size_type n)tbb::concurrent_vector< T, A >inline
    grow_to_at_least(size_type n, const_reference t)tbb::concurrent_vector< T, A >inline
    internal::vector_iterator (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >friend
    internal_vector_base() const (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >inline
    iterator typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    max_size() const tbb::concurrent_vector< T, A >inline
    operator=(const concurrent_vector &vector)tbb::concurrent_vector< T, A >inline
    operator=(concurrent_vector &&other)tbb::concurrent_vector< T, A >inline
    operator=(const concurrent_vector< T, M > &vector)tbb::concurrent_vector< T, A >inline
    operator=(std::initializer_list< T > init_list)tbb::concurrent_vector< T, A >inline
    operator[](size_type index)tbb::concurrent_vector< T, A >inline
    operator[](size_type index) const tbb::concurrent_vector< T, A >inline
    pointer typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    push_back(const_reference item)tbb::concurrent_vector< T, A >inline
    push_back(T &&item)tbb::concurrent_vector< T, A >inline
    range(size_t grainsize=1)tbb::concurrent_vector< T, A >inline
    range(size_t grainsize=1) const tbb::concurrent_vector< T, A >inline
    range_type typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    rbegin()tbb::concurrent_vector< T, A >inline
    rbegin() const tbb::concurrent_vector< T, A >inline
    reference typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    rend()tbb::concurrent_vector< T, A >inline
    rend() const tbb::concurrent_vector< T, A >inline
    reserve(size_type n)tbb::concurrent_vector< T, A >inline
    resize(size_type n)tbb::concurrent_vector< T, A >inline
    resize(size_type n, const_reference t)tbb::concurrent_vector< T, A >inline
    reverse_iterator typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    reverse_iterator typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    shrink_to_fit()tbb::concurrent_vector< T, A >
    size() const tbb::concurrent_vector< T, A >inline
    size_type typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    swap(concurrent_vector &vector)tbb::concurrent_vector< T, A >inline
    value_type typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    ~concurrent_vector()tbb::concurrent_vector< T, A >inline

    diff --git a/doc/html/a00279.html b/doc/html/a00279.html index 33aceb7..49c1d53 100644 --- a/doc/html/a00279.html +++ b/doc/html/a00279.html @@ -33,29 +33,21 @@
    -
    tbb::combinable< T > Member List
    +
    tbb::concurrent_vector< T, A >::push_back_helper::element_construction_guard Member List
    -

    This is the complete list of members for tbb::combinable< T >, including all inherited members.

    +

    This is the complete list of members for tbb::concurrent_vector< T, A >::push_back_helper::element_construction_guard, including all inherited members.

    - - - - - - - - - - - - + + + +
    clear() (defined in tbb::combinable< T >)tbb::combinable< T >inline
    combinable() (defined in tbb::combinable< T >)tbb::combinable< T >inline
    combinable(finit _finit) (defined in tbb::combinable< T >)tbb::combinable< T >inlineexplicit
    combinable(const combinable &other) (defined in tbb::combinable< T >)tbb::combinable< T >inline
    combinable(combinable &&other) (defined in tbb::combinable< T >)tbb::combinable< T >inline
    combine(combine_func_t f_combine) (defined in tbb::combinable< T >)tbb::combinable< T >inline
    combine_each(combine_func_t f_combine) (defined in tbb::combinable< T >)tbb::combinable< T >inline
    local() (defined in tbb::combinable< T >)tbb::combinable< T >inline
    local(bool &exists) (defined in tbb::combinable< T >)tbb::combinable< T >inline
    operator=(const combinable &other) (defined in tbb::combinable< T >)tbb::combinable< T >inline
    operator=(combinable &&other) (defined in tbb::combinable< T >)tbb::combinable< T >inline
    ~combinable()tbb::combinable< T >inline
    dismiss() (defined in tbb::concurrent_vector< T, A >::push_back_helper::element_construction_guard)tbb::concurrent_vector< T, A >::push_back_helper::element_construction_guardinline
    element (defined in tbb::concurrent_vector< T, A >::push_back_helper::element_construction_guard)tbb::concurrent_vector< T, A >::push_back_helper::element_construction_guard
    element_construction_guard(pointer an_element) (defined in tbb::concurrent_vector< T, A >::push_back_helper::element_construction_guard)tbb::concurrent_vector< T, A >::push_back_helper::element_construction_guardinline
    ~element_construction_guard() (defined in tbb::concurrent_vector< T, A >::push_back_helper::element_construction_guard)tbb::concurrent_vector< T, A >::push_back_helper::element_construction_guardinline

    diff --git a/doc/html/a00280.html b/doc/html/a00280.html index 313d970..6b73256 100644 --- a/doc/html/a00280.html +++ b/doc/html/a00280.html @@ -33,51 +33,34 @@
    -
    tbb::concurrent_bounded_queue< T, A > Member List
    +
    tbb::mutex Member List
    -

    This is the complete list of members for tbb::concurrent_bounded_queue< T, A >, including all inherited members.

    +

    This is the complete list of members for tbb::mutex, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + +
    abort()tbb::concurrent_bounded_queue< T, A >inline
    allocator_type typedeftbb::concurrent_bounded_queue< T, A >
    capacity() const tbb::concurrent_bounded_queue< T, A >inline
    clear()tbb::concurrent_bounded_queue< T, A >
    concurrent_bounded_queue(const allocator_type &a=allocator_type())tbb::concurrent_bounded_queue< T, A >inlineexplicit
    concurrent_bounded_queue(const concurrent_bounded_queue &src, const allocator_type &a=allocator_type())tbb::concurrent_bounded_queue< T, A >inline
    concurrent_bounded_queue(concurrent_bounded_queue &&src)tbb::concurrent_bounded_queue< T, A >inline
    concurrent_bounded_queue(concurrent_bounded_queue &&src, const allocator_type &a) (defined in tbb::concurrent_bounded_queue< T, A >)tbb::concurrent_bounded_queue< T, A >inline
    concurrent_bounded_queue(InputIterator begin, InputIterator end, const allocator_type &a=allocator_type())tbb::concurrent_bounded_queue< T, A >inline
    const_iterator typedef (defined in tbb::concurrent_bounded_queue< T, A >)tbb::concurrent_bounded_queue< T, A >
    const_reference typedeftbb::concurrent_bounded_queue< T, A >
    difference_type typedeftbb::concurrent_bounded_queue< T, A >
    emplace(Arguments &&...args) (defined in tbb::concurrent_bounded_queue< T, A >)tbb::concurrent_bounded_queue< T, A >inline
    empty() const tbb::concurrent_bounded_queue< T, A >inline
    get_allocator() const tbb::concurrent_bounded_queue< T, A >inline
    internal::concurrent_queue_iterator (defined in tbb::concurrent_bounded_queue< T, A >)tbb::concurrent_bounded_queue< T, A >friend
    iterator typedef (defined in tbb::concurrent_bounded_queue< T, A >)tbb::concurrent_bounded_queue< T, A >
    pop(T &destination)tbb::concurrent_bounded_queue< T, A >inline
    push(const T &source)tbb::concurrent_bounded_queue< T, A >inline
    push(T &&source)tbb::concurrent_bounded_queue< T, A >inline
    reference typedeftbb::concurrent_bounded_queue< T, A >
    set_capacity(size_type new_capacity)tbb::concurrent_bounded_queue< T, A >inline
    size() const tbb::concurrent_bounded_queue< T, A >inline
    size_type typedeftbb::concurrent_bounded_queue< T, A >
    try_emplace(Arguments &&...args) (defined in tbb::concurrent_bounded_queue< T, A >)tbb::concurrent_bounded_queue< T, A >inline
    try_pop(T &destination)tbb::concurrent_bounded_queue< T, A >inline
    try_push(const T &source)tbb::concurrent_bounded_queue< T, A >inline
    try_push(T &&source)tbb::concurrent_bounded_queue< T, A >inline
    unsafe_begin() (defined in tbb::concurrent_bounded_queue< T, A >)tbb::concurrent_bounded_queue< T, A >inline
    unsafe_begin() const (defined in tbb::concurrent_bounded_queue< T, A >)tbb::concurrent_bounded_queue< T, A >inline
    unsafe_end() (defined in tbb::concurrent_bounded_queue< T, A >)tbb::concurrent_bounded_queue< T, A >inline
    unsafe_end() const (defined in tbb::concurrent_bounded_queue< T, A >)tbb::concurrent_bounded_queue< T, A >inline
    value_type typedeftbb::concurrent_bounded_queue< T, A >
    ~concurrent_bounded_queue()tbb::concurrent_bounded_queue< T, A >
    DESTROYED enum value (defined in tbb::mutex)tbb::mutex
    HELD enum value (defined in tbb::mutex)tbb::mutex
    INITIALIZED enum value (defined in tbb::mutex)tbb::mutex
    is_fair_mutex (defined in tbb::mutex)tbb::mutexstatic
    is_recursive_mutex (defined in tbb::mutex)tbb::mutexstatic
    is_rw_mutex (defined in tbb::mutex)tbb::mutexstatic
    lock()tbb::mutexinline
    mutex()tbb::mutexinline
    native_handle() (defined in tbb::mutex)tbb::mutexinline
    native_handle_type typedeftbb::mutex
    native_handle_type typedef (defined in tbb::mutex)tbb::mutex
    scoped_lock (defined in tbb::mutex)tbb::mutexfriend
    set_state(state_t to)tbb::mutexinline
    state_t enum name (defined in tbb::mutex)tbb::mutex
    try_lock()tbb::mutexinline
    unlock()tbb::mutexinline
    ~mutex() (defined in tbb::mutex)tbb::mutexinline

    diff --git a/doc/html/a00281.html b/doc/html/a00281.html index ea20da5..8dded8c 100644 --- a/doc/html/a00281.html +++ b/doc/html/a00281.html @@ -33,95 +33,24 @@
    -
    tbb::concurrent_vector< T, A > Member List
    +
    tbb::mutex::scoped_lock Member List
    -

    This is the complete list of members for tbb::concurrent_vector< T, A >, including all inherited members.

    +

    This is the complete list of members for tbb::mutex::scoped_lock, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + +
    allocator_type typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    assign(size_type n, const_reference t)tbb::concurrent_vector< T, A >inline
    assign(I first, I last)tbb::concurrent_vector< T, A >inline
    assign(std::initializer_list< T > init_list)tbb::concurrent_vector< T, A >inline
    at(size_type index)tbb::concurrent_vector< T, A >inline
    at(size_type index) const tbb::concurrent_vector< T, A >inline
    back()tbb::concurrent_vector< T, A >inline
    back() const tbb::concurrent_vector< T, A >inline
    begin()tbb::concurrent_vector< T, A >inline
    begin() const tbb::concurrent_vector< T, A >inline
    capacity() const tbb::concurrent_vector< T, A >inline
    cbegin() const tbb::concurrent_vector< T, A >inline
    cend() const tbb::concurrent_vector< T, A >inline
    clear()tbb::concurrent_vector< T, A >inline
    concurrent_vector(const allocator_type &a=allocator_type())tbb::concurrent_vector< T, A >inlineexplicit
    concurrent_vector(std::initializer_list< T > init_list, const allocator_type &a=allocator_type())tbb::concurrent_vector< T, A >inline
    concurrent_vector(const concurrent_vector &vector, const allocator_type &a=allocator_type())tbb::concurrent_vector< T, A >inline
    concurrent_vector(concurrent_vector &&source)tbb::concurrent_vector< T, A >inline
    concurrent_vector(concurrent_vector &&source, const allocator_type &a) (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >inline
    concurrent_vector(const concurrent_vector< T, M > &vector, const allocator_type &a=allocator_type())tbb::concurrent_vector< T, A >inline
    concurrent_vector(size_type n)tbb::concurrent_vector< T, A >inlineexplicit
    concurrent_vector(size_type n, const_reference t, const allocator_type &a=allocator_type())tbb::concurrent_vector< T, A >inline
    concurrent_vector(I first, I last, const allocator_type &a=allocator_type())tbb::concurrent_vector< T, A >inline
    const_iterator typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    const_pointer typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    const_range_type typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    const_reference typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    const_reverse_iterator typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    const_reverse_iterator typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    copy_range(void *dst, const void *p_type_erased_iterator, size_type n) (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    crbegin() const tbb::concurrent_vector< T, A >inline
    crend() const tbb::concurrent_vector< T, A >inline
    difference_type typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    emplace_back(Args &&...args)tbb::concurrent_vector< T, A >inline
    empty() const tbb::concurrent_vector< T, A >inline
    end()tbb::concurrent_vector< T, A >inline
    end() const tbb::concurrent_vector< T, A >inline
    front()tbb::concurrent_vector< T, A >inline
    front() const tbb::concurrent_vector< T, A >inline
    get_allocator() const tbb::concurrent_vector< T, A >inline
    grow_by(size_type delta)tbb::concurrent_vector< T, A >inline
    grow_by(size_type delta, const_reference t)tbb::concurrent_vector< T, A >inline
    grow_by(I first, I last)tbb::concurrent_vector< T, A >inline
    grow_by(std::initializer_list< T > init_list)tbb::concurrent_vector< T, A >inline
    grow_to_at_least(size_type n)tbb::concurrent_vector< T, A >inline
    grow_to_at_least(size_type n, const_reference t)tbb::concurrent_vector< T, A >inline
    internal::vector_iterator (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >friend
    internal_vector_base() const (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >inline
    iterator typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    max_size() const tbb::concurrent_vector< T, A >inline
    operator=(const concurrent_vector &vector)tbb::concurrent_vector< T, A >inline
    operator=(concurrent_vector &&other)tbb::concurrent_vector< T, A >inline
    operator=(const concurrent_vector< T, M > &vector)tbb::concurrent_vector< T, A >inline
    operator=(std::initializer_list< T > init_list)tbb::concurrent_vector< T, A >inline
    operator[](size_type index)tbb::concurrent_vector< T, A >inline
    operator[](size_type index) const tbb::concurrent_vector< T, A >inline
    pointer typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    push_back(const_reference item)tbb::concurrent_vector< T, A >inline
    push_back(T &&item)tbb::concurrent_vector< T, A >inline
    range(size_t grainsize=1)tbb::concurrent_vector< T, A >inline
    range(size_t grainsize=1) const tbb::concurrent_vector< T, A >inline
    range_type typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    rbegin()tbb::concurrent_vector< T, A >inline
    rbegin() const tbb::concurrent_vector< T, A >inline
    reference typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    rend()tbb::concurrent_vector< T, A >inline
    rend() const tbb::concurrent_vector< T, A >inline
    reserve(size_type n)tbb::concurrent_vector< T, A >inline
    resize(size_type n)tbb::concurrent_vector< T, A >inline
    resize(size_type n, const_reference t)tbb::concurrent_vector< T, A >inline
    reverse_iterator typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    reverse_iterator typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    shrink_to_fit()tbb::concurrent_vector< T, A >
    size() const tbb::concurrent_vector< T, A >inline
    size_type typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    swap(concurrent_vector &vector)tbb::concurrent_vector< T, A >inline
    value_type typedef (defined in tbb::concurrent_vector< T, A >)tbb::concurrent_vector< T, A >
    ~concurrent_vector()tbb::concurrent_vector< T, A >inline
    acquire(mutex &mutex)tbb::mutex::scoped_lockinline
    mutex (defined in tbb::mutex::scoped_lock)tbb::mutex::scoped_lockfriend
    release()tbb::mutex::scoped_lockinline
    scoped_lock()tbb::mutex::scoped_lockinline
    scoped_lock(mutex &mutex)tbb::mutex::scoped_lockinline
    try_acquire(mutex &mutex)tbb::mutex::scoped_lockinline
    ~scoped_lock()tbb::mutex::scoped_lockinline

    diff --git a/doc/html/a00282.html b/doc/html/a00282.html index df6fa1c..bd7d7e0 100644 --- a/doc/html/a00282.html +++ b/doc/html/a00282.html @@ -33,21 +33,21 @@
    -
    tbb::concurrent_vector< T, A >::push_back_helper::element_construction_guard Member List
    +
    tbb::null_mutex Member List

    diff --git a/doc/html/a00283.html b/doc/html/a00283.html index d5cf881..42e40c6 100644 --- a/doc/html/a00283.html +++ b/doc/html/a00283.html @@ -33,34 +33,23 @@
    -
    tbb::mutex Member List
    +
    tbb::null_mutex::scoped_lock Member List
    -

    This is the complete list of members for tbb::mutex, including all inherited members.

    +

    This is the complete list of members for tbb::null_mutex::scoped_lock, including all inherited members.

    - - - - - - - - - - - - - - - - - + + + + + +
    DESTROYED enum value (defined in tbb::mutex)tbb::mutex
    HELD enum value (defined in tbb::mutex)tbb::mutex
    INITIALIZED enum value (defined in tbb::mutex)tbb::mutex
    is_fair_mutex (defined in tbb::mutex)tbb::mutexstatic
    is_recursive_mutex (defined in tbb::mutex)tbb::mutexstatic
    is_rw_mutex (defined in tbb::mutex)tbb::mutexstatic
    lock()tbb::mutexinline
    mutex()tbb::mutexinline
    native_handle() (defined in tbb::mutex)tbb::mutexinline
    native_handle_type typedeftbb::mutex
    native_handle_type typedef (defined in tbb::mutex)tbb::mutex
    scoped_lock (defined in tbb::mutex)tbb::mutexfriend
    set_state(state_t to)tbb::mutexinline
    state_t enum name (defined in tbb::mutex)tbb::mutex
    try_lock()tbb::mutexinline
    unlock()tbb::mutexinline
    ~mutex() (defined in tbb::mutex)tbb::mutexinline
    acquire(null_mutex &) (defined in tbb::null_mutex::scoped_lock)tbb::null_mutex::scoped_lockinline
    release() (defined in tbb::null_mutex::scoped_lock)tbb::null_mutex::scoped_lockinline
    scoped_lock() (defined in tbb::null_mutex::scoped_lock)tbb::null_mutex::scoped_lockinline
    scoped_lock(null_mutex &) (defined in tbb::null_mutex::scoped_lock)tbb::null_mutex::scoped_lockinline
    try_acquire(null_mutex &) (defined in tbb::null_mutex::scoped_lock)tbb::null_mutex::scoped_lockinline
    ~scoped_lock() (defined in tbb::null_mutex::scoped_lock)tbb::null_mutex::scoped_lockinline

    diff --git a/doc/html/a00284.html b/doc/html/a00284.html index b5a7cdb..a0020de 100644 --- a/doc/html/a00284.html +++ b/doc/html/a00284.html @@ -33,24 +33,21 @@
    -
    tbb::mutex::scoped_lock Member List
    +
    tbb::null_rw_mutex Member List
    -

    This is the complete list of members for tbb::mutex::scoped_lock, including all inherited members.

    +

    This is the complete list of members for tbb::null_rw_mutex, including all inherited members.

    - - - - - - - + + + +
    acquire(mutex &mutex)tbb::mutex::scoped_lockinline
    mutex (defined in tbb::mutex::scoped_lock)tbb::mutex::scoped_lockfriend
    release()tbb::mutex::scoped_lockinline
    scoped_lock()tbb::mutex::scoped_lockinline
    scoped_lock(mutex &mutex)tbb::mutex::scoped_lockinline
    try_acquire(mutex &mutex)tbb::mutex::scoped_lockinline
    ~scoped_lock()tbb::mutex::scoped_lockinline
    is_fair_mutex (defined in tbb::null_rw_mutex)tbb::null_rw_mutexstatic
    is_recursive_mutex (defined in tbb::null_rw_mutex)tbb::null_rw_mutexstatic
    is_rw_mutex (defined in tbb::null_rw_mutex)tbb::null_rw_mutexstatic
    null_rw_mutex() (defined in tbb::null_rw_mutex)tbb::null_rw_mutexinline

    diff --git a/doc/html/a00285.html b/doc/html/a00285.html index 7d54a17..9fa745a 100644 --- a/doc/html/a00285.html +++ b/doc/html/a00285.html @@ -33,21 +33,25 @@
    -
    tbb::null_mutex Member List
    +
    tbb::null_rw_mutex::scoped_lock Member List
    -

    This is the complete list of members for tbb::null_mutex, including all inherited members.

    +

    This is the complete list of members for tbb::null_rw_mutex::scoped_lock, including all inherited members.

    - - - - + + + + + + + +
    is_fair_mutex (defined in tbb::null_mutex)tbb::null_mutexstatic
    is_recursive_mutex (defined in tbb::null_mutex)tbb::null_mutexstatic
    is_rw_mutex (defined in tbb::null_mutex)tbb::null_mutexstatic
    null_mutex() (defined in tbb::null_mutex)tbb::null_mutexinline
    acquire(null_rw_mutex &, bool=true) (defined in tbb::null_rw_mutex::scoped_lock)tbb::null_rw_mutex::scoped_lockinline
    downgrade_to_reader() (defined in tbb::null_rw_mutex::scoped_lock)tbb::null_rw_mutex::scoped_lockinline
    release() (defined in tbb::null_rw_mutex::scoped_lock)tbb::null_rw_mutex::scoped_lockinline
    scoped_lock() (defined in tbb::null_rw_mutex::scoped_lock)tbb::null_rw_mutex::scoped_lockinline
    scoped_lock(null_rw_mutex &, bool=true) (defined in tbb::null_rw_mutex::scoped_lock)tbb::null_rw_mutex::scoped_lockinline
    try_acquire(null_rw_mutex &, bool=true) (defined in tbb::null_rw_mutex::scoped_lock)tbb::null_rw_mutex::scoped_lockinline
    upgrade_to_writer() (defined in tbb::null_rw_mutex::scoped_lock)tbb::null_rw_mutex::scoped_lockinline
    ~scoped_lock() (defined in tbb::null_rw_mutex::scoped_lock)tbb::null_rw_mutex::scoped_lockinline

    diff --git a/doc/html/a00286.html b/doc/html/a00286.html index eece25d..9dc6e8c 100644 --- a/doc/html/a00286.html +++ b/doc/html/a00286.html @@ -33,23 +33,19 @@
    -
    tbb::null_mutex::scoped_lock Member List
    +
    tbb::pre_scan_tag Member List
    -

    This is the complete list of members for tbb::null_mutex::scoped_lock, including all inherited members.

    +

    This is the complete list of members for tbb::pre_scan_tag, including all inherited members.

    - - - - - - + +
    acquire(null_mutex &) (defined in tbb::null_mutex::scoped_lock)tbb::null_mutex::scoped_lockinline
    release() (defined in tbb::null_mutex::scoped_lock)tbb::null_mutex::scoped_lockinline
    scoped_lock() (defined in tbb::null_mutex::scoped_lock)tbb::null_mutex::scoped_lockinline
    scoped_lock(null_mutex &) (defined in tbb::null_mutex::scoped_lock)tbb::null_mutex::scoped_lockinline
    try_acquire(null_mutex &) (defined in tbb::null_mutex::scoped_lock)tbb::null_mutex::scoped_lockinline
    ~scoped_lock() (defined in tbb::null_mutex::scoped_lock)tbb::null_mutex::scoped_lockinline
    is_final_scan() (defined in tbb::pre_scan_tag)tbb::pre_scan_taginlinestatic
    operator bool() (defined in tbb::pre_scan_tag)tbb::pre_scan_taginline

    diff --git a/doc/html/a00287.html b/doc/html/a00287.html index 8c5b5be..609c3be 100644 --- a/doc/html/a00287.html +++ b/doc/html/a00287.html @@ -33,21 +33,19 @@
    -
    tbb::null_rw_mutex Member List
    +
    tbb::final_scan_tag Member List
    -

    This is the complete list of members for tbb::null_rw_mutex, including all inherited members.

    +

    This is the complete list of members for tbb::final_scan_tag, including all inherited members.

    - - - - + +
    is_fair_mutex (defined in tbb::null_rw_mutex)tbb::null_rw_mutexstatic
    is_recursive_mutex (defined in tbb::null_rw_mutex)tbb::null_rw_mutexstatic
    is_rw_mutex (defined in tbb::null_rw_mutex)tbb::null_rw_mutexstatic
    null_rw_mutex() (defined in tbb::null_rw_mutex)tbb::null_rw_mutexinline
    is_final_scan() (defined in tbb::final_scan_tag)tbb::final_scan_taginlinestatic
    operator bool() (defined in tbb::final_scan_tag)tbb::final_scan_taginline

    diff --git a/doc/html/a00288.html b/doc/html/a00288.html index 1d2fbf1..35846e9 100644 --- a/doc/html/a00288.html +++ b/doc/html/a00288.html @@ -33,25 +33,22 @@
    -
    tbb::null_rw_mutex::scoped_lock Member List
    +
    tbb::parallel_while< Body > Member List
    -

    This is the complete list of members for tbb::null_rw_mutex::scoped_lock, including all inherited members.

    +

    This is the complete list of members for tbb::parallel_while< Body >, including all inherited members.

    - - - - - - - - + + + + +
    acquire(null_rw_mutex &, bool=true) (defined in tbb::null_rw_mutex::scoped_lock)tbb::null_rw_mutex::scoped_lockinline
    downgrade_to_reader() (defined in tbb::null_rw_mutex::scoped_lock)tbb::null_rw_mutex::scoped_lockinline
    release() (defined in tbb::null_rw_mutex::scoped_lock)tbb::null_rw_mutex::scoped_lockinline
    scoped_lock() (defined in tbb::null_rw_mutex::scoped_lock)tbb::null_rw_mutex::scoped_lockinline
    scoped_lock(null_rw_mutex &, bool=true) (defined in tbb::null_rw_mutex::scoped_lock)tbb::null_rw_mutex::scoped_lockinline
    try_acquire(null_rw_mutex &, bool=true) (defined in tbb::null_rw_mutex::scoped_lock)tbb::null_rw_mutex::scoped_lockinline
    upgrade_to_writer() (defined in tbb::null_rw_mutex::scoped_lock)tbb::null_rw_mutex::scoped_lockinline
    ~scoped_lock() (defined in tbb::null_rw_mutex::scoped_lock)tbb::null_rw_mutex::scoped_lockinline
    add(const value_type &item)tbb::parallel_while< Body >
    parallel_while()tbb::parallel_while< Body >inline
    run(Stream &stream, const Body &body)tbb::parallel_while< Body >
    value_type typedeftbb::parallel_while< Body >
    ~parallel_while()tbb::parallel_while< Body >inline

    diff --git a/doc/html/a00289.html b/doc/html/a00289.html index 751f052..39d5289 100644 --- a/doc/html/a00289.html +++ b/doc/html/a00289.html @@ -33,18 +33,22 @@
    -
    tbb::pre_scan_tag Member List
    +
    tbb::filter Member List
    -

    This is the complete list of members for tbb::pre_scan_tag, including all inherited members.

    +

    This is the complete list of members for tbb::filter, including all inherited members.

    - + + + + +
    is_final_scan() (defined in tbb::pre_scan_tag)tbb::pre_scan_taginlinestatic
    exact_exception_propagationtbb::filterprotectedstatic
    filter_is_boundtbb::filterprotectedstatic
    filter_is_out_of_ordertbb::filterprotectedstatic
    filter_is_serialtbb::filterprotectedstatic
    filter_may_emit_nulltbb::filterprotectedstatic

    diff --git a/doc/html/a00290.html b/doc/html/a00290.html index 79a913f..aea2fe9 100644 --- a/doc/html/a00290.html +++ b/doc/html/a00290.html @@ -33,18 +33,29 @@
    -
    tbb::final_scan_tag Member List
    +
    tbb::thread_bound_filter Member List
    -

    This is the complete list of members for tbb::final_scan_tag, including all inherited members.

    +

    This is the complete list of members for tbb::thread_bound_filter, including all inherited members.

    - + + + + + + + + + + + +
    is_final_scan() (defined in tbb::final_scan_tag)tbb::final_scan_taginlinestatic
    end_of_stream enum value (defined in tbb::thread_bound_filter)tbb::thread_bound_filter
    exact_exception_propagationtbb::filterprotectedstatic
    filter_is_boundtbb::filterprotectedstatic
    filter_is_out_of_ordertbb::filterprotectedstatic
    filter_is_serialtbb::filterprotectedstatic
    filter_may_emit_nulltbb::filterprotectedstatic
    item_not_available enum value (defined in tbb::thread_bound_filter)tbb::thread_bound_filter
    process_item()tbb::thread_bound_filter
    result_type enum name (defined in tbb::thread_bound_filter)tbb::thread_bound_filter
    success enum value (defined in tbb::thread_bound_filter)tbb::thread_bound_filter
    thread_bound_filter(mode filter_mode) (defined in tbb::thread_bound_filter)tbb::thread_bound_filterinlineexplicitprotected
    try_process_item()tbb::thread_bound_filter

    diff --git a/doc/html/a00291.html b/doc/html/a00291.html index a5a48e5..b1fa280 100644 --- a/doc/html/a00291.html +++ b/doc/html/a00291.html @@ -33,22 +33,29 @@
    -
    tbb::parallel_while< Body > Member List
    +
    tbb::pipeline Member List
    -

    This is the complete list of members for tbb::parallel_while< Body >, including all inherited members.

    +

    This is the complete list of members for tbb::pipeline, including all inherited members.

    - - - - - + + + + + + + + + + + +
    add(const value_type &item)tbb::parallel_while< Body >
    parallel_while()tbb::parallel_while< Body >inline
    run(Stream &stream, const Body &body)tbb::parallel_while< Body >
    value_type typedeftbb::parallel_while< Body >
    ~parallel_while()tbb::parallel_while< Body >inline
    add_filter(filter &filter_)tbb::pipeline
    clear()tbb::pipeline
    filter (defined in tbb::pipeline)tbb::pipelinefriend
    internal::pipeline_cleaner (defined in tbb::pipeline)tbb::pipelinefriend
    internal::pipeline_root_task (defined in tbb::pipeline)tbb::pipelinefriend
    internal::stage_task (defined in tbb::pipeline)tbb::pipelinefriend
    pipeline()tbb::pipeline
    run(size_t max_number_of_live_tokens)tbb::pipeline
    run(size_t max_number_of_live_tokens, tbb::task_group_context &context)tbb::pipeline
    tbb::interface6::internal::pipeline_proxy (defined in tbb::pipeline)tbb::pipelinefriend
    thread_bound_filter (defined in tbb::pipeline)tbb::pipelinefriend
    ~pipeline()tbb::pipelinevirtual

    diff --git a/doc/html/a00292.html b/doc/html/a00292.html index a21e035..c59cd8c 100644 --- a/doc/html/a00292.html +++ b/doc/html/a00292.html @@ -33,22 +33,22 @@
    -
    tbb::filter Member List
    +
    tbb::queuing_mutex Member List
    -

    This is the complete list of members for tbb::filter, including all inherited members.

    +

    This is the complete list of members for tbb::queuing_mutex, including all inherited members.

    - - - - - + + + + +
    exact_exception_propagationtbb::filterprotectedstatic
    filter_is_boundtbb::filterprotectedstatic
    filter_is_out_of_ordertbb::filterprotectedstatic
    filter_is_serialtbb::filterprotectedstatic
    filter_may_emit_nulltbb::filterprotectedstatic
    internal_construct() (defined in tbb::queuing_mutex)tbb::queuing_mutex
    is_fair_mutex (defined in tbb::queuing_mutex)tbb::queuing_mutexstatic
    is_recursive_mutex (defined in tbb::queuing_mutex)tbb::queuing_mutexstatic
    is_rw_mutex (defined in tbb::queuing_mutex)tbb::queuing_mutexstatic
    queuing_mutex()tbb::queuing_mutexinline

    diff --git a/doc/html/a00293.html b/doc/html/a00293.html index 79d917d..ea01310 100644 --- a/doc/html/a00293.html +++ b/doc/html/a00293.html @@ -33,29 +33,23 @@
    -
    tbb::thread_bound_filter Member List
    +
    tbb::queuing_mutex::scoped_lock Member List
    -

    This is the complete list of members for tbb::thread_bound_filter, including all inherited members.

    +

    This is the complete list of members for tbb::queuing_mutex::scoped_lock, including all inherited members.

    - - - - - - - - - - - - + + + + + +
    end_of_stream enum value (defined in tbb::thread_bound_filter)tbb::thread_bound_filter
    exact_exception_propagationtbb::filterprotectedstatic
    filter_is_boundtbb::filterprotectedstatic
    filter_is_out_of_ordertbb::filterprotectedstatic
    filter_is_serialtbb::filterprotectedstatic
    filter_may_emit_nulltbb::filterprotectedstatic
    item_not_available enum value (defined in tbb::thread_bound_filter)tbb::thread_bound_filter
    process_item()tbb::thread_bound_filter
    result_type enum name (defined in tbb::thread_bound_filter)tbb::thread_bound_filter
    success enum value (defined in tbb::thread_bound_filter)tbb::thread_bound_filter
    thread_bound_filter(mode filter_mode) (defined in tbb::thread_bound_filter)tbb::thread_bound_filterinlineexplicitprotected
    try_process_item()tbb::thread_bound_filter
    acquire(queuing_mutex &m)tbb::queuing_mutex::scoped_lock
    release()tbb::queuing_mutex::scoped_lock
    scoped_lock()tbb::queuing_mutex::scoped_lockinline
    scoped_lock(queuing_mutex &m)tbb::queuing_mutex::scoped_lockinline
    try_acquire(queuing_mutex &m)tbb::queuing_mutex::scoped_lock
    ~scoped_lock()tbb::queuing_mutex::scoped_lockinline

    diff --git a/doc/html/a00294.html b/doc/html/a00294.html index 31730ac..eb2da44 100644 --- a/doc/html/a00294.html +++ b/doc/html/a00294.html @@ -33,29 +33,23 @@
    -
    tbb::pipeline Member List
    +
    tbb::queuing_rw_mutex Member List
    -

    This is the complete list of members for tbb::pipeline, including all inherited members.

    +

    This is the complete list of members for tbb::queuing_rw_mutex, including all inherited members.

    - - - - - - - - - - - - + + + + + +
    add_filter(filter &filter_)tbb::pipeline
    clear()tbb::pipeline
    filter (defined in tbb::pipeline)tbb::pipelinefriend
    internal::pipeline_cleaner (defined in tbb::pipeline)tbb::pipelinefriend
    internal::pipeline_root_task (defined in tbb::pipeline)tbb::pipelinefriend
    internal::stage_task (defined in tbb::pipeline)tbb::pipelinefriend
    pipeline()tbb::pipeline
    run(size_t max_number_of_live_tokens)tbb::pipeline
    run(size_t max_number_of_live_tokens, tbb::task_group_context &context)tbb::pipeline
    tbb::interface6::internal::pipeline_proxy (defined in tbb::pipeline)tbb::pipelinefriend
    thread_bound_filter (defined in tbb::pipeline)tbb::pipelinefriend
    ~pipeline()tbb::pipelinevirtual
    internal_construct() (defined in tbb::queuing_rw_mutex)tbb::queuing_rw_mutex
    is_fair_mutex (defined in tbb::queuing_rw_mutex)tbb::queuing_rw_mutexstatic
    is_recursive_mutex (defined in tbb::queuing_rw_mutex)tbb::queuing_rw_mutexstatic
    is_rw_mutex (defined in tbb::queuing_rw_mutex)tbb::queuing_rw_mutexstatic
    queuing_rw_mutex()tbb::queuing_rw_mutexinline
    ~queuing_rw_mutex()tbb::queuing_rw_mutexinline

    diff --git a/doc/html/a00295.html b/doc/html/a00295.html index f33375a..1241535 100644 --- a/doc/html/a00295.html +++ b/doc/html/a00295.html @@ -33,22 +33,25 @@
    -
    tbb::queuing_mutex Member List
    +
    tbb::queuing_rw_mutex::scoped_lock Member List
    -

    This is the complete list of members for tbb::queuing_mutex, including all inherited members.

    +

    This is the complete list of members for tbb::queuing_rw_mutex::scoped_lock, including all inherited members.

    - - - - - + + + + + + + +
    internal_construct() (defined in tbb::queuing_mutex)tbb::queuing_mutex
    is_fair_mutex (defined in tbb::queuing_mutex)tbb::queuing_mutexstatic
    is_recursive_mutex (defined in tbb::queuing_mutex)tbb::queuing_mutexstatic
    is_rw_mutex (defined in tbb::queuing_mutex)tbb::queuing_mutexstatic
    queuing_mutex()tbb::queuing_mutexinline
    acquire(queuing_rw_mutex &m, bool write=true)tbb::queuing_rw_mutex::scoped_lock
    downgrade_to_reader()tbb::queuing_rw_mutex::scoped_lock
    release()tbb::queuing_rw_mutex::scoped_lock
    scoped_lock()tbb::queuing_rw_mutex::scoped_lockinline
    scoped_lock(queuing_rw_mutex &m, bool write=true)tbb::queuing_rw_mutex::scoped_lockinline
    try_acquire(queuing_rw_mutex &m, bool write=true)tbb::queuing_rw_mutex::scoped_lock
    upgrade_to_writer()tbb::queuing_rw_mutex::scoped_lock
    ~scoped_lock()tbb::queuing_rw_mutex::scoped_lockinline

    diff --git a/doc/html/a00296.html b/doc/html/a00296.html index ff2c8f0..cc2e2f1 100644 --- a/doc/html/a00296.html +++ b/doc/html/a00296.html @@ -33,23 +33,29 @@
    -
    tbb::queuing_mutex::scoped_lock Member List
    +
    tbb::recursive_mutex Member List
    -

    This is the complete list of members for tbb::queuing_mutex::scoped_lock, including all inherited members.

    +

    This is the complete list of members for tbb::recursive_mutex, including all inherited members.

    - - - - - - + + + + + + + + + + + +
    acquire(queuing_mutex &m)tbb::queuing_mutex::scoped_lock
    release()tbb::queuing_mutex::scoped_lock
    scoped_lock()tbb::queuing_mutex::scoped_lockinline
    scoped_lock(queuing_mutex &m)tbb::queuing_mutex::scoped_lockinline
    try_acquire(queuing_mutex &m)tbb::queuing_mutex::scoped_lock
    ~scoped_lock()tbb::queuing_mutex::scoped_lockinline
    is_fair_mutex (defined in tbb::recursive_mutex)tbb::recursive_mutexstatic
    is_recursive_mutex (defined in tbb::recursive_mutex)tbb::recursive_mutexstatic
    is_rw_mutex (defined in tbb::recursive_mutex)tbb::recursive_mutexstatic
    lock()tbb::recursive_mutexinline
    native_handle() (defined in tbb::recursive_mutex)tbb::recursive_mutexinline
    native_handle_type typedeftbb::recursive_mutex
    native_handle_type typedef (defined in tbb::recursive_mutex)tbb::recursive_mutex
    recursive_mutex()tbb::recursive_mutexinline
    scoped_lock (defined in tbb::recursive_mutex)tbb::recursive_mutexfriend
    try_lock()tbb::recursive_mutexinline
    unlock()tbb::recursive_mutexinline
    ~recursive_mutex() (defined in tbb::recursive_mutex)tbb::recursive_mutexinline

    diff --git a/doc/html/a00297.html b/doc/html/a00297.html index 308cc6a..1eddfc9 100644 --- a/doc/html/a00297.html +++ b/doc/html/a00297.html @@ -33,23 +33,24 @@
    -
    tbb::queuing_rw_mutex Member List
    +
    tbb::recursive_mutex::scoped_lock Member List
    -

    This is the complete list of members for tbb::queuing_rw_mutex, including all inherited members.

    +

    This is the complete list of members for tbb::recursive_mutex::scoped_lock, including all inherited members.

    - - - - - - + + + + + + +
    internal_construct() (defined in tbb::queuing_rw_mutex)tbb::queuing_rw_mutex
    is_fair_mutex (defined in tbb::queuing_rw_mutex)tbb::queuing_rw_mutexstatic
    is_recursive_mutex (defined in tbb::queuing_rw_mutex)tbb::queuing_rw_mutexstatic
    is_rw_mutex (defined in tbb::queuing_rw_mutex)tbb::queuing_rw_mutexstatic
    queuing_rw_mutex()tbb::queuing_rw_mutexinline
    ~queuing_rw_mutex()tbb::queuing_rw_mutexinline
    acquire(recursive_mutex &mutex)tbb::recursive_mutex::scoped_lockinline
    recursive_mutex (defined in tbb::recursive_mutex::scoped_lock)tbb::recursive_mutex::scoped_lockfriend
    release()tbb::recursive_mutex::scoped_lockinline
    scoped_lock()tbb::recursive_mutex::scoped_lockinline
    scoped_lock(recursive_mutex &mutex)tbb::recursive_mutex::scoped_lockinline
    try_acquire(recursive_mutex &mutex)tbb::recursive_mutex::scoped_lockinline
    ~scoped_lock()tbb::recursive_mutex::scoped_lockinline

    diff --git a/doc/html/a00298.html b/doc/html/a00298.html index e130606..9be1c1c 100644 --- a/doc/html/a00298.html +++ b/doc/html/a00298.html @@ -33,25 +33,36 @@
    -
    tbb::queuing_rw_mutex::scoped_lock Member List
    +
    tbb::scalable_allocator< T > Member List
    -

    This is the complete list of members for tbb::queuing_rw_mutex::scoped_lock, including all inherited members.

    +

    This is the complete list of members for tbb::scalable_allocator< T >, including all inherited members.

    - - - - - - - - + + + + + + + + + + + + + + + + + + +
    acquire(queuing_rw_mutex &m, bool write=true)tbb::queuing_rw_mutex::scoped_lock
    downgrade_to_reader()tbb::queuing_rw_mutex::scoped_lock
    release()tbb::queuing_rw_mutex::scoped_lock
    scoped_lock()tbb::queuing_rw_mutex::scoped_lockinline
    scoped_lock(queuing_rw_mutex &m, bool write=true)tbb::queuing_rw_mutex::scoped_lockinline
    try_acquire(queuing_rw_mutex &m, bool write=true)tbb::queuing_rw_mutex::scoped_lock
    upgrade_to_writer()tbb::queuing_rw_mutex::scoped_lock
    ~scoped_lock()tbb::queuing_rw_mutex::scoped_lockinline
    address(reference x) const (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >inline
    address(const_reference x) const (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >inline
    allocate(size_type n, const void *=0)tbb::scalable_allocator< T >inline
    const_pointer typedef (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >
    const_reference typedef (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >
    construct(U *p, Args &&...args) (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >inline
    construct(pointer p, value_type &&value) (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >inline
    construct(pointer p, const value_type &value) (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >inline
    deallocate(pointer p, size_type)tbb::scalable_allocator< T >inline
    destroy(pointer p) (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >inline
    difference_type typedef (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >
    max_size() const tbb::scalable_allocator< T >inline
    pointer typedef (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >
    reference typedef (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >
    scalable_allocator() (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >inline
    scalable_allocator(const scalable_allocator &) (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >inline
    scalable_allocator(const scalable_allocator< U > &) (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >inline
    size_type typedef (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >
    value_type typedef (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >

    diff --git a/doc/html/a00299.html b/doc/html/a00299.html index 1b29017..f1b87a1 100644 --- a/doc/html/a00299.html +++ b/doc/html/a00299.html @@ -33,29 +33,18 @@
    -
    tbb::recursive_mutex Member List
    +
    tbb::scalable_allocator< T >::rebind< U > Member List
    -

    This is the complete list of members for tbb::recursive_mutex, including all inherited members.

    +

    This is the complete list of members for tbb::scalable_allocator< T >::rebind< U >, including all inherited members.

    - - - - - - - - - - - - +
    is_fair_mutex (defined in tbb::recursive_mutex)tbb::recursive_mutexstatic
    is_recursive_mutex (defined in tbb::recursive_mutex)tbb::recursive_mutexstatic
    is_rw_mutex (defined in tbb::recursive_mutex)tbb::recursive_mutexstatic
    lock()tbb::recursive_mutexinline
    native_handle() (defined in tbb::recursive_mutex)tbb::recursive_mutexinline
    native_handle_type typedeftbb::recursive_mutex
    native_handle_type typedef (defined in tbb::recursive_mutex)tbb::recursive_mutex
    recursive_mutex()tbb::recursive_mutexinline
    scoped_lock (defined in tbb::recursive_mutex)tbb::recursive_mutexfriend
    try_lock()tbb::recursive_mutexinline
    unlock()tbb::recursive_mutexinline
    ~recursive_mutex() (defined in tbb::recursive_mutex)tbb::recursive_mutexinline
    other typedef (defined in tbb::scalable_allocator< T >::rebind< U >)tbb::scalable_allocator< T >::rebind< U >

    diff --git a/doc/html/a00300.html b/doc/html/a00300.html index 4478854..d17589d 100644 --- a/doc/html/a00300.html +++ b/doc/html/a00300.html @@ -33,24 +33,20 @@
    -
    tbb::recursive_mutex::scoped_lock Member List
    +
    tbb::scalable_allocator< void > Member List
    -

    This is the complete list of members for tbb::recursive_mutex::scoped_lock, including all inherited members.

    +

    This is the complete list of members for tbb::scalable_allocator< void >, including all inherited members.

    - - - - - - - + + +
    acquire(recursive_mutex &mutex)tbb::recursive_mutex::scoped_lockinline
    recursive_mutex (defined in tbb::recursive_mutex::scoped_lock)tbb::recursive_mutex::scoped_lockfriend
    release()tbb::recursive_mutex::scoped_lockinline
    scoped_lock()tbb::recursive_mutex::scoped_lockinline
    scoped_lock(recursive_mutex &mutex)tbb::recursive_mutex::scoped_lockinline
    try_acquire(recursive_mutex &mutex)tbb::recursive_mutex::scoped_lockinline
    ~scoped_lock()tbb::recursive_mutex::scoped_lockinline
    const_pointer typedef (defined in tbb::scalable_allocator< void >)tbb::scalable_allocator< void >
    pointer typedef (defined in tbb::scalable_allocator< void >)tbb::scalable_allocator< void >
    value_type typedef (defined in tbb::scalable_allocator< void >)tbb::scalable_allocator< void >

    diff --git a/doc/html/a00301.html b/doc/html/a00301.html index f907aba..553ee38 100644 --- a/doc/html/a00301.html +++ b/doc/html/a00301.html @@ -33,36 +33,18 @@
    -
    tbb::scalable_allocator< T > Member List
    +
    tbb::scalable_allocator< void >::rebind< U > Member List
    -

    This is the complete list of members for tbb::scalable_allocator< T >, including all inherited members.

    +

    This is the complete list of members for tbb::scalable_allocator< void >::rebind< U >, including all inherited members.

    - - - - - - - - - - - - - - - - - - - +
    address(reference x) const (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >inline
    address(const_reference x) const (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >inline
    allocate(size_type n, const void *=0)tbb::scalable_allocator< T >inline
    const_pointer typedef (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >
    const_reference typedef (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >
    construct(U *p, Args &&...args) (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >inline
    construct(pointer p, value_type &&value) (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >inline
    construct(pointer p, const value_type &value) (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >inline
    deallocate(pointer p, size_type)tbb::scalable_allocator< T >inline
    destroy(pointer p) (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >inline
    difference_type typedef (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >
    max_size() const tbb::scalable_allocator< T >inline
    pointer typedef (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >
    reference typedef (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >
    scalable_allocator() (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >inline
    scalable_allocator(const scalable_allocator &) (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >inline
    scalable_allocator(const scalable_allocator< U > &) (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >inline
    size_type typedef (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >
    value_type typedef (defined in tbb::scalable_allocator< T >)tbb::scalable_allocator< T >
    other typedef (defined in tbb::scalable_allocator< void >::rebind< U >)tbb::scalable_allocator< void >::rebind< U >

    diff --git a/doc/html/a00302.html b/doc/html/a00302.html index bfc4f92..a9d5ced 100644 --- a/doc/html/a00302.html +++ b/doc/html/a00302.html @@ -33,18 +33,26 @@
    -
    tbb::scalable_allocator< T >::rebind< U > Member List
    +
    tbb::spin_mutex Member List
    -

    This is the complete list of members for tbb::scalable_allocator< T >::rebind< U >, including all inherited members.

    +

    This is the complete list of members for tbb::spin_mutex, including all inherited members.

    - + + + + + + + + +
    other typedef (defined in tbb::scalable_allocator< T >::rebind< U >)tbb::scalable_allocator< T >::rebind< U >
    internal_construct()tbb::spin_mutex
    is_fair_mutex (defined in tbb::spin_mutex)tbb::spin_mutexstatic
    is_recursive_mutex (defined in tbb::spin_mutex)tbb::spin_mutexstatic
    is_rw_mutex (defined in tbb::spin_mutex)tbb::spin_mutexstatic
    lock()tbb::spin_mutexinline
    scoped_lock (defined in tbb::spin_mutex)tbb::spin_mutexfriend
    spin_mutex()tbb::spin_mutexinline
    try_lock()tbb::spin_mutexinline
    unlock()tbb::spin_mutexinline

    diff --git a/doc/html/a00303.html b/doc/html/a00303.html index 79560bb..a32524a 100644 --- a/doc/html/a00303.html +++ b/doc/html/a00303.html @@ -33,20 +33,24 @@
    -
    tbb::scalable_allocator< void > Member List
    +
    tbb::spin_mutex::scoped_lock Member List
    -

    This is the complete list of members for tbb::scalable_allocator< void >, including all inherited members.

    +

    This is the complete list of members for tbb::spin_mutex::scoped_lock, including all inherited members.

    - - - + + + + + + +
    const_pointer typedef (defined in tbb::scalable_allocator< void >)tbb::scalable_allocator< void >
    pointer typedef (defined in tbb::scalable_allocator< void >)tbb::scalable_allocator< void >
    value_type typedef (defined in tbb::scalable_allocator< void >)tbb::scalable_allocator< void >
    acquire(spin_mutex &m)tbb::spin_mutex::scoped_lockinline
    release()tbb::spin_mutex::scoped_lockinline
    scoped_lock()tbb::spin_mutex::scoped_lockinline
    scoped_lock(spin_mutex &m)tbb::spin_mutex::scoped_lockinline
    spin_mutex (defined in tbb::spin_mutex::scoped_lock)tbb::spin_mutex::scoped_lockfriend
    try_acquire(spin_mutex &m)tbb::spin_mutex::scoped_lockinline
    ~scoped_lock()tbb::spin_mutex::scoped_lockinline

    diff --git a/doc/html/a00304.html b/doc/html/a00304.html index f7063c1..9dcec83 100644 --- a/doc/html/a00304.html +++ b/doc/html/a00304.html @@ -33,18 +33,34 @@
    -
    tbb::scalable_allocator< void >::rebind< U > Member List
    +
    tbb::spin_rw_mutex_v3 Member List
    -

    This is the complete list of members for tbb::scalable_allocator< void >::rebind< U >, including all inherited members.

    +

    This is the complete list of members for tbb::spin_rw_mutex_v3, including all inherited members.

    - + + + + + + + + + + + + + + + + +
    other typedef (defined in tbb::scalable_allocator< void >::rebind< U >)tbb::scalable_allocator< void >::rebind< U >
    BUSY (defined in tbb::spin_rw_mutex_v3)tbb::spin_rw_mutex_v3protectedstatic
    is_fair_mutex (defined in tbb::spin_rw_mutex_v3)tbb::spin_rw_mutex_v3static
    is_recursive_mutex (defined in tbb::spin_rw_mutex_v3)tbb::spin_rw_mutex_v3static
    is_rw_mutex (defined in tbb::spin_rw_mutex_v3)tbb::spin_rw_mutex_v3static
    lock()tbb::spin_rw_mutex_v3inline
    lock_read()tbb::spin_rw_mutex_v3inline
    ONE_READER (defined in tbb::spin_rw_mutex_v3)tbb::spin_rw_mutex_v3protectedstatic
    READERS (defined in tbb::spin_rw_mutex_v3)tbb::spin_rw_mutex_v3protectedstatic
    spin_rw_mutex_v3()tbb::spin_rw_mutex_v3inline
    statetbb::spin_rw_mutex_v3protected
    state_t typedef (defined in tbb::spin_rw_mutex_v3)tbb::spin_rw_mutex_v3protected
    try_lock()tbb::spin_rw_mutex_v3inline
    try_lock_read()tbb::spin_rw_mutex_v3inline
    unlock()tbb::spin_rw_mutex_v3inline
    WRITER (defined in tbb::spin_rw_mutex_v3)tbb::spin_rw_mutex_v3protectedstatic
    WRITER_PENDING (defined in tbb::spin_rw_mutex_v3)tbb::spin_rw_mutex_v3protectedstatic
    ~spin_rw_mutex_v3()tbb::spin_rw_mutex_v3inline

    diff --git a/doc/html/a00305.html b/doc/html/a00305.html index db8756c..c83d772 100644 --- a/doc/html/a00305.html +++ b/doc/html/a00305.html @@ -33,26 +33,28 @@
    -
    tbb::spin_mutex Member List
    +
    tbb::spin_rw_mutex_v3::scoped_lock Member List
    -

    This is the complete list of members for tbb::spin_mutex, including all inherited members.

    +

    This is the complete list of members for tbb::spin_rw_mutex_v3::scoped_lock, including all inherited members.

    - - - - - - - - - + + + + + + + + + + +
    internal_construct()tbb::spin_mutex
    is_fair_mutex (defined in tbb::spin_mutex)tbb::spin_mutexstatic
    is_recursive_mutex (defined in tbb::spin_mutex)tbb::spin_mutexstatic
    is_rw_mutex (defined in tbb::spin_mutex)tbb::spin_mutexstatic
    lock()tbb::spin_mutexinline
    scoped_lock (defined in tbb::spin_mutex)tbb::spin_mutexfriend
    spin_mutex()tbb::spin_mutexinline
    try_lock()tbb::spin_mutexinline
    unlock()tbb::spin_mutexinline
    acquire(spin_rw_mutex &m, bool write=true)tbb::spin_rw_mutex_v3::scoped_lockinline
    downgrade_to_reader()tbb::spin_rw_mutex_v3::scoped_lockinline
    is_writertbb::spin_rw_mutex_v3::scoped_lockprotected
    mutextbb::spin_rw_mutex_v3::scoped_lockprotected
    release()tbb::spin_rw_mutex_v3::scoped_lockinline
    scoped_lock()tbb::spin_rw_mutex_v3::scoped_lockinline
    scoped_lock(spin_rw_mutex &m, bool write=true)tbb::spin_rw_mutex_v3::scoped_lockinline
    tbb::interface8::internal::x86_rtm_rw_mutex (defined in tbb::spin_rw_mutex_v3::scoped_lock)tbb::spin_rw_mutex_v3::scoped_lockfriend
    try_acquire(spin_rw_mutex &m, bool write=true)tbb::spin_rw_mutex_v3::scoped_lockinline
    upgrade_to_writer()tbb::spin_rw_mutex_v3::scoped_lockinline
    ~scoped_lock()tbb::spin_rw_mutex_v3::scoped_lockinline

    diff --git a/doc/html/a00306.html b/doc/html/a00306.html index 1ce14c6..c53c6ef 100644 --- a/doc/html/a00306.html +++ b/doc/html/a00306.html @@ -33,24 +33,23 @@
    -
    tbb::spin_mutex::scoped_lock Member List
    +
    tbb::task_handle< F > Member List
    -

    This is the complete list of members for tbb::spin_mutex::scoped_lock, including all inherited members.

    +

    This is the complete list of members for tbb::task_handle< F >, including all inherited members.

    - - - - - - - + + + + + +
    acquire(spin_mutex &m)tbb::spin_mutex::scoped_lockinline
    release()tbb::spin_mutex::scoped_lockinline
    scoped_lock()tbb::spin_mutex::scoped_lockinline
    scoped_lock(spin_mutex &m)tbb::spin_mutex::scoped_lockinline
    spin_mutex (defined in tbb::spin_mutex::scoped_lock)tbb::spin_mutex::scoped_lockfriend
    try_acquire(spin_mutex &m)tbb::spin_mutex::scoped_lockinline
    ~scoped_lock()tbb::spin_mutex::scoped_lockinline
    internal::task_handle_task (defined in tbb::task_handle< F >)tbb::task_handle< F >friend
    operator()() const (defined in tbb::task_handle< F >)tbb::task_handle< F >inline
    structured_task_group (defined in tbb::task_handle< F >)tbb::task_handle< F >friend
    task_group (defined in tbb::task_handle< F >)tbb::task_handle< F >friend
    task_handle(const F &f) (defined in tbb::task_handle< F >)tbb::task_handle< F >inline
    task_handle(F &&f) (defined in tbb::task_handle< F >)tbb::task_handle< F >inline

    diff --git a/doc/html/a00307.html b/doc/html/a00307.html index 34ec4a0..3564949 100644 --- a/doc/html/a00307.html +++ b/doc/html/a00307.html @@ -33,34 +33,33 @@
    -
    tbb::spin_rw_mutex_v3 Member List
    +
    tbb::task_group Member List
    -

    This is the complete list of members for tbb::spin_rw_mutex_v3, including all inherited members.

    +

    This is the complete list of members for tbb::task_group, including all inherited members.

    - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + +
    BUSY (defined in tbb::spin_rw_mutex_v3)tbb::spin_rw_mutex_v3protectedstatic
    is_fair_mutex (defined in tbb::spin_rw_mutex_v3)tbb::spin_rw_mutex_v3static
    is_recursive_mutex (defined in tbb::spin_rw_mutex_v3)tbb::spin_rw_mutex_v3static
    is_rw_mutex (defined in tbb::spin_rw_mutex_v3)tbb::spin_rw_mutex_v3static
    lock()tbb::spin_rw_mutex_v3inline
    lock_read()tbb::spin_rw_mutex_v3inline
    ONE_READER (defined in tbb::spin_rw_mutex_v3)tbb::spin_rw_mutex_v3protectedstatic
    READERS (defined in tbb::spin_rw_mutex_v3)tbb::spin_rw_mutex_v3protectedstatic
    spin_rw_mutex_v3()tbb::spin_rw_mutex_v3inline
    statetbb::spin_rw_mutex_v3protected
    state_t typedef (defined in tbb::spin_rw_mutex_v3)tbb::spin_rw_mutex_v3protected
    try_lock()tbb::spin_rw_mutex_v3inline
    try_lock_read()tbb::spin_rw_mutex_v3inline
    unlock()tbb::spin_rw_mutex_v3inline
    WRITER (defined in tbb::spin_rw_mutex_v3)tbb::spin_rw_mutex_v3protectedstatic
    WRITER_PENDING (defined in tbb::spin_rw_mutex_v3)tbb::spin_rw_mutex_v3protectedstatic
    ~spin_rw_mutex_v3()tbb::spin_rw_mutex_v3inline
    cancel() (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    internal_run(__TBB_FORWARDING_REF(F) f) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinlineprotected
    internal_run_and_wait(F &f) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinlineprotected
    is_canceling() (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    my_context (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseprotected
    my_root (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseprotected
    owner() (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinlineprotected
    run(task_handle< F > &h) (defined in tbb::task_group)tbb::task_groupinline
    run(F &&f) (defined in tbb::task_group)tbb::task_groupinline
    run(const F &f) (defined in tbb::task_group)tbb::task_groupinline
    run_and_wait(const F &f) (defined in tbb::task_group)tbb::task_groupinline
    run_and_wait(task_handle< F > &h) (defined in tbb::task_group)tbb::task_groupinline
    task_group() (defined in tbb::task_group)tbb::task_groupinline
    task_group_base(uintptr_t traits=0) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    wait() (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    ~task_group_base() __TBB_NOEXCEPT(false) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline

    diff --git a/doc/html/a00308.html b/doc/html/a00308.html index 93db5e0..9130570 100644 --- a/doc/html/a00308.html +++ b/doc/html/a00308.html @@ -33,28 +33,29 @@
    -
    tbb::spin_rw_mutex_v3::scoped_lock Member List
    +
    tbb::structured_task_group Member List
    -

    This is the complete list of members for tbb::spin_rw_mutex_v3::scoped_lock, including all inherited members.

    +

    This is the complete list of members for tbb::structured_task_group, including all inherited members.

    - - - - - - - - - - - + + + + + + + + + + + +
    acquire(spin_rw_mutex &m, bool write=true)tbb::spin_rw_mutex_v3::scoped_lockinline
    downgrade_to_reader()tbb::spin_rw_mutex_v3::scoped_lockinline
    is_writertbb::spin_rw_mutex_v3::scoped_lockprotected
    mutextbb::spin_rw_mutex_v3::scoped_lockprotected
    release()tbb::spin_rw_mutex_v3::scoped_lockinline
    scoped_lock()tbb::spin_rw_mutex_v3::scoped_lockinline
    scoped_lock(spin_rw_mutex &m, bool write=true)tbb::spin_rw_mutex_v3::scoped_lockinline
    tbb::interface8::internal::x86_rtm_rw_mutex (defined in tbb::spin_rw_mutex_v3::scoped_lock)tbb::spin_rw_mutex_v3::scoped_lockfriend
    try_acquire(spin_rw_mutex &m, bool write=true)tbb::spin_rw_mutex_v3::scoped_lockinline
    upgrade_to_writer()tbb::spin_rw_mutex_v3::scoped_lockinline
    ~scoped_lock()tbb::spin_rw_mutex_v3::scoped_lockinline
    cancel() (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    internal_run(__TBB_FORWARDING_REF(F) f) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinlineprotected
    internal_run_and_wait(F &f) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinlineprotected
    is_canceling() (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    my_context (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseprotected
    my_root (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseprotected
    owner() (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinlineprotected
    run(task_handle< F > &h) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    run_and_wait(task_handle< F > &h) (defined in tbb::structured_task_group)tbb::structured_task_groupinline
    task_group_base(uintptr_t traits=0) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    wait() (defined in tbb::structured_task_group)tbb::structured_task_groupinline
    ~task_group_base() __TBB_NOEXCEPT(false) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline

    diff --git a/doc/html/a00309.html b/doc/html/a00309.html index ffbc9dd..a5e56d1 100644 --- a/doc/html/a00309.html +++ b/doc/html/a00309.html @@ -33,23 +33,28 @@
    -
    tbb::task_handle< F > Member List
    +
    tbb::task_scheduler_init Member List
    -

    This is the complete list of members for tbb::task_handle< F >, including all inherited members.

    +

    This is the complete list of members for tbb::task_scheduler_init, including all inherited members.

    - - - - - - + + + + + + + + + + +
    internal::task_handle_task (defined in tbb::task_handle< F >)tbb::task_handle< F >friend
    operator()() const (defined in tbb::task_handle< F >)tbb::task_handle< F >inline
    structured_task_group (defined in tbb::task_handle< F >)tbb::task_handle< F >friend
    task_group (defined in tbb::task_handle< F >)tbb::task_handle< F >friend
    task_handle(const F &f) (defined in tbb::task_handle< F >)tbb::task_handle< F >inline
    task_handle(F &&f) (defined in tbb::task_handle< F >)tbb::task_handle< F >inline
    automatictbb::task_scheduler_initstatic
    blocking_terminate()tbb::task_scheduler_initinline
    blocking_terminate(const std::nothrow_t &) __TBB_NOEXCEPT(true)tbb::task_scheduler_initinline
    default_num_threads()tbb::task_scheduler_initstatic
    deferredtbb::task_scheduler_initstatic
    initialize(int number_of_threads=automatic)tbb::task_scheduler_init
    initialize(int number_of_threads, stack_size_type thread_stack_size)tbb::task_scheduler_init
    is_active() const tbb::task_scheduler_initinline
    task_scheduler_init(int number_of_threads=automatic, stack_size_type thread_stack_size=0)tbb::task_scheduler_initinline
    terminate()tbb::task_scheduler_init
    ~task_scheduler_init()tbb::task_scheduler_initinline

    diff --git a/doc/html/a00310.html b/doc/html/a00310.html index 7415df9..1d34556 100644 --- a/doc/html/a00310.html +++ b/doc/html/a00310.html @@ -33,33 +33,40 @@
    -
    tbb::task_group Member List
    +
    tbb::tbb_allocator< T > Member List
    -

    This is the complete list of members for tbb::task_group, including all inherited members.

    +

    This is the complete list of members for tbb::tbb_allocator< T >, including all inherited members.

    - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + +
    cancel() (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    internal_run(__TBB_FORWARDING_REF(F) f) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinlineprotected
    internal_run_and_wait(F &f) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinlineprotected
    is_canceling() (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    my_context (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseprotected
    my_root (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseprotected
    owner() (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinlineprotected
    run(task_handle< F > &h) (defined in tbb::task_group)tbb::task_groupinline
    run(F &&f) (defined in tbb::task_group)tbb::task_groupinline
    run(const F &f) (defined in tbb::task_group)tbb::task_groupinline
    run_and_wait(const F &f) (defined in tbb::task_group)tbb::task_groupinline
    run_and_wait(task_handle< F > &h) (defined in tbb::task_group)tbb::task_groupinline
    task_group() (defined in tbb::task_group)tbb::task_groupinline
    task_group_base(uintptr_t traits=0) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    wait() (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    ~task_group_base() __TBB_NOEXCEPT(false) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    address(reference x) const (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >inline
    address(const_reference x) const (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >inline
    allocate(size_type n, const void *=0)tbb::tbb_allocator< T >inline
    allocator_type()tbb::tbb_allocator< T >inlinestatic
    const_pointer typedef (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >
    const_reference typedef (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >
    construct(U *p, Args &&...args)tbb::tbb_allocator< T >inline
    construct(pointer p, value_type &&value) (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >inline
    construct(pointer p, const value_type &value) (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >inline
    deallocate(pointer p, size_type)tbb::tbb_allocator< T >inline
    destroy(pointer p)tbb::tbb_allocator< T >inline
    difference_type typedef (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >
    malloc_type enum nametbb::tbb_allocator< T >
    max_size() const tbb::tbb_allocator< T >inline
    pointer typedef (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >
    reference typedef (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >
    scalable enum value (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >
    size_type typedef (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >
    standard enum value (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >
    tbb_allocator() (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >inline
    tbb_allocator(const tbb_allocator &) (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >inline
    tbb_allocator(const tbb_allocator< U > &) (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >inline
    value_type typedef (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >

    diff --git a/doc/html/a00311.html b/doc/html/a00311.html index b09376b..9eb9bbc 100644 --- a/doc/html/a00311.html +++ b/doc/html/a00311.html @@ -33,29 +33,18 @@
    -
    tbb::structured_task_group Member List
    +
    tbb::tbb_allocator< T >::rebind< U > Member List
    -

    This is the complete list of members for tbb::structured_task_group, including all inherited members.

    +

    This is the complete list of members for tbb::tbb_allocator< T >::rebind< U >, including all inherited members.

    - - - - - - - - - - - - +
    cancel() (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    internal_run(__TBB_FORWARDING_REF(F) f) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinlineprotected
    internal_run_and_wait(F &f) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinlineprotected
    is_canceling() (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    my_context (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseprotected
    my_root (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseprotected
    owner() (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinlineprotected
    run(task_handle< F > &h) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    run_and_wait(task_handle< F > &h) (defined in tbb::structured_task_group)tbb::structured_task_groupinline
    task_group_base(uintptr_t traits=0) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    wait() (defined in tbb::structured_task_group)tbb::structured_task_groupinline
    ~task_group_base() __TBB_NOEXCEPT(false) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    other typedef (defined in tbb::tbb_allocator< T >::rebind< U >)tbb::tbb_allocator< T >::rebind< U >

    diff --git a/doc/html/a00312.html b/doc/html/a00312.html index 1176e67..5d787b1 100644 --- a/doc/html/a00312.html +++ b/doc/html/a00312.html @@ -33,28 +33,20 @@
    -
    tbb::task_scheduler_init Member List
    +
    tbb::tbb_allocator< void > Member List
    -

    This is the complete list of members for tbb::task_scheduler_init, including all inherited members.

    +

    This is the complete list of members for tbb::tbb_allocator< void >, including all inherited members.

    - - - - - - - - - - - + + +
    automatictbb::task_scheduler_initstatic
    blocking_terminate()tbb::task_scheduler_initinline
    blocking_terminate(const std::nothrow_t &) __TBB_NOEXCEPT(true)tbb::task_scheduler_initinline
    default_num_threads()tbb::task_scheduler_initstatic
    deferredtbb::task_scheduler_initstatic
    initialize(int number_of_threads=automatic)tbb::task_scheduler_init
    initialize(int number_of_threads, stack_size_type thread_stack_size)tbb::task_scheduler_init
    is_active() const tbb::task_scheduler_initinline
    task_scheduler_init(int number_of_threads=automatic, stack_size_type thread_stack_size=0)tbb::task_scheduler_initinline
    terminate()tbb::task_scheduler_init
    ~task_scheduler_init()tbb::task_scheduler_initinline
    const_pointer typedef (defined in tbb::tbb_allocator< void >)tbb::tbb_allocator< void >
    pointer typedef (defined in tbb::tbb_allocator< void >)tbb::tbb_allocator< void >
    value_type typedef (defined in tbb::tbb_allocator< void >)tbb::tbb_allocator< void >

    diff --git a/doc/html/a00313.html b/doc/html/a00313.html index cf5c5cb..a9f55e9 100644 --- a/doc/html/a00313.html +++ b/doc/html/a00313.html @@ -33,40 +33,18 @@
    -
    tbb::tbb_allocator< T > Member List
    +
    tbb::tbb_allocator< void >::rebind< U > Member List
    -

    This is the complete list of members for tbb::tbb_allocator< T >, including all inherited members.

    +

    This is the complete list of members for tbb::tbb_allocator< void >::rebind< U >, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - +
    address(reference x) const (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >inline
    address(const_reference x) const (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >inline
    allocate(size_type n, const void *=0)tbb::tbb_allocator< T >inline
    allocator_type()tbb::tbb_allocator< T >inlinestatic
    const_pointer typedef (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >
    const_reference typedef (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >
    construct(U *p, Args &&...args)tbb::tbb_allocator< T >inline
    construct(pointer p, value_type &&value) (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >inline
    construct(pointer p, const value_type &value) (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >inline
    deallocate(pointer p, size_type)tbb::tbb_allocator< T >inline
    destroy(pointer p)tbb::tbb_allocator< T >inline
    difference_type typedef (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >
    malloc_type enum nametbb::tbb_allocator< T >
    max_size() const tbb::tbb_allocator< T >inline
    pointer typedef (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >
    reference typedef (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >
    scalable enum value (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >
    size_type typedef (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >
    standard enum value (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >
    tbb_allocator() (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >inline
    tbb_allocator(const tbb_allocator &) (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >inline
    tbb_allocator(const tbb_allocator< U > &) (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >inline
    value_type typedef (defined in tbb::tbb_allocator< T >)tbb::tbb_allocator< T >
    other typedef (defined in tbb::tbb_allocator< void >::rebind< U >)tbb::tbb_allocator< void >::rebind< U >

    diff --git a/doc/html/a00314.html b/doc/html/a00314.html index 43f9686..14e4262 100644 --- a/doc/html/a00314.html +++ b/doc/html/a00314.html @@ -33,18 +33,29 @@
    -
    tbb::tbb_allocator< T >::rebind< U > Member List
    +
    tbb::zero_allocator< T, Allocator > Member List
    -

    This is the complete list of members for tbb::tbb_allocator< T >::rebind< U >, including all inherited members.

    +

    This is the complete list of members for tbb::zero_allocator< T, Allocator >, including all inherited members.

    - + + + + + + + + + + + +
    other typedef (defined in tbb::tbb_allocator< T >::rebind< U >)tbb::tbb_allocator< T >::rebind< U >
    allocate(const size_type n, const void *hint=0) (defined in tbb::zero_allocator< T, Allocator >)tbb::zero_allocator< T, Allocator >inline
    base_allocator_type typedef (defined in tbb::zero_allocator< T, Allocator >)tbb::zero_allocator< T, Allocator >
    const_pointer typedef (defined in tbb::zero_allocator< T, Allocator >)tbb::zero_allocator< T, Allocator >
    const_reference typedef (defined in tbb::zero_allocator< T, Allocator >)tbb::zero_allocator< T, Allocator >
    difference_type typedef (defined in tbb::zero_allocator< T, Allocator >)tbb::zero_allocator< T, Allocator >
    pointer typedef (defined in tbb::zero_allocator< T, Allocator >)tbb::zero_allocator< T, Allocator >
    reference typedef (defined in tbb::zero_allocator< T, Allocator >)tbb::zero_allocator< T, Allocator >
    size_type typedef (defined in tbb::zero_allocator< T, Allocator >)tbb::zero_allocator< T, Allocator >
    value_type typedef (defined in tbb::zero_allocator< T, Allocator >)tbb::zero_allocator< T, Allocator >
    zero_allocator() (defined in tbb::zero_allocator< T, Allocator >)tbb::zero_allocator< T, Allocator >inline
    zero_allocator(const zero_allocator &a) (defined in tbb::zero_allocator< T, Allocator >)tbb::zero_allocator< T, Allocator >inline
    zero_allocator(const zero_allocator< U > &a) (defined in tbb::zero_allocator< T, Allocator >)tbb::zero_allocator< T, Allocator >inline

    diff --git a/doc/html/a00315.html b/doc/html/a00315.html index 5200ce7..1f7ce1e 100644 --- a/doc/html/a00315.html +++ b/doc/html/a00315.html @@ -33,20 +33,18 @@
    -
    tbb::tbb_allocator< void > Member List
    +
    tbb::zero_allocator< T, Allocator >::rebind< U > Member List
    -

    This is the complete list of members for tbb::tbb_allocator< void >, including all inherited members.

    +

    This is the complete list of members for tbb::zero_allocator< T, Allocator >::rebind< U >, including all inherited members.

    - - - +
    const_pointer typedef (defined in tbb::tbb_allocator< void >)tbb::tbb_allocator< void >
    pointer typedef (defined in tbb::tbb_allocator< void >)tbb::tbb_allocator< void >
    value_type typedef (defined in tbb::tbb_allocator< void >)tbb::tbb_allocator< void >
    other typedef (defined in tbb::zero_allocator< T, Allocator >::rebind< U >)tbb::zero_allocator< T, Allocator >::rebind< U >

    diff --git a/doc/html/a00316.html b/doc/html/a00316.html index 32f8308..5ddd36d 100644 --- a/doc/html/a00316.html +++ b/doc/html/a00316.html @@ -33,18 +33,21 @@
    -
    tbb::tbb_allocator< void >::rebind< U > Member List
    +
    tbb::zero_allocator< void, Allocator > Member List
    -

    This is the complete list of members for tbb::tbb_allocator< void >::rebind< U >, including all inherited members.

    +

    This is the complete list of members for tbb::zero_allocator< void, Allocator >, including all inherited members.

    - + + + +
    other typedef (defined in tbb::tbb_allocator< void >::rebind< U >)tbb::tbb_allocator< void >::rebind< U >
    base_allocator_type typedef (defined in tbb::zero_allocator< void, Allocator >)tbb::zero_allocator< void, Allocator >
    const_pointer typedef (defined in tbb::zero_allocator< void, Allocator >)tbb::zero_allocator< void, Allocator >
    pointer typedef (defined in tbb::zero_allocator< void, Allocator >)tbb::zero_allocator< void, Allocator >
    value_type typedef (defined in tbb::zero_allocator< void, Allocator >)tbb::zero_allocator< void, Allocator >

    diff --git a/doc/html/a00317.html b/doc/html/a00317.html index 19eb866..8639581 100644 --- a/doc/html/a00317.html +++ b/doc/html/a00317.html @@ -33,29 +33,18 @@
    -
    tbb::zero_allocator< T, Allocator > Member List
    +
    tbb::zero_allocator< void, Allocator >::rebind< U > Member List
    -

    This is the complete list of members for tbb::zero_allocator< T, Allocator >, including all inherited members.

    +

    This is the complete list of members for tbb::zero_allocator< void, Allocator >::rebind< U >, including all inherited members.

    - - - - - - - - - - - - +
    allocate(const size_type n, const void *hint=0) (defined in tbb::zero_allocator< T, Allocator >)tbb::zero_allocator< T, Allocator >inline
    base_allocator_type typedef (defined in tbb::zero_allocator< T, Allocator >)tbb::zero_allocator< T, Allocator >
    const_pointer typedef (defined in tbb::zero_allocator< T, Allocator >)tbb::zero_allocator< T, Allocator >
    const_reference typedef (defined in tbb::zero_allocator< T, Allocator >)tbb::zero_allocator< T, Allocator >
    difference_type typedef (defined in tbb::zero_allocator< T, Allocator >)tbb::zero_allocator< T, Allocator >
    pointer typedef (defined in tbb::zero_allocator< T, Allocator >)tbb::zero_allocator< T, Allocator >
    reference typedef (defined in tbb::zero_allocator< T, Allocator >)tbb::zero_allocator< T, Allocator >
    size_type typedef (defined in tbb::zero_allocator< T, Allocator >)tbb::zero_allocator< T, Allocator >
    value_type typedef (defined in tbb::zero_allocator< T, Allocator >)tbb::zero_allocator< T, Allocator >
    zero_allocator() (defined in tbb::zero_allocator< T, Allocator >)tbb::zero_allocator< T, Allocator >inline
    zero_allocator(const zero_allocator &a) (defined in tbb::zero_allocator< T, Allocator >)tbb::zero_allocator< T, Allocator >inline
    zero_allocator(const zero_allocator< U > &a) (defined in tbb::zero_allocator< T, Allocator >)tbb::zero_allocator< T, Allocator >inline
    other typedef (defined in tbb::zero_allocator< void, Allocator >::rebind< U >)tbb::zero_allocator< void, Allocator >::rebind< U >

    diff --git a/doc/html/a00318.html b/doc/html/a00318.html index ee1a7cd..baba90b 100644 --- a/doc/html/a00318.html +++ b/doc/html/a00318.html @@ -33,18 +33,19 @@
    -
    tbb::zero_allocator< T, Allocator >::rebind< U > Member List
    +
    tbb::bad_last_alloc Member List
    -

    This is the complete list of members for tbb::zero_allocator< T, Allocator >::rebind< U >, including all inherited members.

    +

    This is the complete list of members for tbb::bad_last_alloc, including all inherited members.

    - + +
    other typedef (defined in tbb::zero_allocator< T, Allocator >::rebind< U >)tbb::zero_allocator< T, Allocator >::rebind< U >
    what() const __TBB_override (defined in tbb::bad_last_alloc)tbb::bad_last_alloc
    ~bad_last_alloc() __TBB_override (defined in tbb::bad_last_alloc)tbb::bad_last_allocinline

    diff --git a/doc/html/a00319.html b/doc/html/a00319.html index 0eae1f0..7f70e7b 100644 --- a/doc/html/a00319.html +++ b/doc/html/a00319.html @@ -33,21 +33,18 @@
    -
    tbb::zero_allocator< void, Allocator > Member List
    +
    tbb::improper_lock Member List
    -

    This is the complete list of members for tbb::zero_allocator< void, Allocator >, including all inherited members.

    +

    This is the complete list of members for tbb::improper_lock, including all inherited members.

    - - - - +
    base_allocator_type typedef (defined in tbb::zero_allocator< void, Allocator >)tbb::zero_allocator< void, Allocator >
    const_pointer typedef (defined in tbb::zero_allocator< void, Allocator >)tbb::zero_allocator< void, Allocator >
    pointer typedef (defined in tbb::zero_allocator< void, Allocator >)tbb::zero_allocator< void, Allocator >
    value_type typedef (defined in tbb::zero_allocator< void, Allocator >)tbb::zero_allocator< void, Allocator >
    what() const __TBB_override (defined in tbb::improper_lock)tbb::improper_lock

    diff --git a/doc/html/a00320.html b/doc/html/a00320.html index e2b4f37..fca4a67 100644 --- a/doc/html/a00320.html +++ b/doc/html/a00320.html @@ -33,18 +33,18 @@
    -
    tbb::zero_allocator< void, Allocator >::rebind< U > Member List
    +
    tbb::user_abort Member List
    -

    This is the complete list of members for tbb::zero_allocator< void, Allocator >::rebind< U >, including all inherited members.

    +

    This is the complete list of members for tbb::user_abort, including all inherited members.

    - +
    other typedef (defined in tbb::zero_allocator< void, Allocator >::rebind< U >)tbb::zero_allocator< void, Allocator >::rebind< U >
    what() const __TBB_override (defined in tbb::user_abort)tbb::user_abort

    diff --git a/doc/html/a00321.html b/doc/html/a00321.html index 9956af7..1cfcd34 100644 --- a/doc/html/a00321.html +++ b/doc/html/a00321.html @@ -33,19 +33,18 @@
    -
    tbb::bad_last_alloc Member List
    +
    tbb::missing_wait Member List
    -

    This is the complete list of members for tbb::bad_last_alloc, including all inherited members.

    +

    This is the complete list of members for tbb::missing_wait, including all inherited members.

    - - +
    what() const __TBB_override (defined in tbb::bad_last_alloc)tbb::bad_last_alloc
    ~bad_last_alloc() __TBB_override (defined in tbb::bad_last_alloc)tbb::bad_last_allocinline
    what() const __TBB_override (defined in tbb::missing_wait)tbb::missing_wait

    diff --git a/doc/html/a00322.html b/doc/html/a00322.html index d2c3a7d..d092fdf 100644 --- a/doc/html/a00322.html +++ b/doc/html/a00322.html @@ -33,18 +33,18 @@
    -
    tbb::improper_lock Member List
    +
    tbb::invalid_multiple_scheduling Member List
    -

    This is the complete list of members for tbb::improper_lock, including all inherited members.

    +

    This is the complete list of members for tbb::invalid_multiple_scheduling, including all inherited members.

    - +
    what() const __TBB_override (defined in tbb::improper_lock)tbb::improper_lock
    what() const __TBB_override (defined in tbb::invalid_multiple_scheduling)tbb::invalid_multiple_scheduling

    diff --git a/doc/html/a00323.html b/doc/html/a00323.html index e82e13e..3b2c496 100644 --- a/doc/html/a00323.html +++ b/doc/html/a00323.html @@ -33,18 +33,24 @@
    -
    tbb::user_abort Member List
    +
    tbb::tbb_exception Member List
    -

    This is the complete list of members for tbb::user_abort, including all inherited members.

    +

    This is the complete list of members for tbb::tbb_exception, including all inherited members.

    - + + + + + + +
    what() const __TBB_override (defined in tbb::user_abort)tbb::user_abort
    destroy()=0tbb::tbb_exceptionpure virtual
    move()=0tbb::tbb_exceptionpure virtual
    name() const =0tbb::tbb_exceptionpure virtual
    operator delete(void *p)tbb::tbb_exceptioninline
    throw_self()=0tbb::tbb_exceptionpure virtual
    what() const __TBB_override=0tbb::tbb_exceptionpure virtual
    ~tbb_exception() (defined in tbb::tbb_exception)tbb::tbb_exceptioninline

    diff --git a/doc/html/a00324.html b/doc/html/a00324.html index fef9159..931f00a 100644 --- a/doc/html/a00324.html +++ b/doc/html/a00324.html @@ -33,18 +33,30 @@
    -
    tbb::missing_wait Member List
    +
    tbb::captured_exception Member List
    -

    This is the complete list of members for tbb::missing_wait, including all inherited members.

    +

    This is the complete list of members for tbb::captured_exception, including all inherited members.

    - + + + + + + + + + + + + +
    what() const __TBB_override (defined in tbb::missing_wait)tbb::missing_wait
    captured_exception(const captured_exception &src) (defined in tbb::captured_exception)tbb::captured_exceptioninline
    captured_exception(const char *name_, const char *info) (defined in tbb::captured_exception)tbb::captured_exceptioninline
    clear() (defined in tbb::captured_exception)tbb::captured_exception
    destroy() __TBB_overridetbb::captured_exceptionvirtual
    move() __TBB_overridetbb::captured_exceptionvirtual
    name() const __TBB_overridetbb::captured_exceptionvirtual
    operator delete(void *p)tbb::tbb_exceptioninline
    operator=(const captured_exception &src) (defined in tbb::captured_exception)tbb::captured_exceptioninline
    set(const char *name, const char *info) (defined in tbb::captured_exception)tbb::captured_exception
    throw_self() __TBB_overridetbb::captured_exceptioninlinevirtual
    what() const __TBB_overridetbb::captured_exceptionvirtual
    ~captured_exception() (defined in tbb::captured_exception)tbb::captured_exception
    ~tbb_exception() (defined in tbb::tbb_exception)tbb::tbb_exceptioninline

    diff --git a/doc/html/a00325.html b/doc/html/a00325.html index 25f85a0..1eb2c7d 100644 --- a/doc/html/a00325.html +++ b/doc/html/a00325.html @@ -33,18 +33,31 @@
    -
    tbb::invalid_multiple_scheduling Member List
    +
    tbb::movable_exception< ExceptionData > Member List
    -

    This is the complete list of members for tbb::invalid_multiple_scheduling, including all inherited members.

    +

    This is the complete list of members for tbb::movable_exception< ExceptionData >, including all inherited members.

    - + + + + + + + + + + + + + +
    what() const __TBB_override (defined in tbb::invalid_multiple_scheduling)tbb::invalid_multiple_scheduling
    data() (defined in tbb::movable_exception< ExceptionData >)tbb::movable_exception< ExceptionData >inline
    data() const (defined in tbb::movable_exception< ExceptionData >)tbb::movable_exception< ExceptionData >inline
    destroy() __TBB_overridetbb::movable_exception< ExceptionData >inlinevirtual
    movable_exception(const ExceptionData &data_) (defined in tbb::movable_exception< ExceptionData >)tbb::movable_exception< ExceptionData >inline
    movable_exception(const movable_exception &src) (defined in tbb::movable_exception< ExceptionData >)tbb::movable_exception< ExceptionData >inline
    move() __TBB_overridetbb::movable_exception< ExceptionData >inlinevirtual
    my_exception_datatbb::movable_exception< ExceptionData >protected
    name() const __TBB_overridetbb::movable_exception< ExceptionData >inlinevirtual
    operator delete(void *p)tbb::tbb_exceptioninline
    operator=(const movable_exception &src) (defined in tbb::movable_exception< ExceptionData >)tbb::movable_exception< ExceptionData >inline
    throw_self() __TBB_overridetbb::movable_exception< ExceptionData >inlinevirtual
    what() const __TBB_overridetbb::movable_exception< ExceptionData >inlinevirtual
    ~movable_exception() (defined in tbb::movable_exception< ExceptionData >)tbb::movable_exception< ExceptionData >inline
    ~tbb_exception() (defined in tbb::tbb_exception)tbb::tbb_exceptioninline

    diff --git a/doc/html/a00326.html b/doc/html/a00326.html index 61752a9..5bfae7d 100644 --- a/doc/html/a00326.html +++ b/doc/html/a00326.html @@ -33,24 +33,21 @@
    -
    tbb::tbb_exception Member List
    +
    tbb::tick_count Member List
    -

    This is the complete list of members for tbb::tbb_exception, including all inherited members.

    +

    This is the complete list of members for tbb::tick_count, including all inherited members.

    - - - - - - - + + + +
    destroy()=0tbb::tbb_exceptionpure virtual
    move()=0tbb::tbb_exceptionpure virtual
    name() const =0tbb::tbb_exceptionpure virtual
    operator delete(void *p)tbb::tbb_exceptioninline
    throw_self()=0tbb::tbb_exceptionpure virtual
    what() const __TBB_override=0tbb::tbb_exceptionpure virtual
    ~tbb_exception() (defined in tbb::tbb_exception)tbb::tbb_exceptioninline
    now()tbb::tick_countinlinestatic
    operator-(const tick_count &t1, const tick_count &t0)tbb::tick_countfriend
    resolution()tbb::tick_countinlinestatic
    tick_count()tbb::tick_countinline

    diff --git a/doc/html/a00327.html b/doc/html/a00327.html index a658c85..16a341a 100644 --- a/doc/html/a00327.html +++ b/doc/html/a00327.html @@ -33,30 +33,26 @@
    -
    tbb::captured_exception Member List
    +
    tbb::tick_count::interval_t Member List
    -

    This is the complete list of members for tbb::captured_exception, including all inherited members.

    +

    This is the complete list of members for tbb::tick_count::interval_t, including all inherited members.

    - - - - - - - - - - - - - + + + + + + + + +
    captured_exception(const captured_exception &src) (defined in tbb::captured_exception)tbb::captured_exceptioninline
    captured_exception(const char *name_, const char *info) (defined in tbb::captured_exception)tbb::captured_exceptioninline
    clear() (defined in tbb::captured_exception)tbb::captured_exception
    destroy() __TBB_overridetbb::captured_exceptionvirtual
    move() __TBB_overridetbb::captured_exceptionvirtual
    name() const __TBB_overridetbb::captured_exceptionvirtual
    operator delete(void *p)tbb::tbb_exceptioninline
    operator=(const captured_exception &src) (defined in tbb::captured_exception)tbb::captured_exceptioninline
    set(const char *name, const char *info) (defined in tbb::captured_exception)tbb::captured_exception
    throw_self() __TBB_overridetbb::captured_exceptioninlinevirtual
    what() const __TBB_overridetbb::captured_exceptionvirtual
    ~captured_exception() (defined in tbb::captured_exception)tbb::captured_exception
    ~tbb_exception() (defined in tbb::tbb_exception)tbb::tbb_exceptioninline
    interval_t()tbb::tick_count::interval_tinline
    interval_t(double sec)tbb::tick_count::interval_tinlineexplicit
    operator+(const interval_t &i, const interval_t &j)tbb::tick_count::interval_tfriend
    operator+=(const interval_t &i)tbb::tick_count::interval_tinline
    operator-(const tick_count &t1, const tick_count &t0)tbb::tick_count::interval_tfriend
    operator-(const interval_t &i, const interval_t &j)tbb::tick_count::interval_tfriend
    operator-=(const interval_t &i)tbb::tick_count::interval_tinline
    seconds() const tbb::tick_count::interval_tinline
    tbb::tick_count (defined in tbb::tick_count::interval_t)tbb::tick_count::interval_tfriend

    diff --git a/doc/html/a00328.html b/doc/html/a00328.html index b7643c7..86830ec 100644 --- a/doc/html/a00328.html +++ b/doc/html/a00328.html @@ -33,31 +33,42 @@
    -
    tbb::movable_exception< ExceptionData > Member List
    +
    tbb::flow::interface10::sender< T > Member List
    -

    This is the complete list of members for tbb::movable_exception< ExceptionData >, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::sender< T >, including all inherited members.

    - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + +
    data() (defined in tbb::movable_exception< ExceptionData >)tbb::movable_exception< ExceptionData >inline
    data() const (defined in tbb::movable_exception< ExceptionData >)tbb::movable_exception< ExceptionData >inline
    destroy() __TBB_overridetbb::movable_exception< ExceptionData >inlinevirtual
    movable_exception(const ExceptionData &data_) (defined in tbb::movable_exception< ExceptionData >)tbb::movable_exception< ExceptionData >inline
    movable_exception(const movable_exception &src) (defined in tbb::movable_exception< ExceptionData >)tbb::movable_exception< ExceptionData >inline
    move() __TBB_overridetbb::movable_exception< ExceptionData >inlinevirtual
    my_exception_datatbb::movable_exception< ExceptionData >protected
    name() const __TBB_overridetbb::movable_exception< ExceptionData >inlinevirtual
    operator delete(void *p)tbb::tbb_exceptioninline
    operator=(const movable_exception &src) (defined in tbb::movable_exception< ExceptionData >)tbb::movable_exception< ExceptionData >inline
    throw_self() __TBB_overridetbb::movable_exception< ExceptionData >inlinevirtual
    what() const __TBB_overridetbb::movable_exception< ExceptionData >inlinevirtual
    ~movable_exception() (defined in tbb::movable_exception< ExceptionData >)tbb::movable_exception< ExceptionData >inline
    ~tbb_exception() (defined in tbb::tbb_exception)tbb::tbb_exceptioninline
    built_successors()=0 (defined in tbb::flow::interface10::sender< T >)tbb::flow::interface10::sender< T >pure virtual
    built_successors_type typedeftbb::flow::interface10::sender< T >
    copy_successors(successor_list_type &)=0 (defined in tbb::flow::interface10::sender< T >)tbb::flow::interface10::sender< T >pure virtual
    filtered_type typedef (defined in tbb::flow::interface10::sender< T >)tbb::flow::interface10::sender< T >
    internal_add_built_successor(successor_type &)=0 (defined in tbb::flow::interface10::sender< T >)tbb::flow::interface10::sender< T >pure virtual
    internal_delete_built_successor(successor_type &)=0 (defined in tbb::flow::interface10::sender< T >)tbb::flow::interface10::sender< T >pure virtual
    output_type typedeftbb::flow::interface10::sender< T >
    output_type typedeftbb::flow::interface10::sender< T >
    register_successor(successor_type &r)=0tbb::flow::interface10::sender< T >pure virtual
    remove_successor(successor_type &r)=0tbb::flow::interface10::sender< T >pure virtual
    successor_count()=0 (defined in tbb::flow::interface10::sender< T >)tbb::flow::interface10::sender< T >pure virtual
    successor_list_type typedef (defined in tbb::flow::interface10::sender< T >)tbb::flow::interface10::sender< T >
    successor_type typedeftbb::flow::interface10::sender< T >
    try_consume()tbb::flow::interface10::sender< T >inlinevirtual
    try_get(T &)tbb::flow::interface10::sender< T >inlinevirtual
    try_get(T &)tbb::flow::interface10::sender< T >inlinevirtual
    tbb::flow::interface10::internal::untyped_sender::try_get(X &t)tbb::flow::interface10::internal::untyped_senderinlineprotected
    try_get_wrapper(void *p, bool is_async) __TBB_override (defined in tbb::flow::interface10::sender< T >)tbb::flow::interface10::sender< T >inlineprotectedvirtual
    try_release()tbb::flow::interface10::sender< T >inlinevirtual
    try_reserve(T &)tbb::flow::interface10::sender< T >inlinevirtual
    try_reserve(T &)tbb::flow::interface10::sender< T >inlinevirtual
    tbb::flow::interface10::internal::untyped_sender::try_reserve(X &t)tbb::flow::interface10::internal::untyped_senderinlineprotected
    try_reserve_wrapper(void *p, bool is_async) __TBB_override (defined in tbb::flow::interface10::sender< T >)tbb::flow::interface10::sender< T >inlineprotectedvirtual
    ~sender() (defined in tbb::flow::interface10::sender< T >)tbb::flow::interface10::sender< T >inlinevirtual
    ~untyped_sender() (defined in tbb::flow::interface10::internal::untyped_sender)tbb::flow::interface10::internal::untyped_senderinlinevirtual

    diff --git a/doc/html/a00329.html b/doc/html/a00329.html index 5fd494d..2321d08 100644 --- a/doc/html/a00329.html +++ b/doc/html/a00329.html @@ -33,21 +33,51 @@
    -
    tbb::tick_count Member List
    +
    tbb::flow::interface10::receiver< T > Member List
    -

    This is the complete list of members for tbb::tick_count, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::receiver< T >, including all inherited members.

    - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    now()tbb::tick_countinlinestatic
    operator-(const tick_count &t1, const tick_count &t0)tbb::tick_countfriend
    resolution()tbb::tick_countinlinestatic
    tick_count()tbb::tick_countinline
    built_predecessors()=0 (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >pure virtual
    built_predecessors_type typedef (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >
    copy_predecessors(predecessor_list_type &)=0 (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >pure virtual
    filtered_type typedef (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >
    graph_reference()=0 (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >protectedpure virtual
    input_type typedeftbb::flow::interface10::receiver< T >
    input_type typedeftbb::flow::interface10::receiver< T >
    internal::async_helpers (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >friend
    internal::async_storage (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >friend
    internal::broadcast_cache (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >friend
    internal::round_robin_cache (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >friend
    internal::successor_cache (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >friend
    internal_add_built_predecessor(predecessor_type &)=0 (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >pure virtual
    internal_delete_built_predecessor(predecessor_type &)=0 (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >pure virtual
    is_continue_receiver() (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >inlineprotectedvirtual
    limiter_node classtbb::flow::interface10::receiver< T >friend
    predecessor_count()=0 (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >pure virtual
    predecessor_list_type typedef (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >
    predecessor_type typedeftbb::flow::interface10::receiver< T >
    proxy_dependency_receiver (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >friend
    register_predecessor(predecessor_type &)tbb::flow::interface10::receiver< T >inlinevirtual
    remove_predecessor(predecessor_type &)tbb::flow::interface10::receiver< T >inlinevirtual
    reset_receiver(reset_flags f=rf_reset_protocol)=0tbb::flow::interface10::receiver< T >protectedpure virtual
    run_and_put_task classtbb::flow::interface10::receiver< T >friend
    try_put(const typename internal::async_helpers< T >::filtered_type &t)tbb::flow::interface10::receiver< T >inline
    try_put(const typename internal::async_helpers< T >::async_type &t) (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >inline
    try_put(const T &t)tbb::flow::interface10::receiver< T >inline
    tbb::flow::interface10::internal::untyped_receiver::try_put(const X &t)tbb::flow::interface10::internal::untyped_receiverinline
    try_put_task(const T &t)=0tbb::flow::interface10::receiver< T >protectedpure virtual
    try_put_task(const T &t)=0 (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >protectedpure virtual
    try_put_task(const X &t) (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverinlineprotected
    try_put_task_wrapper(const void *p, bool is_async) __TBB_override (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >inlineprotectedvirtual
    ~receiver()tbb::flow::interface10::receiver< T >inlinevirtual
    ~untyped_receiver()tbb::flow::interface10::internal::untyped_receiverinlinevirtual

    diff --git a/doc/html/a00330.html b/doc/html/a00330.html index 8d9d330..70371e0 100644 --- a/doc/html/a00330.html +++ b/doc/html/a00330.html @@ -33,26 +33,54 @@
    -
    tbb::tick_count::interval_t Member List
    +
    tbb::flow::interface10::continue_receiver Member List
    -

    This is the complete list of members for tbb::tick_count::interval_t, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::continue_receiver, including all inherited members.

    - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    interval_t()tbb::tick_count::interval_tinline
    interval_t(double sec)tbb::tick_count::interval_tinlineexplicit
    operator+(const interval_t &i, const interval_t &j)tbb::tick_count::interval_tfriend
    operator+=(const interval_t &i)tbb::tick_count::interval_tinline
    operator-(const tick_count &t1, const tick_count &t0)tbb::tick_count::interval_tfriend
    operator-(const interval_t &i, const interval_t &j)tbb::tick_count::interval_tfriend
    operator-=(const interval_t &i)tbb::tick_count::interval_tinline
    seconds() const tbb::tick_count::interval_tinline
    tbb::tick_count (defined in tbb::tick_count::interval_t)tbb::tick_count::interval_tfriend
    built_predecessors() __TBB_override (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverinlinevirtual
    built_predecessors_type typedef (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiver
    continue_receiver(int number_of_predecessors=0)tbb::flow::interface10::continue_receiverinlineexplicit
    continue_receiver(const continue_receiver &src)tbb::flow::interface10::continue_receiverinline
    copy_predecessors(predecessor_list_type &v) __TBB_override (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverinlinevirtual
    execute()=0tbb::flow::interface10::continue_receiverprotectedpure virtual
    filtered_type typedef (defined in tbb::flow::interface10::receiver< continue_msg >)tbb::flow::interface10::receiver< continue_msg >
    graph_reference()=0 (defined in tbb::flow::interface10::receiver< continue_msg >)tbb::flow::interface10::receiver< continue_msg >protectedpure virtual
    input_type typedeftbb::flow::interface10::continue_receiver
    internal::broadcast_cache (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverfriend
    internal::round_robin_cache (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverfriend
    internal::successor_cache (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverfriend
    internal_add_built_predecessor(predecessor_type &s) __TBB_override (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverinlinevirtual
    internal_delete_built_predecessor(predecessor_type &s) __TBB_override (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverinlinevirtual
    is_continue_receiver() __TBB_override (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverinlineprotectedvirtual
    limiter_node (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverfriend
    my_built_predecessors (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverprotected
    my_current_count (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverprotected
    my_initial_predecessor_count (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverprotected
    my_mutex (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverprotected
    my_predecessor_count (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverprotected
    predecessor_count() __TBB_override (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverinlinevirtual
    predecessor_list_type typedef (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiver
    predecessor_type typedeftbb::flow::interface10::continue_receiver
    register_predecessor(predecessor_type &) __TBB_overridetbb::flow::interface10::continue_receiverinlinevirtual
    remove_predecessor(predecessor_type &) __TBB_overridetbb::flow::interface10::continue_receiverinlinevirtual
    reset_receiver(reset_flags f) __TBB_overridetbb::flow::interface10::continue_receiverinlineprotectedvirtual
    run_and_put_task (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverfriend
    try_put(const typename internal::async_helpers< continue_msg >::filtered_type &t)tbb::flow::interface10::receiver< continue_msg >inline
    try_put(const typename internal::async_helpers< continue_msg >::async_type &t) (defined in tbb::flow::interface10::receiver< continue_msg >)tbb::flow::interface10::receiver< continue_msg >inline
    try_put(const continue_msg &t)tbb::flow::interface10::receiver< continue_msg >inline
    tbb::flow::interface10::internal::untyped_receiver::try_put(const X &t)tbb::flow::interface10::internal::untyped_receiverinline
    try_put_task(const input_type &) __TBB_overridetbb::flow::interface10::continue_receiverinlineprotectedvirtual
    try_put_task(const X &t) (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverinlineprotected
    try_put_task_wrapper(const void *p, bool is_async) __TBB_override (defined in tbb::flow::interface10::receiver< continue_msg >)tbb::flow::interface10::receiver< continue_msg >inlineprotectedvirtual
    ~receiver()tbb::flow::interface10::receiver< continue_msg >inlinevirtual
    ~untyped_receiver()tbb::flow::interface10::internal::untyped_receiverinlinevirtual

    diff --git a/doc/html/a00331.html b/doc/html/a00331.html index e4c83cb..9aed034 100644 --- a/doc/html/a00331.html +++ b/doc/html/a00331.html @@ -33,42 +33,20 @@
    -
    tbb::flow::interface10::sender< T > Member List
    +
    tbb::flow::interface10::graph_proxy Member List
    -

    This is the complete list of members for tbb::flow::interface10::sender< T >, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::graph_proxy, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - + + +
    built_successors()=0 (defined in tbb::flow::interface10::sender< T >)tbb::flow::interface10::sender< T >pure virtual
    built_successors_type typedeftbb::flow::interface10::sender< T >
    copy_successors(successor_list_type &)=0 (defined in tbb::flow::interface10::sender< T >)tbb::flow::interface10::sender< T >pure virtual
    filtered_type typedef (defined in tbb::flow::interface10::sender< T >)tbb::flow::interface10::sender< T >
    internal_add_built_successor(successor_type &)=0 (defined in tbb::flow::interface10::sender< T >)tbb::flow::interface10::sender< T >pure virtual
    internal_delete_built_successor(successor_type &)=0 (defined in tbb::flow::interface10::sender< T >)tbb::flow::interface10::sender< T >pure virtual
    output_type typedeftbb::flow::interface10::sender< T >
    output_type typedeftbb::flow::interface10::sender< T >
    register_successor(successor_type &r)=0tbb::flow::interface10::sender< T >pure virtual
    remove_successor(successor_type &r)=0tbb::flow::interface10::sender< T >pure virtual
    successor_count()=0 (defined in tbb::flow::interface10::sender< T >)tbb::flow::interface10::sender< T >pure virtual
    successor_list_type typedef (defined in tbb::flow::interface10::sender< T >)tbb::flow::interface10::sender< T >
    successor_type typedeftbb::flow::interface10::sender< T >
    try_consume()tbb::flow::interface10::sender< T >inlinevirtual
    try_get(T &)tbb::flow::interface10::sender< T >inlinevirtual
    try_get(T &)tbb::flow::interface10::sender< T >inlinevirtual
    tbb::flow::interface10::internal::untyped_sender::try_get(X &t)tbb::flow::interface10::internal::untyped_senderinlineprotected
    try_get_wrapper(void *p, bool is_async) __TBB_override (defined in tbb::flow::interface10::sender< T >)tbb::flow::interface10::sender< T >inlineprotectedvirtual
    try_release()tbb::flow::interface10::sender< T >inlinevirtual
    try_reserve(T &)tbb::flow::interface10::sender< T >inlinevirtual
    try_reserve(T &)tbb::flow::interface10::sender< T >inlinevirtual
    tbb::flow::interface10::internal::untyped_sender::try_reserve(X &t)tbb::flow::interface10::internal::untyped_senderinlineprotected
    try_reserve_wrapper(void *p, bool is_async) __TBB_override (defined in tbb::flow::interface10::sender< T >)tbb::flow::interface10::sender< T >inlineprotectedvirtual
    ~sender() (defined in tbb::flow::interface10::sender< T >)tbb::flow::interface10::sender< T >inlinevirtual
    ~untyped_sender() (defined in tbb::flow::interface10::internal::untyped_sender)tbb::flow::interface10::internal::untyped_senderinlinevirtual
    release_wait()=0tbb::flow::interface10::graph_proxypure virtual
    reserve_wait()=0tbb::flow::interface10::graph_proxypure virtual
    ~graph_proxy() (defined in tbb::flow::interface10::graph_proxy)tbb::flow::interface10::graph_proxyinlinevirtual

    diff --git a/doc/html/a00332.html b/doc/html/a00332.html index f44d161..7bffd17 100644 --- a/doc/html/a00332.html +++ b/doc/html/a00332.html @@ -33,51 +33,22 @@
    -
    tbb::flow::interface10::receiver< T > Member List
    +
    tbb::flow::interface10::receiver_gateway< Input > Member List
    -

    This is the complete list of members for tbb::flow::interface10::receiver< T >, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::receiver_gateway< Input >, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +
    built_predecessors()=0 (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >pure virtual
    built_predecessors_type typedef (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >
    copy_predecessors(predecessor_list_type &)=0 (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >pure virtual
    filtered_type typedef (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >
    graph_reference()=0 (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >protectedpure virtual
    input_type typedeftbb::flow::interface10::receiver< T >
    input_type typedeftbb::flow::interface10::receiver< T >
    internal::async_helpers (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >friend
    internal::async_storage (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >friend
    internal::broadcast_cache (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >friend
    internal::round_robin_cache (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >friend
    internal::successor_cache (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >friend
    internal_add_built_predecessor(predecessor_type &)=0 (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >pure virtual
    internal_delete_built_predecessor(predecessor_type &)=0 (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >pure virtual
    is_continue_receiver() (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >inlineprotectedvirtual
    limiter_node classtbb::flow::interface10::receiver< T >friend
    predecessor_count()=0 (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >pure virtual
    predecessor_list_type typedef (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >
    predecessor_type typedeftbb::flow::interface10::receiver< T >
    proxy_dependency_receiver (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >friend
    register_predecessor(predecessor_type &)tbb::flow::interface10::receiver< T >inlinevirtual
    remove_predecessor(predecessor_type &)tbb::flow::interface10::receiver< T >inlinevirtual
    reset_receiver(reset_flags f=rf_reset_protocol)=0tbb::flow::interface10::receiver< T >protectedpure virtual
    run_and_put_task classtbb::flow::interface10::receiver< T >friend
    try_put(const typename internal::async_helpers< T >::filtered_type &t)tbb::flow::interface10::receiver< T >inline
    try_put(const typename internal::async_helpers< T >::async_type &t) (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >inline
    try_put(const T &t)tbb::flow::interface10::receiver< T >inline
    tbb::flow::interface10::internal::untyped_receiver::try_put(const X &t)tbb::flow::interface10::internal::untyped_receiverinline
    try_put_task(const T &t)=0tbb::flow::interface10::receiver< T >protectedpure virtual
    try_put_task(const T &t)=0 (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >protectedpure virtual
    try_put_task(const X &t) (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverinlineprotected
    try_put_task_wrapper(const void *p, bool is_async) __TBB_override (defined in tbb::flow::interface10::receiver< T >)tbb::flow::interface10::receiver< T >inlineprotectedvirtual
    ~receiver()tbb::flow::interface10::receiver< T >inlinevirtual
    ~untyped_receiver()tbb::flow::interface10::internal::untyped_receiverinlinevirtual
    input_type typedeftbb::flow::interface10::receiver_gateway< Input >
    release_wait()=0tbb::flow::interface10::graph_proxypure virtual
    reserve_wait()=0tbb::flow::interface10::graph_proxypure virtual
    try_put(const input_type &)=0tbb::flow::interface10::receiver_gateway< Input >pure virtual
    ~graph_proxy() (defined in tbb::flow::interface10::graph_proxy)tbb::flow::interface10::graph_proxyinlinevirtual

    diff --git a/doc/html/a00333.html b/doc/html/a00333.html index c04c38d..766d4c3 100644 --- a/doc/html/a00333.html +++ b/doc/html/a00333.html @@ -33,34 +33,32 @@
    -
    tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType > Member List
    +
    tbb::flow::interface10::opencl_factory< DeviceFilter > Member List
    -

    This is the complete list of members for tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::opencl_factory< DeviceFilter >, including all inherited members.

    - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + +
    const_reference typedef (defined in tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >)tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >
    graph (defined in tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >)tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >friend
    graph_iterator()tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >inline
    graph_iterator(const graph_iterator &other)tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >inline
    graph_node (defined in tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >)tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >friend
    iterator_category typedef (defined in tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >)tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >
    operator!=(const graph_iterator &other) const tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >inline
    operator*() const tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >
    operator++()tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >inline
    operator++(int)tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >inline
    operator->() const tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >
    operator=(const graph_iterator &other)tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >inline
    operator==(const graph_iterator &other) const tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >inline
    pointer typedef (defined in tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >)tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >
    reference typedef (defined in tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >)tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >
    size_type typedef (defined in tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >)tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >
    value_type typedef (defined in tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >)tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >
    async_msg_type typedef (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >
    device_type typedef (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >
    devices() (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >inline
    finalize(opencl_device device, FinalizeFn fn, Args &...args) (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >inline
    init(const opencl_device_list &device_list) (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >inline
    kernel_type typedef (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >
    opencl_buffer_impl (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >friend
    opencl_factory() (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >inline
    opencl_memory (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >friend
    opencl_program (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >friend
    range_type typedef (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >
    send_data(opencl_device device, T &t, Rest &...args) (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >inline
    send_data(opencl_device) (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >inline
    send_kernel(opencl_device device, const kernel_type &kernel, const range_type &work_size, Args &...args) (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >inline
    ~opencl_factory() (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >inline

    diff --git a/doc/html/a00334.html b/doc/html/a00334.html index d4084ea..359cca1 100644 --- a/doc/html/a00334.html +++ b/doc/html/a00334.html @@ -33,49 +33,21 @@
    -
    tbb::flow::interface10::graph Member List
    +
    tbb::flow::interface10::opencl_factory< DeviceFilter >::kernel Member List
    -

    This is the complete list of members for tbb::flow::interface10::graph, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::opencl_factory< DeviceFilter >::kernel, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + +
    begin()tbb::flow::interface10::graphinline
    begin() const tbb::flow::interface10::graphinline
    cbegin() const tbb::flow::interface10::graphinline
    cend() const tbb::flow::interface10::graphinline
    const_iterator typedef (defined in tbb::flow::interface10::graph)tbb::flow::interface10::graph
    decrement_wait_count() (defined in tbb::flow::interface10::graph)tbb::flow::interface10::graphinline
    end()tbb::flow::interface10::graphinline
    end() const tbb::flow::interface10::graphinline
    exception_thrown() (defined in tbb::flow::interface10::graph)tbb::flow::interface10::graphinline
    graph()tbb::flow::interface10::graph
    graph(task_group_context &use_this_context)tbb::flow::interface10::graphexplicit
    graph_iterator (defined in tbb::flow::interface10::graph)tbb::flow::interface10::graphfriend
    graph_node (defined in tbb::flow::interface10::graph)tbb::flow::interface10::graphfriend
    increment_wait_count() (defined in tbb::flow::interface10::graph)tbb::flow::interface10::graphinline
    internal::activate_graph (defined in tbb::flow::interface10::graph)tbb::flow::interface10::graphfriend
    internal::add_task_to_graph_reset_list (defined in tbb::flow::interface10::graph)tbb::flow::interface10::graphfriend
    internal::deactivate_graph (defined in tbb::flow::interface10::graph)tbb::flow::interface10::graphfriend
    internal::execute_in_graph_arena (defined in tbb::flow::interface10::graph)tbb::flow::interface10::graphfriend
    internal::is_graph_active (defined in tbb::flow::interface10::graph)tbb::flow::interface10::graphfriend
    internal::spawn_in_graph_arena (defined in tbb::flow::interface10::graph)tbb::flow::interface10::graphfriend
    is_cancelled()tbb::flow::interface10::graphinline
    iterator typedef (defined in tbb::flow::interface10::graph)tbb::flow::interface10::graph
    release_wait() __TBB_overridetbb::flow::interface10::graphvirtual
    reserve_wait() __TBB_overridetbb::flow::interface10::graphvirtual
    reset(reset_flags f=rf_reset_protocol) (defined in tbb::flow::interface10::graph)tbb::flow::interface10::graph
    root_task()tbb::flow::interface10::graphinline
    run(Receiver &r, Body body)tbb::flow::interface10::graphinline
    run(Body body)tbb::flow::interface10::graphinline
    set_name(const char *name) (defined in tbb::flow::interface10::graph)tbb::flow::interface10::graph
    wait_for_all()tbb::flow::interface10::graphinline
    ~graph()tbb::flow::interface10::graphinline
    ~graph_proxy() (defined in tbb::flow::interface10::graph_proxy)tbb::flow::interface10::graph_proxyinlinevirtual
    kernel(const kernel &k) (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >::kernel)tbb::flow::interface10::opencl_factory< DeviceFilter >::kernelinline
    opencl_factory (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >::kernel)tbb::flow::interface10::opencl_factory< DeviceFilter >::kernelfriend
    opencl_program (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >::kernel)tbb::flow::interface10::opencl_factory< DeviceFilter >::kernelfriend
    ~kernel() (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >::kernel)tbb::flow::interface10::opencl_factory< DeviceFilter >::kernelinline

    diff --git a/doc/html/a00335.html b/doc/html/a00335.html index e3b8b73..ed462b3 100644 --- a/doc/html/a00335.html +++ b/doc/html/a00335.html @@ -33,54 +33,29 @@
    -
    tbb::flow::interface10::continue_receiver Member List
    +
    tbb::flow::interface10::opencl_program< Factory > Member List
    -

    This is the complete list of members for tbb::flow::interface10::continue_receiver, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::opencl_program< Factory >, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + +
    built_predecessors() __TBB_override (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverinlinevirtual
    built_predecessors_type typedef (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiver
    continue_receiver(int number_of_predecessors=0)tbb::flow::interface10::continue_receiverinlineexplicit
    continue_receiver(const continue_receiver &src)tbb::flow::interface10::continue_receiverinline
    copy_predecessors(predecessor_list_type &v) __TBB_override (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverinlinevirtual
    execute()=0tbb::flow::interface10::continue_receiverprotectedpure virtual
    filtered_type typedef (defined in tbb::flow::interface10::receiver< continue_msg >)tbb::flow::interface10::receiver< continue_msg >
    graph_reference()=0 (defined in tbb::flow::interface10::receiver< continue_msg >)tbb::flow::interface10::receiver< continue_msg >protectedpure virtual
    input_type typedeftbb::flow::interface10::continue_receiver
    internal::broadcast_cache (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverfriend
    internal::round_robin_cache (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverfriend
    internal::successor_cache (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverfriend
    internal_add_built_predecessor(predecessor_type &s) __TBB_override (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverinlinevirtual
    internal_delete_built_predecessor(predecessor_type &s) __TBB_override (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverinlinevirtual
    is_continue_receiver() __TBB_override (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverinlineprotectedvirtual
    limiter_node (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverfriend
    my_built_predecessors (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverprotected
    my_current_count (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverprotected
    my_initial_predecessor_count (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverprotected
    my_mutex (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverprotected
    my_predecessor_count (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverprotected
    predecessor_count() __TBB_override (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverinlinevirtual
    predecessor_list_type typedef (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiver
    predecessor_type typedeftbb::flow::interface10::continue_receiver
    register_predecessor(predecessor_type &) __TBB_overridetbb::flow::interface10::continue_receiverinlinevirtual
    remove_predecessor(predecessor_type &) __TBB_overridetbb::flow::interface10::continue_receiverinlinevirtual
    reset_receiver(reset_flags f) __TBB_overridetbb::flow::interface10::continue_receiverinlineprotectedvirtual
    run_and_put_task (defined in tbb::flow::interface10::continue_receiver)tbb::flow::interface10::continue_receiverfriend
    try_put(const typename internal::async_helpers< continue_msg >::filtered_type &t)tbb::flow::interface10::receiver< continue_msg >inline
    try_put(const typename internal::async_helpers< continue_msg >::async_type &t) (defined in tbb::flow::interface10::receiver< continue_msg >)tbb::flow::interface10::receiver< continue_msg >inline
    try_put(const continue_msg &t)tbb::flow::interface10::receiver< continue_msg >inline
    tbb::flow::interface10::internal::untyped_receiver::try_put(const X &t)tbb::flow::interface10::internal::untyped_receiverinline
    try_put_task(const input_type &) __TBB_overridetbb::flow::interface10::continue_receiverinlineprotectedvirtual
    try_put_task(const X &t) (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverinlineprotected
    try_put_task_wrapper(const void *p, bool is_async) __TBB_override (defined in tbb::flow::interface10::receiver< continue_msg >)tbb::flow::interface10::receiver< continue_msg >inlineprotectedvirtual
    ~receiver()tbb::flow::interface10::receiver< continue_msg >inlinevirtual
    ~untyped_receiver()tbb::flow::interface10::internal::untyped_receiverinlinevirtual
    get_kernel(const std::string &k) const (defined in tbb::flow::interface10::opencl_program< Factory >)tbb::flow::interface10::opencl_program< Factory >inline
    kernel_type typedef (defined in tbb::flow::interface10::opencl_program< Factory >)tbb::flow::interface10::opencl_program< Factory >
    opencl_factory (defined in tbb::flow::interface10::opencl_program< Factory >)tbb::flow::interface10::opencl_program< Factory >friend
    opencl_factory< DeviceFilter >::kernel (defined in tbb::flow::interface10::opencl_program< Factory >)tbb::flow::interface10::opencl_program< Factory >friend
    opencl_program(Factory &factory, opencl_program_type type, const std::string &program_name) (defined in tbb::flow::interface10::opencl_program< Factory >)tbb::flow::interface10::opencl_program< Factory >inline
    opencl_program(Factory &factory, const char *program_name) (defined in tbb::flow::interface10::opencl_program< Factory >)tbb::flow::interface10::opencl_program< Factory >inline
    opencl_program(Factory &factory, const std::string &program_name) (defined in tbb::flow::interface10::opencl_program< Factory >)tbb::flow::interface10::opencl_program< Factory >inline
    opencl_program(opencl_program_type type, const std::string &program_name) (defined in tbb::flow::interface10::opencl_program< Factory >)tbb::flow::interface10::opencl_program< Factory >inline
    opencl_program(const char *program_name) (defined in tbb::flow::interface10::opencl_program< Factory >)tbb::flow::interface10::opencl_program< Factory >inline
    opencl_program(const std::string &program_name) (defined in tbb::flow::interface10::opencl_program< Factory >)tbb::flow::interface10::opencl_program< Factory >inline
    opencl_program(opencl_program_type type) (defined in tbb::flow::interface10::opencl_program< Factory >)tbb::flow::interface10::opencl_program< Factory >inline
    opencl_program(const opencl_program &src) (defined in tbb::flow::interface10::opencl_program< Factory >)tbb::flow::interface10::opencl_program< Factory >inline

    diff --git a/doc/html/a00336.html b/doc/html/a00336.html index 392089a..696ebb9 100644 --- a/doc/html/a00336.html +++ b/doc/html/a00336.html @@ -33,20 +33,55 @@
    -
    tbb::flow::interface10::graph_proxy Member List
    +
    tbb::flow::interface10::opencl_device Member List
    -

    This is the complete list of members for tbb::flow::interface10::graph_proxy, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::opencl_device, including all inherited members.

    - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    release_wait()=0tbb::flow::interface10::graph_proxypure virtual
    reserve_wait()=0tbb::flow::interface10::graph_proxypure virtual
    ~graph_proxy() (defined in tbb::flow::interface10::graph_proxy)tbb::flow::interface10::graph_proxyinlinevirtual
    address_bits() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    available() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    built_in_kernel_available(const std::string &k) const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    built_in_kernels() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    command_queue() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    compiler_available() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    device_id() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    device_id_type typedef (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_device
    extension_available(const std::string &ext) const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    extensions() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    host enum value (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_device
    info(cl_device_info i, T &t) const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    linker_available() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    major_version() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    max_work_group_size() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    max_work_item_sizes() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    minor_version() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    name() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    opencl_buffer (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_devicefriend
    opencl_device() (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    opencl_device(cl_device_id d_id) (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    opencl_device(cl_device_id cl_d_id, device_id_type device_id) (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    opencl_factory (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_devicefriend
    opencl_memory (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_devicefriend
    opencl_program (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_devicefriend
    operator== (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_devicefriend
    out_of_order_exec_mode_on_device_present() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    out_of_order_exec_mode_on_host_present() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    platform_extensions() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    platform_name() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    platform_profile() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    platform_vendor() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    platform_version() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    set_command_queue(cl_command_queue cmd_queue) (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    type() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    unknown enum value (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_device
    vendor() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    version() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline

    diff --git a/doc/html/a00337.html b/doc/html/a00337.html index bdf657f..8c7cbc2 100644 --- a/doc/html/a00337.html +++ b/doc/html/a00337.html @@ -33,22 +33,31 @@
    -
    tbb::flow::interface10::receiver_gateway< Input > Member List
    +
    tbb::flow::interface10::opencl_device_list Member List
    -

    This is the complete list of members for tbb::flow::interface10::receiver_gateway< Input >, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::opencl_device_list, including all inherited members.

    - - - - - + + + + + + + + + + + + + +
    input_type typedeftbb::flow::interface10::receiver_gateway< Input >
    release_wait()=0tbb::flow::interface10::graph_proxypure virtual
    reserve_wait()=0tbb::flow::interface10::graph_proxypure virtual
    try_put(const input_type &)=0tbb::flow::interface10::receiver_gateway< Input >pure virtual
    ~graph_proxy() (defined in tbb::flow::interface10::graph_proxy)tbb::flow::interface10::graph_proxyinlinevirtual
    add(opencl_device d) (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_listinline
    begin() (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_listinline
    begin() const (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_listinline
    cbegin() const (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_listinline
    cend() const (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_listinline
    const_iterator typedef (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_list
    empty() const (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_listinline
    end() (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_listinline
    end() const (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_listinline
    iterator typedef (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_list
    opencl_device_list() (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_listinline
    opencl_device_list(std::initializer_list< opencl_device > il) (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_listinline
    size() const (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_listinline
    size_type typedef (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_list

    diff --git a/doc/html/a00338.html b/doc/html/a00338.html index 557c4d4..9beb2cc 100644 --- a/doc/html/a00338.html +++ b/doc/html/a00338.html @@ -33,32 +33,19 @@
    -
    tbb::flow::interface10::opencl_factory< DeviceFilter > Member List
    +
    tbb::flow::interface10::callback_base Member List
    -

    This is the complete list of members for tbb::flow::interface10::opencl_factory< DeviceFilter >, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::callback_base, including all inherited members.

    - - - - - - - - - - - - - - - + +
    async_msg_type typedef (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >
    device_type typedef (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >
    devices() (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >inline
    finalize(opencl_device device, FinalizeFn fn, Args &...args) (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >inline
    init(const opencl_device_list &device_list) (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >inline
    kernel_type typedef (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >
    opencl_buffer_impl (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >friend
    opencl_factory() (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >inline
    opencl_memory (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >friend
    opencl_program (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >friend
    range_type typedef (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >
    send_data(opencl_device device, T &t, Rest &...args) (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >inline
    send_data(opencl_device) (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >inline
    send_kernel(opencl_device device, const kernel_type &kernel, const range_type &work_size, Args &...args) (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >inline
    ~opencl_factory() (defined in tbb::flow::interface10::opencl_factory< DeviceFilter >)tbb::flow::interface10::opencl_factory< DeviceFilter >inline
    call()=0 (defined in tbb::flow::interface10::callback_base)tbb::flow::interface10::callback_basepure virtual
    ~callback_base() (defined in tbb::flow::interface10::callback_base)tbb::flow::interface10::callback_baseinlinevirtual

    diff --git a/doc/html/a00339.html b/doc/html/a00339.html index 85a5353..1730405 100644 --- a/doc/html/a00339.html +++ b/doc/html/a00339.html @@ -33,21 +33,20 @@
    -
    tbb::flow::interface10::opencl_factory< DeviceFilter >::kernel Member List
    +
    tbb::flow::interface10::callback< Callback, T > Member List

    diff --git a/doc/html/a00340.html b/doc/html/a00340.html index 100966e..bd99859 100644 --- a/doc/html/a00340.html +++ b/doc/html/a00340.html @@ -33,29 +33,34 @@
    -
    tbb::flow::interface10::opencl_program< Factory > Member List
    +
    tbb::flow::interface10::opencl_async_msg< T, Factory > Member List
    -

    This is the complete list of members for tbb::flow::interface10::opencl_program< Factory >, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::opencl_async_msg< T, Factory >, including all inherited members.

    - - - - - - - - - - - - + + + + + + + + + + + + + + + + +
    get_kernel(const std::string &k) const (defined in tbb::flow::interface10::opencl_program< Factory >)tbb::flow::interface10::opencl_program< Factory >inline
    kernel_type typedef (defined in tbb::flow::interface10::opencl_program< Factory >)tbb::flow::interface10::opencl_program< Factory >
    opencl_factory (defined in tbb::flow::interface10::opencl_program< Factory >)tbb::flow::interface10::opencl_program< Factory >friend
    opencl_factory< DeviceFilter >::kernel (defined in tbb::flow::interface10::opencl_program< Factory >)tbb::flow::interface10::opencl_program< Factory >friend
    opencl_program(Factory &factory, opencl_program_type type, const std::string &program_name) (defined in tbb::flow::interface10::opencl_program< Factory >)tbb::flow::interface10::opencl_program< Factory >inline
    opencl_program(Factory &factory, const char *program_name) (defined in tbb::flow::interface10::opencl_program< Factory >)tbb::flow::interface10::opencl_program< Factory >inline
    opencl_program(Factory &factory, const std::string &program_name) (defined in tbb::flow::interface10::opencl_program< Factory >)tbb::flow::interface10::opencl_program< Factory >inline
    opencl_program(opencl_program_type type, const std::string &program_name) (defined in tbb::flow::interface10::opencl_program< Factory >)tbb::flow::interface10::opencl_program< Factory >inline
    opencl_program(const char *program_name) (defined in tbb::flow::interface10::opencl_program< Factory >)tbb::flow::interface10::opencl_program< Factory >inline
    opencl_program(const std::string &program_name) (defined in tbb::flow::interface10::opencl_program< Factory >)tbb::flow::interface10::opencl_program< Factory >inline
    opencl_program(opencl_program_type type) (defined in tbb::flow::interface10::opencl_program< Factory >)tbb::flow::interface10::opencl_program< Factory >inline
    opencl_program(const opencl_program &src) (defined in tbb::flow::interface10::opencl_program< Factory >)tbb::flow::interface10::opencl_program< Factory >inline
    clear_event() const (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    data(bool wait=true) (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    data(bool wait=true) const (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    finalize() const __TBB_override (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inlineprotected
    get_event() const (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    opencl_async_msg() (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    opencl_async_msg(const T &data) (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inlineexplicit
    opencl_async_msg(const T &data, cl_event event) (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    opencl_async_msg(const opencl_async_msg &dmsg) (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    opencl_async_msg(opencl_async_msg &&dmsg) (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    operator const T &() const (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    operator T &() (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    operator=(const opencl_async_msg &dmsg) (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    register_callback(Callback c) const (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    set_event(cl_event e) const (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    value_type typedef (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >
    ~opencl_async_msg() (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline

    diff --git a/doc/html/a00341.html b/doc/html/a00341.html index 0b33944..96f3a43 100644 --- a/doc/html/a00341.html +++ b/doc/html/a00341.html @@ -33,55 +33,33 @@
    -
    tbb::flow::interface10::opencl_device Member List
    +
    tbb::flow::interface10::opencl_memory< Factory > Member List
    -

    This is the complete list of members for tbb::flow::interface10::opencl_device, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::opencl_memory< Factory >, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + +
    address_bits() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    available() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    built_in_kernel_available(const std::string &k) const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    built_in_kernels() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    command_queue() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    compiler_available() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    device_id() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    device_id_type typedef (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_device
    extension_available(const std::string &ext) const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    extensions() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    host enum value (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_device
    info(cl_device_info i, T &t) const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    linker_available() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    major_version() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    max_work_group_size() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    max_work_item_sizes() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    minor_version() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    name() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    opencl_buffer (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_devicefriend
    opencl_device() (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    opencl_device(cl_device_id d_id) (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    opencl_device(cl_device_id cl_d_id, device_id_type device_id) (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    opencl_factory (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_devicefriend
    opencl_memory (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_devicefriend
    opencl_program (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_devicefriend
    operator== (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_devicefriend
    out_of_order_exec_mode_on_device_present() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    out_of_order_exec_mode_on_host_present() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    platform_extensions() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    platform_name() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    platform_profile() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    platform_vendor() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    platform_version() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    set_command_queue(cl_command_queue cmd_queue) (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    type() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    unknown enum value (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_device
    vendor() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    version() const (defined in tbb::flow::interface10::opencl_device)tbb::flow::interface10::opencl_deviceinline
    factory() const (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    get_cl_mem() const (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    get_host_ptr() (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    map_memory(opencl_device, opencl_async_msg< void *, Factory > &)=0 (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >pure virtual
    my_cl_mem (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    my_curr_device_id (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    my_factory (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    my_host_ptr (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    my_sending_event (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    my_sending_event_present (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    my_sending_lock (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    opencl_memory() (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    opencl_memory(Factory &f) (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    receive(const cl_event *e) (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    send(opencl_device device, const cl_event *e) (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    ~opencl_memory() (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline

    diff --git a/doc/html/a00342.html b/doc/html/a00342.html index 61909ef..277402e 100644 --- a/doc/html/a00342.html +++ b/doc/html/a00342.html @@ -33,31 +33,37 @@
    -
    tbb::flow::interface10::opencl_device_list Member List
    +
    tbb::flow::interface10::opencl_buffer_impl< Factory > Member List
    -

    This is the complete list of members for tbb::flow::interface10::opencl_device_list, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::opencl_buffer_impl< Factory >, including all inherited members.

    - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + +
    add(opencl_device d) (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_listinline
    begin() (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_listinline
    begin() const (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_listinline
    cbegin() const (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_listinline
    cend() const (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_listinline
    const_iterator typedef (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_list
    empty() const (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_listinline
    end() (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_listinline
    end() const (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_listinline
    iterator typedef (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_list
    opencl_device_list() (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_listinline
    opencl_device_list(std::initializer_list< opencl_device > il) (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_listinline
    size() const (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_listinline
    size_type typedef (defined in tbb::flow::interface10::opencl_device_list)tbb::flow::interface10::opencl_device_list
    factory() const (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    get_cl_mem() const (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    get_host_ptr() (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    map_memory(opencl_device device, opencl_async_msg< void *, Factory > &dmsg) __TBB_override (defined in tbb::flow::interface10::opencl_buffer_impl< Factory >)tbb::flow::interface10::opencl_buffer_impl< Factory >inlinevirtual
    my_cl_mem (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    my_curr_device_id (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    my_factory (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    my_host_ptr (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    my_sending_event (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    my_sending_event_present (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    my_sending_lock (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    opencl_buffer (defined in tbb::flow::interface10::opencl_buffer_impl< Factory >)tbb::flow::interface10::opencl_buffer_impl< Factory >friend
    opencl_buffer_impl(size_t size, Factory &f) (defined in tbb::flow::interface10::opencl_buffer_impl< Factory >)tbb::flow::interface10::opencl_buffer_impl< Factory >inline
    opencl_buffer_impl(cl_mem m, size_t index, size_t size, Factory &f) (defined in tbb::flow::interface10::opencl_buffer_impl< Factory >)tbb::flow::interface10::opencl_buffer_impl< Factory >inline
    opencl_memory() (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    opencl_memory(Factory &f) (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    receive(const cl_event *e) (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    send(opencl_device device, const cl_event *e) (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    size() const (defined in tbb::flow::interface10::opencl_buffer_impl< Factory >)tbb::flow::interface10::opencl_buffer_impl< Factory >inline
    ~opencl_memory() (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline

    diff --git a/doc/html/a00343.html b/doc/html/a00343.html index 03ad4e5..eaf1095 100644 --- a/doc/html/a00343.html +++ b/doc/html/a00343.html @@ -33,19 +33,37 @@
    -
    tbb::flow::interface10::callback_base Member List
    +
    tbb::flow::interface10::opencl_subbuffer< T, Factory > Member List
    -

    This is the complete list of members for tbb::flow::interface10::callback_base, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::opencl_subbuffer< T, Factory >, including all inherited members.

    - - + + + + + + + + + + + + + + + + + + + +
    call()=0 (defined in tbb::flow::interface10::callback_base)tbb::flow::interface10::callback_basepure virtual
    ~callback_base() (defined in tbb::flow::interface10::callback_base)tbb::flow::interface10::callback_baseinlinevirtual
    access() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    begin() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    data() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    end() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    iterator typedef (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >
    memory_object() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    memory_object_type typedef (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >
    native_object() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    native_object_type typedef (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >
    opencl_buffer() (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    opencl_buffer(size_t size) (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >
    opencl_buffer(Factory &f, size_t size) (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    opencl_factory_type typedef (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >
    opencl_subbuffer() (defined in tbb::flow::interface10::opencl_subbuffer< T, Factory >)tbb::flow::interface10::opencl_subbuffer< T, Factory >inline
    opencl_subbuffer(const opencl_buffer< T, Factory > &owner, size_t index, size_t size) (defined in tbb::flow::interface10::opencl_subbuffer< T, Factory >)tbb::flow::interface10::opencl_subbuffer< T, Factory >inline
    operator[](ptrdiff_t k) (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    receive(const opencl_async_msg< opencl_buffer, Factory > &dependency) const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    send(opencl_device device, opencl_async_msg< opencl_buffer, Factory > &dependency) const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    size() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    subbuffer(size_t index, size_t size) const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >

    diff --git a/doc/html/a00344.html b/doc/html/a00344.html index 6f49cf0..c0943fe 100644 --- a/doc/html/a00344.html +++ b/doc/html/a00344.html @@ -33,20 +33,38 @@
    -
    tbb::flow::interface10::callback< Callback, T > Member List
    +
    tbb::flow::interface10::opencl_buffer< T, Factory > Member List
    -

    This is the complete list of members for tbb::flow::interface10::callback< Callback, T >, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::opencl_buffer< T, Factory >, including all inherited members.

    - - - + + + + + + + + + + + + + + + + + + + + +
    call() __TBB_override (defined in tbb::flow::interface10::callback< Callback, T >)tbb::flow::interface10::callback< Callback, T >inlinevirtual
    callback(Callback c, const T &t) (defined in tbb::flow::interface10::callback< Callback, T >)tbb::flow::interface10::callback< Callback, T >inline
    ~callback_base() (defined in tbb::flow::interface10::callback_base)tbb::flow::interface10::callback_baseinlinevirtual
    access() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    begin() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    data() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    end() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    iterator typedef (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >
    memory_object() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    memory_object_type typedef (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >
    native_object() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    native_object_type typedef (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >
    opencl_buffer() (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    opencl_buffer(size_t size) (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >
    opencl_buffer(Factory &f, size_t size) (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    opencl_factory (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >friend
    opencl_factory_type typedef (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >
    opencl_subbuffer (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >friend
    operator== (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >friend
    operator[](ptrdiff_t k) (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    receive(const opencl_async_msg< opencl_buffer, Factory > &dependency) const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    send(opencl_device device, opencl_async_msg< opencl_buffer, Factory > &dependency) const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    size() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    subbuffer(size_t index, size_t size) const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >

    diff --git a/doc/html/a00345.html b/doc/html/a00345.html index b02dcaa..c4da9d3 100644 --- a/doc/html/a00345.html +++ b/doc/html/a00345.html @@ -33,34 +33,22 @@
    -
    tbb::flow::interface10::opencl_async_msg< T, Factory > Member List
    +
    tbb::flow::interface10::opencl_range Member List
    -

    This is the complete list of members for tbb::flow::interface10::opencl_async_msg< T, Factory >, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::opencl_range, including all inherited members.

    - - - - - - - - - - - - - - - - - + + + + +
    clear_event() const (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    data(bool wait=true) (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    data(bool wait=true) const (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    finalize() const __TBB_override (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inlineprotected
    get_event() const (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    opencl_async_msg() (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    opencl_async_msg(const T &data) (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inlineexplicit
    opencl_async_msg(const T &data, cl_event event) (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    opencl_async_msg(const opencl_async_msg &dmsg) (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    opencl_async_msg(opencl_async_msg &&dmsg) (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    operator const T &() const (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    operator T &() (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    operator=(const opencl_async_msg &dmsg) (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    register_callback(Callback c) const (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    set_event(cl_event e) const (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    value_type typedef (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >
    ~opencl_async_msg() (defined in tbb::flow::interface10::opencl_async_msg< T, Factory >)tbb::flow::interface10::opencl_async_msg< T, Factory >inline
    global_range() const (defined in tbb::flow::interface10::opencl_range)tbb::flow::interface10::opencl_rangeinline
    local_range() const (defined in tbb::flow::interface10::opencl_range)tbb::flow::interface10::opencl_rangeinline
    nd_range_type typedef (defined in tbb::flow::interface10::opencl_range)tbb::flow::interface10::opencl_range
    opencl_range(G &&global_work=std::initializer_list< int >({0}), L &&local_work=std::initializer_list< int >({0, 0, 0})) (defined in tbb::flow::interface10::opencl_range)tbb::flow::interface10::opencl_rangeinline
    range_index_type typedef (defined in tbb::flow::interface10::opencl_range)tbb::flow::interface10::opencl_range

    diff --git a/doc/html/a00346.html b/doc/html/a00346.html index 7d48d4f..c24e14c 100644 --- a/doc/html/a00346.html +++ b/doc/html/a00346.html @@ -33,33 +33,21 @@
    -
    tbb::flow::interface10::opencl_memory< Factory > Member List
    +
    tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory > Member List
    -

    This is the complete list of members for tbb::flow::interface10::opencl_memory< Factory >, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory >, including all inherited members.

    - - - - - - - - - - - - - - - - + + + +
    factory() const (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    get_cl_mem() const (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    get_host_ptr() (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    map_memory(opencl_device, opencl_async_msg< void *, Factory > &)=0 (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >pure virtual
    my_cl_mem (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    my_curr_device_id (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    my_factory (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    my_host_ptr (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    my_sending_event (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    my_sending_event_present (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    my_sending_lock (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    opencl_memory() (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    opencl_memory(Factory &f) (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    receive(const cl_event *e) (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    send(opencl_device device, const cl_event *e) (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    ~opencl_memory() (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    kernel_type typedef (defined in tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory >)tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory >
    opencl_node(graph &g, const kernel_type &kernel) (defined in tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory >)tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory >inline
    opencl_node(graph &g, const kernel_type &kernel, Factory &f) (defined in tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory >)tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory >inline
    opencl_node(graph &g, const kernel_type &kernel, DeviceSelector d, Factory &f) (defined in tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory >)tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory >inline

    diff --git a/doc/html/a00347.html b/doc/html/a00347.html index 913a71e..04a0da1 100644 --- a/doc/html/a00347.html +++ b/doc/html/a00347.html @@ -33,37 +33,20 @@
    -
    tbb::flow::interface10::opencl_buffer_impl< Factory > Member List
    +
    tbb::flow::interface10::opencl_node< tuple< Ports...>, JP > Member List
    -

    This is the complete list of members for tbb::flow::interface10::opencl_buffer_impl< Factory >, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::opencl_node< tuple< Ports...>, JP >, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - + + +
    factory() const (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    get_cl_mem() const (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    get_host_ptr() (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    map_memory(opencl_device device, opencl_async_msg< void *, Factory > &dmsg) __TBB_override (defined in tbb::flow::interface10::opencl_buffer_impl< Factory >)tbb::flow::interface10::opencl_buffer_impl< Factory >inlinevirtual
    my_cl_mem (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    my_curr_device_id (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    my_factory (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    my_host_ptr (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    my_sending_event (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    my_sending_event_present (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    my_sending_lock (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >protected
    opencl_buffer (defined in tbb::flow::interface10::opencl_buffer_impl< Factory >)tbb::flow::interface10::opencl_buffer_impl< Factory >friend
    opencl_buffer_impl(size_t size, Factory &f) (defined in tbb::flow::interface10::opencl_buffer_impl< Factory >)tbb::flow::interface10::opencl_buffer_impl< Factory >inline
    opencl_buffer_impl(cl_mem m, size_t index, size_t size, Factory &f) (defined in tbb::flow::interface10::opencl_buffer_impl< Factory >)tbb::flow::interface10::opencl_buffer_impl< Factory >inline
    opencl_memory() (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    opencl_memory(Factory &f) (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    receive(const cl_event *e) (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    send(opencl_device device, const cl_event *e) (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    size() const (defined in tbb::flow::interface10::opencl_buffer_impl< Factory >)tbb::flow::interface10::opencl_buffer_impl< Factory >inline
    ~opencl_memory() (defined in tbb::flow::interface10::opencl_memory< Factory >)tbb::flow::interface10::opencl_memory< Factory >inline
    kernel_type typedef (defined in tbb::flow::interface10::opencl_node< tuple< Ports...>, JP >)tbb::flow::interface10::opencl_node< tuple< Ports...>, JP >
    opencl_node(graph &g, const kernel_type &kernel) (defined in tbb::flow::interface10::opencl_node< tuple< Ports...>, JP >)tbb::flow::interface10::opencl_node< tuple< Ports...>, JP >inline
    opencl_node(graph &g, const kernel_type &kernel, DeviceSelector d) (defined in tbb::flow::interface10::opencl_node< tuple< Ports...>, JP >)tbb::flow::interface10::opencl_node< tuple< Ports...>, JP >inline

    diff --git a/doc/html/a00348.html b/doc/html/a00348.html index 4687ce3..c5ba86b 100644 --- a/doc/html/a00348.html +++ b/doc/html/a00348.html @@ -33,37 +33,20 @@
    -
    tbb::flow::interface10::opencl_subbuffer< T, Factory > Member List
    +
    tbb::flow::interface10::opencl_node< tuple< Ports...> > Member List
    -

    This is the complete list of members for tbb::flow::interface10::opencl_subbuffer< T, Factory >, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::opencl_node< tuple< Ports...> >, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - + + +
    access() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    begin() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    data() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    end() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    iterator typedef (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >
    memory_object() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    memory_object_type typedef (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >
    native_object() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    native_object_type typedef (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >
    opencl_buffer() (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    opencl_buffer(size_t size) (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >
    opencl_buffer(Factory &f, size_t size) (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    opencl_factory_type typedef (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >
    opencl_subbuffer() (defined in tbb::flow::interface10::opencl_subbuffer< T, Factory >)tbb::flow::interface10::opencl_subbuffer< T, Factory >inline
    opencl_subbuffer(const opencl_buffer< T, Factory > &owner, size_t index, size_t size) (defined in tbb::flow::interface10::opencl_subbuffer< T, Factory >)tbb::flow::interface10::opencl_subbuffer< T, Factory >inline
    operator[](ptrdiff_t k) (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    receive(const opencl_async_msg< opencl_buffer, Factory > &dependency) const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    send(opencl_device device, opencl_async_msg< opencl_buffer, Factory > &dependency) const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    size() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    subbuffer(size_t index, size_t size) const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >
    kernel_type typedef (defined in tbb::flow::interface10::opencl_node< tuple< Ports...> >)tbb::flow::interface10::opencl_node< tuple< Ports...> >
    opencl_node(graph &g, const kernel_type &kernel) (defined in tbb::flow::interface10::opencl_node< tuple< Ports...> >)tbb::flow::interface10::opencl_node< tuple< Ports...> >inline
    opencl_node(graph &g, const kernel_type &kernel, DeviceSelector d) (defined in tbb::flow::interface10::opencl_node< tuple< Ports...> >)tbb::flow::interface10::opencl_node< tuple< Ports...> >inline

    diff --git a/doc/html/a00349.html b/doc/html/a00349.html index 43b5811..584f7f1 100644 --- a/doc/html/a00349.html +++ b/doc/html/a00349.html @@ -33,38 +33,25 @@
    -
    tbb::flow::interface10::opencl_buffer< T, Factory > Member List
    +
    tbb::flow::interface10::internal::edge_container< C > Member List
    -

    This is the complete list of members for tbb::flow::interface10::opencl_buffer< T, Factory >, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::internal::edge_container< C >, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - + + + + + + + +
    access() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    begin() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    data() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    end() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    iterator typedef (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >
    memory_object() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    memory_object_type typedef (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >
    native_object() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    native_object_type typedef (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >
    opencl_buffer() (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    opencl_buffer(size_t size) (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >
    opencl_buffer(Factory &f, size_t size) (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    opencl_factory (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >friend
    opencl_factory_type typedef (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >
    opencl_subbuffer (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >friend
    operator== (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >friend
    operator[](ptrdiff_t k) (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    receive(const opencl_async_msg< opencl_buffer, Factory > &dependency) const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    send(opencl_device device, opencl_async_msg< opencl_buffer, Factory > &dependency) const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    size() const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >inline
    subbuffer(size_t index, size_t size) const (defined in tbb::flow::interface10::opencl_buffer< T, Factory >)tbb::flow::interface10::opencl_buffer< T, Factory >
    add_edge(C &s) (defined in tbb::flow::interface10::internal::edge_container< C >)tbb::flow::interface10::internal::edge_container< C >inline
    clear() (defined in tbb::flow::interface10::internal::edge_container< C >)tbb::flow::interface10::internal::edge_container< C >inline
    copy_edges(edge_list_type &v) (defined in tbb::flow::interface10::internal::edge_container< C >)tbb::flow::interface10::internal::edge_container< C >inline
    delete_edge(C &s) (defined in tbb::flow::interface10::internal::edge_container< C >)tbb::flow::interface10::internal::edge_container< C >inline
    edge_count() (defined in tbb::flow::interface10::internal::edge_container< C >)tbb::flow::interface10::internal::edge_container< C >inline
    edge_list_type typedef (defined in tbb::flow::interface10::internal::edge_container< C >)tbb::flow::interface10::internal::edge_container< C >
    receiver_extract(R &r) (defined in tbb::flow::interface10::internal::edge_container< C >)tbb::flow::interface10::internal::edge_container< C >
    sender_extract(S &s) (defined in tbb::flow::interface10::internal::edge_container< C >)tbb::flow::interface10::internal::edge_container< C >

    diff --git a/doc/html/a00350.html b/doc/html/a00350.html index a46edbd..5bc35f2 100644 --- a/doc/html/a00350.html +++ b/doc/html/a00350.html @@ -33,22 +33,25 @@
    -
    tbb::flow::interface10::opencl_range Member List
    +
    tbb::flow::interface10::internal::async_helpers< T, typename > Member List
    -

    This is the complete list of members for tbb::flow::interface10::opencl_range, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::internal::async_helpers< T, typename >, including all inherited members.

    - - - - - + + + + + + + +
    global_range() const (defined in tbb::flow::interface10::opencl_range)tbb::flow::interface10::opencl_rangeinline
    local_range() const (defined in tbb::flow::interface10::opencl_range)tbb::flow::interface10::opencl_rangeinline
    nd_range_type typedef (defined in tbb::flow::interface10::opencl_range)tbb::flow::interface10::opencl_range
    opencl_range(G &&global_work=std::initializer_list< int >({0}), L &&local_work=std::initializer_list< int >({0, 0, 0})) (defined in tbb::flow::interface10::opencl_range)tbb::flow::interface10::opencl_rangeinline
    range_index_type typedef (defined in tbb::flow::interface10::opencl_range)tbb::flow::interface10::opencl_range
    async_type typedef (defined in tbb::flow::interface10::internal::async_helpers< T, typename >)tbb::flow::interface10::internal::async_helpers< T, typename >
    filtered_type typedef (defined in tbb::flow::interface10::internal::async_helpers< T, typename >)tbb::flow::interface10::internal::async_helpers< T, typename >
    from_void_ptr(const void *p) (defined in tbb::flow::interface10::internal::async_helpers< T, typename >)tbb::flow::interface10::internal::async_helpers< T, typename >inlinestatic
    from_void_ptr(void *p) (defined in tbb::flow::interface10::internal::async_helpers< T, typename >)tbb::flow::interface10::internal::async_helpers< T, typename >inlinestatic
    is_async_type (defined in tbb::flow::interface10::internal::async_helpers< T, typename >)tbb::flow::interface10::internal::async_helpers< T, typename >static
    to_void_ptr(const T &t) (defined in tbb::flow::interface10::internal::async_helpers< T, typename >)tbb::flow::interface10::internal::async_helpers< T, typename >inlinestatic
    to_void_ptr(T &t) (defined in tbb::flow::interface10::internal::async_helpers< T, typename >)tbb::flow::interface10::internal::async_helpers< T, typename >inlinestatic
    try_put_task_wrapper_impl(receiver< T > *const this_recv, const void *p, bool is_async) (defined in tbb::flow::interface10::internal::async_helpers< T, typename >)tbb::flow::interface10::internal::async_helpers< T, typename >inlinestatic

    diff --git a/doc/html/a00351.html b/doc/html/a00351.html index c209782..189366a 100644 --- a/doc/html/a00351.html +++ b/doc/html/a00351.html @@ -33,21 +33,25 @@
    -
    tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory > Member List
    +
    tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type > Member List
    -

    This is the complete list of members for tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory >, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >, including all inherited members.

    - - - - + + + + + + + +
    kernel_type typedef (defined in tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory >)tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory >
    opencl_node(graph &g, const kernel_type &kernel) (defined in tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory >)tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory >inline
    opencl_node(graph &g, const kernel_type &kernel, Factory &f) (defined in tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory >)tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory >inline
    opencl_node(graph &g, const kernel_type &kernel, DeviceSelector d, Factory &f) (defined in tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory >)tbb::flow::interface10::opencl_node< tuple< Ports...>, JP, Factory >inline
    async_type typedef (defined in tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >)tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >
    filtered_type typedef (defined in tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >)tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >
    from_void_ptr(const void *p) (defined in tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >)tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >inlinestatic
    from_void_ptr(void *p) (defined in tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >)tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >inlinestatic
    is_async_type (defined in tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >)tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >static
    to_void_ptr(const T &t) (defined in tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >)tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >inlinestatic
    to_void_ptr(T &t) (defined in tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >)tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >inlinestatic
    try_put_task_wrapper_impl(receiver< T > *const this_recv, const void *p, bool is_async) (defined in tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >)tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >inlinestatic

    diff --git a/doc/html/a00352.html b/doc/html/a00352.html index 61a9d8e..43bce3a 100644 --- a/doc/html/a00352.html +++ b/doc/html/a00352.html @@ -33,20 +33,36 @@
    -
    tbb::flow::interface10::opencl_node< tuple< Ports...>, JP > Member List
    +
    tbb::flow::interface10::internal::untyped_sender Member List
    -

    This is the complete list of members for tbb::flow::interface10::opencl_node< tuple< Ports...>, JP >, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::internal::untyped_sender, including all inherited members.

    - - - + + + + + + + + + + + + + + + + + + +
    kernel_type typedef (defined in tbb::flow::interface10::opencl_node< tuple< Ports...>, JP >)tbb::flow::interface10::opencl_node< tuple< Ports...>, JP >
    opencl_node(graph &g, const kernel_type &kernel) (defined in tbb::flow::interface10::opencl_node< tuple< Ports...>, JP >)tbb::flow::interface10::opencl_node< tuple< Ports...>, JP >inline
    opencl_node(graph &g, const kernel_type &kernel, DeviceSelector d) (defined in tbb::flow::interface10::opencl_node< tuple< Ports...>, JP >)tbb::flow::interface10::opencl_node< tuple< Ports...>, JP >inline
    built_successors()=0 (defined in tbb::flow::interface10::internal::untyped_sender)tbb::flow::interface10::internal::untyped_senderpure virtual
    built_successors_type typedeftbb::flow::interface10::internal::untyped_sender
    copy_successors(successor_list_type &)=0 (defined in tbb::flow::interface10::internal::untyped_sender)tbb::flow::interface10::internal::untyped_senderpure virtual
    internal::predecessor_cache (defined in tbb::flow::interface10::internal::untyped_sender)tbb::flow::interface10::internal::untyped_senderfriend
    internal::reservable_predecessor_cache (defined in tbb::flow::interface10::internal::untyped_sender)tbb::flow::interface10::internal::untyped_senderfriend
    internal_add_built_successor(successor_type &)=0 (defined in tbb::flow::interface10::internal::untyped_sender)tbb::flow::interface10::internal::untyped_senderpure virtual
    internal_delete_built_successor(successor_type &)=0 (defined in tbb::flow::interface10::internal::untyped_sender)tbb::flow::interface10::internal::untyped_senderpure virtual
    register_successor(successor_type &r)=0tbb::flow::interface10::internal::untyped_senderpure virtual
    remove_successor(successor_type &r)=0tbb::flow::interface10::internal::untyped_senderpure virtual
    successor_count()=0 (defined in tbb::flow::interface10::internal::untyped_sender)tbb::flow::interface10::internal::untyped_senderpure virtual
    successor_list_type typedef (defined in tbb::flow::interface10::internal::untyped_sender)tbb::flow::interface10::internal::untyped_sender
    successor_type typedeftbb::flow::interface10::internal::untyped_sender
    try_consume()tbb::flow::interface10::internal::untyped_senderinlinevirtual
    try_get(X &t)tbb::flow::interface10::internal::untyped_senderinlineprotected
    try_get_wrapper(void *p, bool is_async)=0 (defined in tbb::flow::interface10::internal::untyped_sender)tbb::flow::interface10::internal::untyped_senderprotectedpure virtual
    try_release()tbb::flow::interface10::internal::untyped_senderinlinevirtual
    try_reserve(X &t)tbb::flow::interface10::internal::untyped_senderinlineprotected
    try_reserve_wrapper(void *p, bool is_async)=0 (defined in tbb::flow::interface10::internal::untyped_sender)tbb::flow::interface10::internal::untyped_senderprotectedpure virtual
    ~untyped_sender() (defined in tbb::flow::interface10::internal::untyped_sender)tbb::flow::interface10::internal::untyped_senderinlinevirtual

    diff --git a/doc/html/a00353.html b/doc/html/a00353.html index ed74600..1c1aad6 100644 --- a/doc/html/a00353.html +++ b/doc/html/a00353.html @@ -33,20 +33,40 @@
    -
    tbb::flow::interface10::opencl_node< tuple< Ports...> > Member List
    +
    tbb::flow::interface10::internal::untyped_receiver Member List
    -

    This is the complete list of members for tbb::flow::interface10::opencl_node< tuple< Ports...> >, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::internal::untyped_receiver, including all inherited members.

    - - - + + + + + + + + + + + + + + + + + + + + + + +
    kernel_type typedef (defined in tbb::flow::interface10::opencl_node< tuple< Ports...> >)tbb::flow::interface10::opencl_node< tuple< Ports...> >
    opencl_node(graph &g, const kernel_type &kernel) (defined in tbb::flow::interface10::opencl_node< tuple< Ports...> >)tbb::flow::interface10::opencl_node< tuple< Ports...> >inline
    opencl_node(graph &g, const kernel_type &kernel, DeviceSelector d) (defined in tbb::flow::interface10::opencl_node< tuple< Ports...> >)tbb::flow::interface10::opencl_node< tuple< Ports...> >inline
    built_predecessors()=0 (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverpure virtual
    built_predecessors_type typedef (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiver
    copy_predecessors(predecessor_list_type &)=0 (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverpure virtual
    graph_reference()=0 (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverprotectedpure virtual
    internal::broadcast_cache (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverfriend
    internal::round_robin_cache (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverfriend
    internal::successor_cache (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverfriend
    internal_add_built_predecessor(predecessor_type &)=0 (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverpure virtual
    internal_delete_built_predecessor(predecessor_type &)=0 (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverpure virtual
    is_continue_receiver() (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverinlineprotectedvirtual
    limiter_node (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverfriend
    predecessor_count()=0 (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverpure virtual
    predecessor_list_type typedef (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiver
    predecessor_type typedeftbb::flow::interface10::internal::untyped_receiver
    proxy_dependency_receiver (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverfriend
    register_predecessor(predecessor_type &)tbb::flow::interface10::internal::untyped_receiverinlinevirtual
    remove_predecessor(predecessor_type &)tbb::flow::interface10::internal::untyped_receiverinlinevirtual
    reset_receiver(reset_flags f=rf_reset_protocol)=0tbb::flow::interface10::internal::untyped_receiverprotectedpure virtual
    run_and_put_task (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverfriend
    try_put(const X &t)tbb::flow::interface10::internal::untyped_receiverinline
    try_put_task(const X &t) (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverinlineprotected
    try_put_task_wrapper(const void *p, bool is_async)=0 (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverprotectedpure virtual
    ~untyped_receiver()tbb::flow::interface10::internal::untyped_receiverinlinevirtual

    diff --git a/doc/html/a00354.html b/doc/html/a00354.html index 8b290c8..dadb564 100644 --- a/doc/html/a00354.html +++ b/doc/html/a00354.html @@ -33,25 +33,18 @@
    -
    tbb::flow::interface10::internal::edge_container< C > Member List
    +
    tbb::flow::interface10::opencl_info::default_device_selector< Factory > Member List
    -

    This is the complete list of members for tbb::flow::interface10::internal::edge_container< C >, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::opencl_info::default_device_selector< Factory >, including all inherited members.

    - - - - - - - - +
    add_edge(C &s) (defined in tbb::flow::interface10::internal::edge_container< C >)tbb::flow::interface10::internal::edge_container< C >inline
    clear() (defined in tbb::flow::interface10::internal::edge_container< C >)tbb::flow::interface10::internal::edge_container< C >inline
    copy_edges(edge_list_type &v) (defined in tbb::flow::interface10::internal::edge_container< C >)tbb::flow::interface10::internal::edge_container< C >inline
    delete_edge(C &s) (defined in tbb::flow::interface10::internal::edge_container< C >)tbb::flow::interface10::internal::edge_container< C >inline
    edge_count() (defined in tbb::flow::interface10::internal::edge_container< C >)tbb::flow::interface10::internal::edge_container< C >inline
    edge_list_type typedef (defined in tbb::flow::interface10::internal::edge_container< C >)tbb::flow::interface10::internal::edge_container< C >
    receiver_extract(R &r) (defined in tbb::flow::interface10::internal::edge_container< C >)tbb::flow::interface10::internal::edge_container< C >
    sender_extract(S &s) (defined in tbb::flow::interface10::internal::edge_container< C >)tbb::flow::interface10::internal::edge_container< C >
    operator()(Factory &f) (defined in tbb::flow::interface10::opencl_info::default_device_selector< Factory >)tbb::flow::interface10::opencl_info::default_device_selector< Factory >inline

    diff --git a/doc/html/a00355.html b/doc/html/a00355.html index a1ce99b..b507f3e 100644 --- a/doc/html/a00355.html +++ b/doc/html/a00355.html @@ -33,25 +33,18 @@
    -
    tbb::flow::interface10::internal::async_helpers< T, typename > Member List
    +
    tbb::flow::interface10::opencl_info::default_device_filter Member List
    -

    This is the complete list of members for tbb::flow::interface10::internal::async_helpers< T, typename >, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::opencl_info::default_device_filter, including all inherited members.

    - - - - - - - - +
    async_type typedef (defined in tbb::flow::interface10::internal::async_helpers< T, typename >)tbb::flow::interface10::internal::async_helpers< T, typename >
    filtered_type typedef (defined in tbb::flow::interface10::internal::async_helpers< T, typename >)tbb::flow::interface10::internal::async_helpers< T, typename >
    from_void_ptr(const void *p) (defined in tbb::flow::interface10::internal::async_helpers< T, typename >)tbb::flow::interface10::internal::async_helpers< T, typename >inlinestatic
    from_void_ptr(void *p) (defined in tbb::flow::interface10::internal::async_helpers< T, typename >)tbb::flow::interface10::internal::async_helpers< T, typename >inlinestatic
    is_async_type (defined in tbb::flow::interface10::internal::async_helpers< T, typename >)tbb::flow::interface10::internal::async_helpers< T, typename >static
    to_void_ptr(const T &t) (defined in tbb::flow::interface10::internal::async_helpers< T, typename >)tbb::flow::interface10::internal::async_helpers< T, typename >inlinestatic
    to_void_ptr(T &t) (defined in tbb::flow::interface10::internal::async_helpers< T, typename >)tbb::flow::interface10::internal::async_helpers< T, typename >inlinestatic
    try_put_task_wrapper_impl(receiver< T > *const this_recv, const void *p, bool is_async) (defined in tbb::flow::interface10::internal::async_helpers< T, typename >)tbb::flow::interface10::internal::async_helpers< T, typename >inlinestatic
    operator()(const opencl_device_list &devices) (defined in tbb::flow::interface10::opencl_info::default_device_filter)tbb::flow::interface10::opencl_info::default_device_filterinline

    diff --git a/doc/html/a00356.html b/doc/html/a00356.html index a51c3f3..8f10239 100644 --- a/doc/html/a00356.html +++ b/doc/html/a00356.html @@ -33,25 +33,30 @@
    -
    tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type > Member List
    +
    tbb::flow::interface10::opencl_info::default_opencl_factory Member List
    -

    This is the complete list of members for tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface10::opencl_info::default_opencl_factory, including all inherited members.

    - - - - - - - - + + + + + + + + + + + + +
    async_type typedef (defined in tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >)tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >
    filtered_type typedef (defined in tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >)tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >
    from_void_ptr(const void *p) (defined in tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >)tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >inlinestatic
    from_void_ptr(void *p) (defined in tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >)tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >inlinestatic
    is_async_type (defined in tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >)tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >static
    to_void_ptr(const T &t) (defined in tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >)tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >inlinestatic
    to_void_ptr(T &t) (defined in tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >)tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >inlinestatic
    try_put_task_wrapper_impl(receiver< T > *const this_recv, const void *p, bool is_async) (defined in tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >)tbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >inlinestatic
    async_msg_type typedef (defined in tbb::flow::interface10::opencl_info::default_opencl_factory)tbb::flow::interface10::opencl_info::default_opencl_factory
    default_factory (defined in tbb::flow::interface10::opencl_info::default_opencl_factory)tbb::flow::interface10::opencl_info::default_opencl_factoryfriend
    device_type typedef (defined in tbb::flow::interface10::opencl_factory< default_device_filter >)tbb::flow::interface10::opencl_factory< default_device_filter >
    devices() (defined in tbb::flow::interface10::opencl_factory< default_device_filter >)tbb::flow::interface10::opencl_factory< default_device_filter >inline
    finalize(opencl_device device, FinalizeFn fn, Args &...args) (defined in tbb::flow::interface10::opencl_factory< default_device_filter >)tbb::flow::interface10::opencl_factory< default_device_filter >inline
    init(const opencl_device_list &device_list) (defined in tbb::flow::interface10::opencl_factory< default_device_filter >)tbb::flow::interface10::opencl_factory< default_device_filter >inline
    kernel_type typedef (defined in tbb::flow::interface10::opencl_factory< default_device_filter >)tbb::flow::interface10::opencl_factory< default_device_filter >
    opencl_factory() (defined in tbb::flow::interface10::opencl_factory< default_device_filter >)tbb::flow::interface10::opencl_factory< default_device_filter >inline
    range_type typedef (defined in tbb::flow::interface10::opencl_factory< default_device_filter >)tbb::flow::interface10::opencl_factory< default_device_filter >
    send_data(opencl_device device, T &t, Rest &...args) (defined in tbb::flow::interface10::opencl_factory< default_device_filter >)tbb::flow::interface10::opencl_factory< default_device_filter >inline
    send_data(opencl_device) (defined in tbb::flow::interface10::opencl_factory< default_device_filter >)tbb::flow::interface10::opencl_factory< default_device_filter >inline
    send_kernel(opencl_device device, const kernel_type &kernel, const range_type &work_size, Args &...args) (defined in tbb::flow::interface10::opencl_factory< default_device_filter >)tbb::flow::interface10::opencl_factory< default_device_filter >inline
    ~opencl_factory() (defined in tbb::flow::interface10::opencl_factory< default_device_filter >)tbb::flow::interface10::opencl_factory< default_device_filter >inline

    diff --git a/doc/html/a00357.html b/doc/html/a00357.html index 90d618d..a72c4f2 100644 --- a/doc/html/a00357.html +++ b/doc/html/a00357.html @@ -33,36 +33,31 @@
    -
    tbb::flow::interface10::internal::untyped_sender Member List
    +
    tbb::flow::interface9::gfx_buffer< T > Member List
    -

    This is the complete list of members for tbb::flow::interface10::internal::untyped_sender, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface9::gfx_buffer< T >, including all inherited members.

    - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + +
    built_successors()=0 (defined in tbb::flow::interface10::internal::untyped_sender)tbb::flow::interface10::internal::untyped_senderpure virtual
    built_successors_type typedeftbb::flow::interface10::internal::untyped_sender
    copy_successors(successor_list_type &)=0 (defined in tbb::flow::interface10::internal::untyped_sender)tbb::flow::interface10::internal::untyped_senderpure virtual
    internal::predecessor_cache (defined in tbb::flow::interface10::internal::untyped_sender)tbb::flow::interface10::internal::untyped_senderfriend
    internal::reservable_predecessor_cache (defined in tbb::flow::interface10::internal::untyped_sender)tbb::flow::interface10::internal::untyped_senderfriend
    internal_add_built_successor(successor_type &)=0 (defined in tbb::flow::interface10::internal::untyped_sender)tbb::flow::interface10::internal::untyped_senderpure virtual
    internal_delete_built_successor(successor_type &)=0 (defined in tbb::flow::interface10::internal::untyped_sender)tbb::flow::interface10::internal::untyped_senderpure virtual
    register_successor(successor_type &r)=0tbb::flow::interface10::internal::untyped_senderpure virtual
    remove_successor(successor_type &r)=0tbb::flow::interface10::internal::untyped_senderpure virtual
    successor_count()=0 (defined in tbb::flow::interface10::internal::untyped_sender)tbb::flow::interface10::internal::untyped_senderpure virtual
    successor_list_type typedef (defined in tbb::flow::interface10::internal::untyped_sender)tbb::flow::interface10::internal::untyped_sender
    successor_type typedeftbb::flow::interface10::internal::untyped_sender
    try_consume()tbb::flow::interface10::internal::untyped_senderinlinevirtual
    try_get(X &t)tbb::flow::interface10::internal::untyped_senderinlineprotected
    try_get_wrapper(void *p, bool is_async)=0 (defined in tbb::flow::interface10::internal::untyped_sender)tbb::flow::interface10::internal::untyped_senderprotectedpure virtual
    try_release()tbb::flow::interface10::internal::untyped_senderinlinevirtual
    try_reserve(X &t)tbb::flow::interface10::internal::untyped_senderinlineprotected
    try_reserve_wrapper(void *p, bool is_async)=0 (defined in tbb::flow::interface10::internal::untyped_sender)tbb::flow::interface10::internal::untyped_senderprotectedpure virtual
    ~untyped_sender() (defined in tbb::flow::interface10::internal::untyped_sender)tbb::flow::interface10::internal::untyped_senderinlinevirtual
    begin() (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >inline
    cbegin() const (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >inline
    cend() const (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >inline
    const_iterator typedef (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >
    data() (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >inline
    data() const (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >inline
    end() (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >inline
    gfx_buffer() (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >inline
    gfx_buffer(size_type size) (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >inline
    iterator typedef (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >
    operator[](size_type pos) (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >inline
    operator[](size_type pos) const (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >inline
    size() const (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >inline
    size_type typedef (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >

    diff --git a/doc/html/a00358.html b/doc/html/a00358.html index 01c9a5a..7aaed40 100644 --- a/doc/html/a00358.html +++ b/doc/html/a00358.html @@ -33,40 +33,24 @@
    -
    tbb::flow::interface10::internal::untyped_receiver Member List
    +
    tbb::flow::interface9::gfx_async_msg< T > Member List
    -

    This is the complete list of members for tbb::flow::interface10::internal::untyped_receiver, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface9::gfx_async_msg< T >, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - + + + + + + +
    built_predecessors()=0 (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverpure virtual
    built_predecessors_type typedef (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiver
    copy_predecessors(predecessor_list_type &)=0 (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverpure virtual
    graph_reference()=0 (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverprotectedpure virtual
    internal::broadcast_cache (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverfriend
    internal::round_robin_cache (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverfriend
    internal::successor_cache (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverfriend
    internal_add_built_predecessor(predecessor_type &)=0 (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverpure virtual
    internal_delete_built_predecessor(predecessor_type &)=0 (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverpure virtual
    is_continue_receiver() (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverinlineprotectedvirtual
    limiter_node (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverfriend
    predecessor_count()=0 (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverpure virtual
    predecessor_list_type typedef (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiver
    predecessor_type typedeftbb::flow::interface10::internal::untyped_receiver
    proxy_dependency_receiver (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverfriend
    register_predecessor(predecessor_type &)tbb::flow::interface10::internal::untyped_receiverinlinevirtual
    remove_predecessor(predecessor_type &)tbb::flow::interface10::internal::untyped_receiverinlinevirtual
    reset_receiver(reset_flags f=rf_reset_protocol)=0tbb::flow::interface10::internal::untyped_receiverprotectedpure virtual
    run_and_put_task (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverfriend
    try_put(const X &t)tbb::flow::interface10::internal::untyped_receiverinline
    try_put_task(const X &t) (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverinlineprotected
    try_put_task_wrapper(const void *p, bool is_async)=0 (defined in tbb::flow::interface10::internal::untyped_receiver)tbb::flow::interface10::internal::untyped_receiverprotectedpure virtual
    ~untyped_receiver()tbb::flow::interface10::internal::untyped_receiverinlinevirtual
    data() (defined in tbb::flow::interface9::gfx_async_msg< T >)tbb::flow::interface9::gfx_async_msg< T >inline
    data() const (defined in tbb::flow::interface9::gfx_async_msg< T >)tbb::flow::interface9::gfx_async_msg< T >inline
    gfx_async_msg() (defined in tbb::flow::interface9::gfx_async_msg< T >)tbb::flow::interface9::gfx_async_msg< T >inline
    gfx_async_msg(const T &input_data) (defined in tbb::flow::interface9::gfx_async_msg< T >)tbb::flow::interface9::gfx_async_msg< T >inline
    kernel_id_type typedef (defined in tbb::flow::interface9::gfx_async_msg< T >)tbb::flow::interface9::gfx_async_msg< T >
    set_task_id(kernel_id_type id) (defined in tbb::flow::interface9::gfx_async_msg< T >)tbb::flow::interface9::gfx_async_msg< T >inline
    task_id() const (defined in tbb::flow::interface9::gfx_async_msg< T >)tbb::flow::interface9::gfx_async_msg< T >inline

    diff --git a/doc/html/a00359.html b/doc/html/a00359.html index 317661b..4a9a04f 100644 --- a/doc/html/a00359.html +++ b/doc/html/a00359.html @@ -33,18 +33,24 @@
    -
    tbb::flow::interface10::opencl_info::default_device_selector< Factory > Member List
    +
    tbb::flow::interface9::gfx_factory Member List
    -

    This is the complete list of members for tbb::flow::interface10::opencl_info::default_device_selector< Factory >, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface9::gfx_factory, including all inherited members.

    - + + + + + + +
    operator()(Factory &f) (defined in tbb::flow::interface10::opencl_info::default_device_selector< Factory >)tbb::flow::interface10::opencl_info::default_device_selector< Factory >inline
    async_msg_type typedef (defined in tbb::flow::interface9::gfx_factory)tbb::flow::interface9::gfx_factory
    finalize(device_type, FinalizeFn fn, Args &...) (defined in tbb::flow::interface9::gfx_factory)tbb::flow::interface9::gfx_factoryinline
    gfx_factory(tbb::flow::graph &g) (defined in tbb::flow::interface9::gfx_factory)tbb::flow::interface9::gfx_factoryinline
    kernel_id_type typedef (defined in tbb::flow::interface9::gfx_factory)tbb::flow::interface9::gfx_factory
    kernel_type typedef (defined in tbb::flow::interface9::gfx_factory)tbb::flow::interface9::gfx_factory
    send_data(device_type, Args &...args) (defined in tbb::flow::interface9::gfx_factory)tbb::flow::interface9::gfx_factoryinline
    send_kernel(device_type, const kernel_type &kernel, Args &...args) (defined in tbb::flow::interface9::gfx_factory)tbb::flow::interface9::gfx_factoryinline

    diff --git a/doc/html/a00360.html b/doc/html/a00360.html index ac21be1..39bea01 100644 --- a/doc/html/a00360.html +++ b/doc/html/a00360.html @@ -33,18 +33,18 @@
    -
    tbb::flow::interface10::opencl_info::default_device_filter Member List
    +
    tbb::flow::interface9::gfx_factory::dummy_device_selector Member List
    -

    This is the complete list of members for tbb::flow::interface10::opencl_info::default_device_filter, including all inherited members.

    +

    This is the complete list of members for tbb::flow::interface9::gfx_factory::dummy_device_selector, including all inherited members.

    - +
    operator()(const opencl_device_list &devices) (defined in tbb::flow::interface10::opencl_info::default_device_filter)tbb::flow::interface10::opencl_info::default_device_filterinline
    operator()(gfx_factory &) (defined in tbb::flow::interface9::gfx_factory::dummy_device_selector)tbb::flow::interface9::gfx_factory::dummy_device_selectorinline

    diff --git a/doc/html/a00361.html b/doc/html/a00361.html index a3cefec..9edce96 100644 --- a/doc/html/a00361.html +++ b/doc/html/a00361.html @@ -33,30 +33,104 @@
    -
    tbb::flow::interface10::opencl_info::default_opencl_factory Member List
    +
    tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A > Member List
    -

    This is the complete list of members for tbb::flow::interface10::opencl_info::default_opencl_factory, including all inherited members.

    +

    This is the complete list of members for tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >, including all inherited members.

    - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    async_msg_type typedef (defined in tbb::flow::interface10::opencl_info::default_opencl_factory)tbb::flow::interface10::opencl_info::default_opencl_factory
    default_factory (defined in tbb::flow::interface10::opencl_info::default_opencl_factory)tbb::flow::interface10::opencl_info::default_opencl_factoryfriend
    device_type typedef (defined in tbb::flow::interface10::opencl_factory< default_device_filter >)tbb::flow::interface10::opencl_factory< default_device_filter >
    devices() (defined in tbb::flow::interface10::opencl_factory< default_device_filter >)tbb::flow::interface10::opencl_factory< default_device_filter >inline
    finalize(opencl_device device, FinalizeFn fn, Args &...args) (defined in tbb::flow::interface10::opencl_factory< default_device_filter >)tbb::flow::interface10::opencl_factory< default_device_filter >inline
    init(const opencl_device_list &device_list) (defined in tbb::flow::interface10::opencl_factory< default_device_filter >)tbb::flow::interface10::opencl_factory< default_device_filter >inline
    kernel_type typedef (defined in tbb::flow::interface10::opencl_factory< default_device_filter >)tbb::flow::interface10::opencl_factory< default_device_filter >
    opencl_factory() (defined in tbb::flow::interface10::opencl_factory< default_device_filter >)tbb::flow::interface10::opencl_factory< default_device_filter >inline
    range_type typedef (defined in tbb::flow::interface10::opencl_factory< default_device_filter >)tbb::flow::interface10::opencl_factory< default_device_filter >
    send_data(opencl_device device, T &t, Rest &...args) (defined in tbb::flow::interface10::opencl_factory< default_device_filter >)tbb::flow::interface10::opencl_factory< default_device_filter >inline
    send_data(opencl_device) (defined in tbb::flow::interface10::opencl_factory< default_device_filter >)tbb::flow::interface10::opencl_factory< default_device_filter >inline
    send_kernel(opencl_device device, const kernel_type &kernel, const range_type &work_size, Args &...args) (defined in tbb::flow::interface10::opencl_factory< default_device_filter >)tbb::flow::interface10::opencl_factory< default_device_filter >inline
    ~opencl_factory() (defined in tbb::flow::interface10::opencl_factory< default_device_filter >)tbb::flow::interface10::opencl_factory< default_device_filter >inline
    accessor_location (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >friend
    accessor_location (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >friend
    allocate_node_copy_construct(node_allocator_type &allocator, const Key &key, const T *t) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inlineprotectedstatic
    allocate_node_default_construct(node_allocator_type &allocator, const Key &key, const T *) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inlineprotectedstatic
    allocate_node_emplace_construct(node_allocator_type &allocator, Args &&...args) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inlineprotectedstatic
    allocate_node_move_construct(node_allocator_type &allocator, const Key &key, const T *t) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inlineprotectedstatic
    allocator_type typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    begin() (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    begin() const (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    bucket_count() const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    clear()tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    concurrent_hash_map(const allocator_type &a=allocator_type())tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inlineexplicit
    concurrent_hash_map(size_type n, const allocator_type &a=allocator_type())tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    concurrent_hash_map(const concurrent_hash_map &table, const allocator_type &a=allocator_type())tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    concurrent_hash_map(concurrent_hash_map &&table)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    concurrent_hash_map(concurrent_hash_map &&table, const allocator_type &a)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    concurrent_hash_map(I first, I last, const allocator_type &a=allocator_type())tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    concurrent_hash_map(std::initializer_list< value_type > il, const allocator_type &a=allocator_type())tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    const_accessor (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >friend
    const_iterator typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    const_pointer typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    const_range_type typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    const_reference typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    count(const Key &key) const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    delete_node(node_base *n) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inlineprotected
    difference_type typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    do_not_allocate_node(node_allocator_type &, const Key &, const T *) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inlineprotectedstatic
    emplace(const_accessor &result, Args &&...args)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    emplace(accessor &result, Args &&...args)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    emplace(Args &&...args)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    empty() const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    end() (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    end() const (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    equal_range(const Key &key) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    equal_range(const Key &key) const (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    erase(const Key &key)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    erase(const_accessor &item_accessor)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    erase(accessor &item_accessor)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    exclude(const_accessor &item_accessor)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >protected
    find(const_accessor &result, const Key &key) const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    find(accessor &result, const Key &key)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    generic_emplace(Accessor &&result, Args &&...args) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inlineprotected
    generic_move_insert(Accessor &&result, value_type &&value) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inlineprotected
    get_allocator() const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    insert(const_accessor &result, const Key &key)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    insert(accessor &result, const Key &key)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    insert(const_accessor &result, const value_type &value)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    insert(accessor &result, const value_type &value)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    insert(const value_type &value)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    insert(const_accessor &result, value_type &&value)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    insert(accessor &result, value_type &&value)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    insert(value_type &&value)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    insert(I first, I last)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    insert(std::initializer_list< value_type > il)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    internal::hash_map_iterator (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >friend
    internal::hash_map_range (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >friend
    internal_copy(const concurrent_hash_map &source)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >protected
    internal_copy(I first, I last) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >protected
    internal_equal_range(const Key &key, I end) const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >protected
    internal_fast_find(const Key &key) const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inlineprotected
    is_write_access_needed (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >friend
    is_write_access_needed (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >friend
    is_write_access_needed (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >friend
    iterator typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    key_type typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    lookup(bool op_insert, const Key &key, const T *t, const_accessor *result, bool write, node *(*allocate_node)(node_allocator_type &, const Key &, const T *), node *tmp_n=0)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >protected
    mapped_type typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    max_size() const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    my_allocator (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >protected
    my_hash_compare (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >protected
    node_allocator_type typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >protected
    operator=(const concurrent_hash_map &table)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    operator=(concurrent_hash_map &&table)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    operator=(std::initializer_list< value_type > il)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    pointer typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    range(size_type grainsize=1) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    range(size_type grainsize=1) const (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    range_type typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    reference typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    rehash(size_type n=0)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    rehash_bucket(bucket *b_new, const hashcode_t h) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inlineprotected
    search_bucket(const key_type &key, bucket *b) const (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inlineprotected
    size() const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    size_type typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    swap(concurrent_hash_map &table)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    value_type typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    ~concurrent_hash_map()tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline

    diff --git a/doc/html/a00362.html b/doc/html/a00362.html index 4cdf82a..d455b89 100644 --- a/doc/html/a00362.html +++ b/doc/html/a00362.html @@ -33,31 +33,27 @@
    -
    tbb::flow::interface9::gfx_buffer< T > Member List
    +
    tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor Member List
    -

    This is the complete list of members for tbb::flow::interface9::gfx_buffer< T >, including all inherited members.

    +

    This is the complete list of members for tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor, including all inherited members.

    - - - - - - - - - - - - - - + + + + + + + + + +
    begin() (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >inline
    cbegin() const (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >inline
    cend() const (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >inline
    const_iterator typedef (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >
    data() (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >inline
    data() const (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >inline
    end() (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >inline
    gfx_buffer() (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >inline
    gfx_buffer(size_type size) (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >inline
    iterator typedef (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >
    operator[](size_type pos) (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >inline
    operator[](size_type pos) const (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >inline
    size() const (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >inline
    size_type typedef (defined in tbb::flow::interface9::gfx_buffer< T >)tbb::flow::interface9::gfx_buffer< T >
    const_accessor()tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorinline
    empty() const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorinline
    is_writer() (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorinlineprotected
    my_hash (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorprotected
    my_node (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorprotected
    operator*() const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessorinline
    operator->() const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessorinline
    release()tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorinline
    value_type typedeftbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor
    ~const_accessor()tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorinline

    diff --git a/doc/html/a00363.html b/doc/html/a00363.html index 3de2cec..ff68801 100644 --- a/doc/html/a00363.html +++ b/doc/html/a00363.html @@ -33,24 +33,18 @@
    -
    tbb::flow::interface9::gfx_async_msg< T > Member List
    +
    tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor_not_used Member List

    diff --git a/doc/html/a00364.html b/doc/html/a00364.html index 6b0b5b6..4ffa9c1 100644 --- a/doc/html/a00364.html +++ b/doc/html/a00364.html @@ -33,24 +33,21 @@
    -
    tbb::flow::interface9::gfx_factory Member List
    +
    tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor Member List
    -

    This is the complete list of members for tbb::flow::interface9::gfx_factory, including all inherited members.

    +

    This is the complete list of members for tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor, including all inherited members.

    - - - - - - - + + + +
    async_msg_type typedef (defined in tbb::flow::interface9::gfx_factory)tbb::flow::interface9::gfx_factory
    finalize(device_type, FinalizeFn fn, Args &...) (defined in tbb::flow::interface9::gfx_factory)tbb::flow::interface9::gfx_factoryinline
    gfx_factory(tbb::flow::graph &g) (defined in tbb::flow::interface9::gfx_factory)tbb::flow::interface9::gfx_factoryinline
    kernel_id_type typedef (defined in tbb::flow::interface9::gfx_factory)tbb::flow::interface9::gfx_factory
    kernel_type typedef (defined in tbb::flow::interface9::gfx_factory)tbb::flow::interface9::gfx_factory
    send_data(device_type, Args &...args) (defined in tbb::flow::interface9::gfx_factory)tbb::flow::interface9::gfx_factoryinline
    send_kernel(device_type, const kernel_type &kernel, Args &...args) (defined in tbb::flow::interface9::gfx_factory)tbb::flow::interface9::gfx_factoryinline
    acquire(concurrent_hash_map *base, const hashcode_t h, bool writer=false)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessorinline
    bucket_accessor(concurrent_hash_map *base, const hashcode_t h, bool writer=false) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessorinline
    is_writer()tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessorinline
    operator()()tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessorinline

    diff --git a/doc/html/a00365.html b/doc/html/a00365.html index c571705..338a6df 100644 --- a/doc/html/a00365.html +++ b/doc/html/a00365.html @@ -33,18 +33,21 @@
    -
    tbb::flow::interface9::gfx_factory::dummy_device_selector Member List
    +
    tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::call_clear_on_leave Member List

    diff --git a/doc/html/a00366.html b/doc/html/a00366.html index 341a08b..7570ed9 100644 --- a/doc/html/a00366.html +++ b/doc/html/a00366.html @@ -33,104 +33,29 @@
    -
    tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A > Member List
    +
    tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor Member List
    -

    This is the complete list of members for tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >, including all inherited members.

    +

    This is the complete list of members for tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + +
    accessor_location (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >friend
    accessor_location (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >friend
    allocate_node_copy_construct(node_allocator_type &allocator, const Key &key, const T *t) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inlineprotectedstatic
    allocate_node_default_construct(node_allocator_type &allocator, const Key &key, const T *) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inlineprotectedstatic
    allocate_node_emplace_construct(node_allocator_type &allocator, Args &&...args) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inlineprotectedstatic
    allocate_node_move_construct(node_allocator_type &allocator, const Key &key, const T *t) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inlineprotectedstatic
    allocator_type typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    begin() (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    begin() const (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    bucket_count() const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    clear()tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    concurrent_hash_map(const allocator_type &a=allocator_type())tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inlineexplicit
    concurrent_hash_map(size_type n, const allocator_type &a=allocator_type())tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    concurrent_hash_map(const concurrent_hash_map &table, const allocator_type &a=allocator_type())tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    concurrent_hash_map(concurrent_hash_map &&table)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    concurrent_hash_map(concurrent_hash_map &&table, const allocator_type &a)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    concurrent_hash_map(I first, I last, const allocator_type &a=allocator_type())tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    concurrent_hash_map(std::initializer_list< value_type > il, const allocator_type &a=allocator_type())tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    const_accessor (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >friend
    const_iterator typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    const_pointer typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    const_range_type typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    const_reference typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    count(const Key &key) const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    delete_node(node_base *n) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inlineprotected
    difference_type typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    do_not_allocate_node(node_allocator_type &, const Key &, const T *) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inlineprotectedstatic
    emplace(const_accessor &result, Args &&...args)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    emplace(accessor &result, Args &&...args)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    emplace(Args &&...args)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    empty() const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    end() (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    end() const (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    equal_range(const Key &key) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    equal_range(const Key &key) const (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    erase(const Key &key)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    erase(const_accessor &item_accessor)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    erase(accessor &item_accessor)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    exclude(const_accessor &item_accessor)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >protected
    find(const_accessor &result, const Key &key) const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    find(accessor &result, const Key &key)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    generic_emplace(Accessor &&result, Args &&...args) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inlineprotected
    generic_move_insert(Accessor &&result, value_type &&value) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inlineprotected
    get_allocator() const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    insert(const_accessor &result, const Key &key)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    insert(accessor &result, const Key &key)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    insert(const_accessor &result, const value_type &value)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    insert(accessor &result, const value_type &value)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    insert(const value_type &value)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    insert(const_accessor &result, value_type &&value)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    insert(accessor &result, value_type &&value)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    insert(value_type &&value)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    insert(I first, I last)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    insert(std::initializer_list< value_type > il)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    internal::hash_map_iterator (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >friend
    internal::hash_map_range (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >friend
    internal_copy(const concurrent_hash_map &source)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >protected
    internal_copy(I first, I last) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >protected
    internal_equal_range(const Key &key, I end) const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >protected
    internal_fast_find(const Key &key) const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inlineprotected
    is_write_access_needed (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >friend
    is_write_access_needed (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >friend
    is_write_access_needed (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >friend
    iterator typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    key_type typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    lookup(bool op_insert, const Key &key, const T *t, const_accessor *result, bool write, node *(*allocate_node)(node_allocator_type &, const Key &, const T *), node *tmp_n=0)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >protected
    mapped_type typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    max_size() const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    my_allocator (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >protected
    my_hash_compare (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >protected
    node_allocator_type typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >protected
    operator=(const concurrent_hash_map &table)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    operator=(concurrent_hash_map &&table)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    operator=(std::initializer_list< value_type > il)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    pointer typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    range(size_type grainsize=1) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    range(size_type grainsize=1) const (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    range_type typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    reference typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    rehash(size_type n=0)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    rehash_bucket(bucket *b_new, const hashcode_t h) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inlineprotected
    search_bucket(const key_type &key, bucket *b) const (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inlineprotected
    size() const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    size_type typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    swap(concurrent_hash_map &table)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    value_type typedef (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
    ~concurrent_hash_map()tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >inline
    accessor (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorfriend
    concurrent_hash_map< Key, T, HashCompare, Allocator > (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorfriend
    const_accessor()tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorinline
    empty() const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorinline
    is_writer() (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorinlineprotected
    my_hash (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorprotected
    my_node (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorprotected
    operator*() const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorinline
    operator->() const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorinline
    release()tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorinline
    value_type typedeftbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor
    ~const_accessor()tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorinline

    diff --git a/doc/html/a00367.html b/doc/html/a00367.html index 75b7e25..49784b6 100644 --- a/doc/html/a00367.html +++ b/doc/html/a00367.html @@ -33,27 +33,27 @@
    -
    tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor Member List
    +
    tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node Member List
    -

    This is the complete list of members for tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor, including all inherited members.

    +

    This is the complete list of members for tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node, including all inherited members.

    - - - - - - - - - - + + + + + + + + + +
    const_accessor()tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorinline
    empty() const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorinline
    is_writer() (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorinlineprotected
    my_hash (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorprotected
    my_node (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorprotected
    operator*() const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessorinline
    operator->() const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessorinline
    release()tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorinline
    value_type typedeftbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor
    ~const_accessor()tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorinline
    item (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node
    node(const Key &key) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::nodeinline
    node(const Key &key, const T &t) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::nodeinline
    node(const Key &key, T &&t) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::nodeinline
    node(value_type &&i) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::nodeinline
    node(Args &&...args) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::nodeinline
    node(value_type &i) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::nodeinline
    node(const value_type &i) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::nodeinline
    operator delete(void *ptr, node_allocator_type &a) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::nodeinline
    operator new(size_t, node_allocator_type &a) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::nodeinline

    diff --git a/doc/html/a00368.html b/doc/html/a00368.html index 9bb7d6b..c810004 100644 --- a/doc/html/a00368.html +++ b/doc/html/a00368.html @@ -33,18 +33,45 @@
    -
    tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor_not_used Member List
    +
    tbb::interface5::concurrent_priority_queue< T, Compare, A > Member List
    -

    This is the complete list of members for tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor_not_used, including all inherited members.

    +

    This is the complete list of members for tbb::interface5::concurrent_priority_queue< T, Compare, A >, including all inherited members.

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    release() (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor_not_used)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::accessor_not_usedinline
    allocator_type typedeftbb::interface5::concurrent_priority_queue< T, Compare, A >
    assign(InputIterator begin, InputIterator end)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    assign(std::initializer_list< T > il)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    clear()tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    concurrent_priority_queue(const allocator_type &a=allocator_type())tbb::interface5::concurrent_priority_queue< T, Compare, A >inlineexplicit
    concurrent_priority_queue(size_type init_capacity, const allocator_type &a=allocator_type())tbb::interface5::concurrent_priority_queue< T, Compare, A >inlineexplicit
    concurrent_priority_queue(InputIterator begin, InputIterator end, const allocator_type &a=allocator_type())tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    concurrent_priority_queue(std::initializer_list< T > init_list, const allocator_type &a=allocator_type())tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    concurrent_priority_queue(const concurrent_priority_queue &src)tbb::interface5::concurrent_priority_queue< T, Compare, A >inlineexplicit
    concurrent_priority_queue(const concurrent_priority_queue &src, const allocator_type &a)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    concurrent_priority_queue(concurrent_priority_queue &&src)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    concurrent_priority_queue(concurrent_priority_queue &&src, const allocator_type &a)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    const_reference typedeftbb::interface5::concurrent_priority_queue< T, Compare, A >
    difference_type typedeftbb::interface5::concurrent_priority_queue< T, Compare, A >
    emplace(Args &&...args)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    empty() const tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    get_allocator() const tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    operator=(const concurrent_priority_queue &src)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    operator=(concurrent_priority_queue &&src)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    operator=(std::initializer_list< T > il)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    push(const_reference elem)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    push(value_type &&elem)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    reference typedeftbb::interface5::concurrent_priority_queue< T, Compare, A >
    size() const tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    size_type typedeftbb::interface5::concurrent_priority_queue< T, Compare, A >
    swap(concurrent_priority_queue &q)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    try_pop(reference elem)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    value_type typedeftbb::interface5::concurrent_priority_queue< T, Compare, A >

    diff --git a/doc/html/a00369.html b/doc/html/a00369.html index b5ad608..9ba3667 100644 --- a/doc/html/a00369.html +++ b/doc/html/a00369.html @@ -33,21 +33,26 @@
    -
    tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor Member List
    +
    tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping > Member List
    -

    This is the complete list of members for tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor, including all inherited members.

    +

    This is the complete list of members for tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >, including all inherited members.

    - - - - + + + + + + + + +
    acquire(concurrent_hash_map *base, const hashcode_t h, bool writer=false)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessorinline
    bucket_accessor(concurrent_hash_map *base, const hashcode_t h, bool writer=false) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessorinline
    is_writer()tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessorinline
    operator()()tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessorinline
    allocator_type typedef (defined in tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >protected
    allow_multimapping enum value (defined in tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >protected
    concurrent_unordered_map_traits() (defined in tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >inlineprotected
    concurrent_unordered_map_traits(const hash_compare &hc) (defined in tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >inlineprotected
    get_key(const std::pair< Type1, Type2 > &value) (defined in tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >inlineprotectedstatic
    hash_compare typedef (defined in tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >protected
    key_type typedef (defined in tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >protected
    my_hash_compare (defined in tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >protected
    value_type typedef (defined in tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >protected

    diff --git a/doc/html/a00370.html b/doc/html/a00370.html index 123d3f6..1052197 100644 --- a/doc/html/a00370.html +++ b/doc/html/a00370.html @@ -33,21 +33,47 @@
    -
    tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::call_clear_on_leave Member List
    +
    tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator > Member List
    -

    This is the complete list of members for tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::call_clear_on_leave, including all inherited members.

    +

    This is the complete list of members for tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >, including all inherited members.

    - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    call_clear_on_leave(concurrent_hash_map *a_ch_map) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::call_clear_on_leave)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::call_clear_on_leaveinline
    dismiss() (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::call_clear_on_leave)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::call_clear_on_leaveinline
    my_ch_map (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::call_clear_on_leave)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::call_clear_on_leave
    ~call_clear_on_leave() (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::call_clear_on_leave)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::call_clear_on_leaveinline
    allocator_type typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    at(const key_type &key) (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inline
    at(const key_type &key) const (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_map(size_type n_of_buckets=base_type::initial_bucket_number, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type()) (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inlineexplicit
    concurrent_unordered_map(const Allocator &a) (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inlineexplicit
    concurrent_unordered_map(Iterator first, Iterator last, size_type n_of_buckets=base_type::initial_bucket_number, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type()) (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_map(std::initializer_list< value_type > il, size_type n_of_buckets=base_type::initial_bucket_number, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type())tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_map(const concurrent_unordered_map &table) (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_map(concurrent_unordered_map &&table) (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_map(concurrent_unordered_map &&table, const Allocator &a) (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_map(const concurrent_unordered_map &table, const Allocator &a) (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inline
    const_iterator typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    const_local_iterator typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    const_pointer typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    const_reference typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    difference_type typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    hasher typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    iterator typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    key_compare typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    key_equal typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    key_type typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    local_iterator typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    mapped_type typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    operator=(const concurrent_unordered_map &table) (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inline
    operator=(concurrent_unordered_map &&table) (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inline
    operator[](const key_type &key) (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inline
    pointer typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    reference typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    size_type typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    value_type typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >

    diff --git a/doc/html/a00371.html b/doc/html/a00371.html index 9f10df1..91bb2e8 100644 --- a/doc/html/a00371.html +++ b/doc/html/a00371.html @@ -33,29 +33,44 @@
    -
    tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor Member List
    +
    tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator > Member List
    -

    This is the complete list of members for tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor, including all inherited members.

    +

    This is the complete list of members for tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >, including all inherited members.

    - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + +
    accessor (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorfriend
    concurrent_hash_map< Key, T, HashCompare, Allocator > (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorfriend
    const_accessor()tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorinline
    empty() const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorinline
    is_writer() (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorinlineprotected
    my_hash (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorprotected
    my_node (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorprotected
    operator*() const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorinline
    operator->() const tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorinline
    release()tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorinline
    value_type typedeftbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor
    ~const_accessor()tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessorinline
    allocator_type typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    concurrent_unordered_multimap(size_type n_of_buckets=base_type::initial_bucket_number, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type()) (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >inlineexplicit
    concurrent_unordered_multimap(const Allocator &a) (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >inlineexplicit
    concurrent_unordered_multimap(Iterator first, Iterator last, size_type n_of_buckets=base_type::initial_bucket_number, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type()) (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_multimap(std::initializer_list< value_type > il, size_type n_of_buckets=base_type::initial_bucket_number, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type())tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_multimap(const concurrent_unordered_multimap &table) (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_multimap(concurrent_unordered_multimap &&table) (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_multimap(concurrent_unordered_multimap &&table, const Allocator &a) (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_multimap(const concurrent_unordered_multimap &table, const Allocator &a) (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >inline
    const_iterator typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    const_local_iterator typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    const_pointer typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    const_reference typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    difference_type typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    hasher typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    iterator typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    key_compare typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    key_equal typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    key_type typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    local_iterator typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    mapped_type typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    operator=(const concurrent_unordered_multimap &table) (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >inline
    operator=(concurrent_unordered_multimap &&table) (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >inline
    pointer typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    reference typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    size_type typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    value_type typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >

    diff --git a/doc/html/a00372.html b/doc/html/a00372.html index 66690a0..98c3e56 100644 --- a/doc/html/a00372.html +++ b/doc/html/a00372.html @@ -33,27 +33,26 @@
    -
    tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node Member List
    +
    tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping > Member List
    -

    This is the complete list of members for tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node, including all inherited members.

    +

    This is the complete list of members for tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >, including all inherited members.

    - - - - - - - - - - + + + + + + + + +
    item (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node
    node(const Key &key) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::nodeinline
    node(const Key &key, const T &t) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::nodeinline
    node(const Key &key, T &&t) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::nodeinline
    node(value_type &&i) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::nodeinline
    node(Args &&...args) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::nodeinline
    node(value_type &i) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::nodeinline
    node(const value_type &i) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::nodeinline
    operator delete(void *ptr, node_allocator_type &a) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::nodeinline
    operator new(size_t, node_allocator_type &a) (defined in tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::node)tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::nodeinline
    allocator_type typedef (defined in tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >protected
    allow_multimapping enum value (defined in tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >protected
    concurrent_unordered_set_traits() (defined in tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >inlineprotected
    concurrent_unordered_set_traits(const hash_compare &hc) (defined in tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >inlineprotected
    get_key(const value_type &value) (defined in tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >inlineprotectedstatic
    hash_compare typedef (defined in tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >protected
    key_type typedef (defined in tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >protected
    my_hash_compare (defined in tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >protected
    value_type typedef (defined in tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >protected

    diff --git a/doc/html/a00373.html b/doc/html/a00373.html index 9a89b9d..daee787 100644 --- a/doc/html/a00373.html +++ b/doc/html/a00373.html @@ -33,45 +33,44 @@
    -
    tbb::interface5::concurrent_priority_queue< T, Compare, A > Member List
    +
    tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator > Member List
    -

    This is the complete list of members for tbb::interface5::concurrent_priority_queue< T, Compare, A >, including all inherited members.

    +

    This is the complete list of members for tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + +
    allocator_type typedeftbb::interface5::concurrent_priority_queue< T, Compare, A >
    assign(InputIterator begin, InputIterator end)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    assign(std::initializer_list< T > il)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    clear()tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    concurrent_priority_queue(const allocator_type &a=allocator_type())tbb::interface5::concurrent_priority_queue< T, Compare, A >inlineexplicit
    concurrent_priority_queue(size_type init_capacity, const allocator_type &a=allocator_type())tbb::interface5::concurrent_priority_queue< T, Compare, A >inlineexplicit
    concurrent_priority_queue(InputIterator begin, InputIterator end, const allocator_type &a=allocator_type())tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    concurrent_priority_queue(std::initializer_list< T > init_list, const allocator_type &a=allocator_type())tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    concurrent_priority_queue(const concurrent_priority_queue &src)tbb::interface5::concurrent_priority_queue< T, Compare, A >inlineexplicit
    concurrent_priority_queue(const concurrent_priority_queue &src, const allocator_type &a)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    concurrent_priority_queue(concurrent_priority_queue &&src)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    concurrent_priority_queue(concurrent_priority_queue &&src, const allocator_type &a)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    const_reference typedeftbb::interface5::concurrent_priority_queue< T, Compare, A >
    difference_type typedeftbb::interface5::concurrent_priority_queue< T, Compare, A >
    emplace(Args &&...args)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    empty() const tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    get_allocator() const tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    operator=(const concurrent_priority_queue &src)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    operator=(concurrent_priority_queue &&src)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    operator=(std::initializer_list< T > il)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    push(const_reference elem)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    push(value_type &&elem)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    reference typedeftbb::interface5::concurrent_priority_queue< T, Compare, A >
    size() const tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    size_type typedeftbb::interface5::concurrent_priority_queue< T, Compare, A >
    swap(concurrent_priority_queue &q)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    try_pop(reference elem)tbb::interface5::concurrent_priority_queue< T, Compare, A >inline
    value_type typedeftbb::interface5::concurrent_priority_queue< T, Compare, A >
    allocator_type typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    concurrent_unordered_set(size_type n_of_buckets=base_type::initial_bucket_number, const hasher &a_hasher=hasher(), const key_equal &a_keyeq=key_equal(), const allocator_type &a=allocator_type()) (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >inlineexplicit
    concurrent_unordered_set(const Allocator &a) (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >inlineexplicit
    concurrent_unordered_set(Iterator first, Iterator last, size_type n_of_buckets=base_type::initial_bucket_number, const hasher &a_hasher=hasher(), const key_equal &a_keyeq=key_equal(), const allocator_type &a=allocator_type()) (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_set(std::initializer_list< value_type > il, size_type n_of_buckets=base_type::initial_bucket_number, const hasher &a_hasher=hasher(), const key_equal &a_keyeq=key_equal(), const allocator_type &a=allocator_type())tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_set(const concurrent_unordered_set &table) (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_set(concurrent_unordered_set &&table) (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_set(concurrent_unordered_set &&table, const Allocator &a) (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_set(const concurrent_unordered_set &table, const Allocator &a) (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >inline
    const_iterator typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    const_local_iterator typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    const_pointer typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    const_reference typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    difference_type typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    hasher typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    iterator typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    key_compare typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    key_equal typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    key_type typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    local_iterator typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    mapped_type typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    operator=(const concurrent_unordered_set &table) (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >inline
    operator=(concurrent_unordered_set &&table) (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >inline
    pointer typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    reference typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    size_type typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    value_type typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >

    diff --git a/doc/html/a00374.html b/doc/html/a00374.html index 65a58ee..e098963 100644 --- a/doc/html/a00374.html +++ b/doc/html/a00374.html @@ -33,26 +33,44 @@
    -
    tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping > Member List
    +
    tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator > Member List
    -

    This is the complete list of members for tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >, including all inherited members.

    +

    This is the complete list of members for tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >, including all inherited members.

    - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + +
    allocator_type typedef (defined in tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >protected
    allow_multimapping enum value (defined in tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >protected
    concurrent_unordered_map_traits() (defined in tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >inlineprotected
    concurrent_unordered_map_traits(const hash_compare &hc) (defined in tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >inlineprotected
    get_key(const std::pair< Type1, Type2 > &value) (defined in tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >inlineprotectedstatic
    hash_compare typedef (defined in tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >protected
    key_type typedef (defined in tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >protected
    my_hash_compare (defined in tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >protected
    value_type typedef (defined in tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_map_traits< Key, T, Hash_compare, Allocator, Allow_multimapping >protected
    allocator_type typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    concurrent_unordered_multiset(size_type n_of_buckets=base_type::initial_bucket_number, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type()) (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >inlineexplicit
    concurrent_unordered_multiset(const Allocator &a) (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >inlineexplicit
    concurrent_unordered_multiset(Iterator first, Iterator last, size_type n_of_buckets=base_type::initial_bucket_number, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type()) (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_multiset(std::initializer_list< value_type > il, size_type n_of_buckets=base_type::initial_bucket_number, const hasher &a_hasher=hasher(), const key_equal &a_keyeq=key_equal(), const allocator_type &a=allocator_type())tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_multiset(const concurrent_unordered_multiset &table) (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_multiset(concurrent_unordered_multiset &&table) (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_multiset(concurrent_unordered_multiset &&table, const Allocator &a) (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_multiset(const concurrent_unordered_multiset &table, const Allocator &a) (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >inline
    const_iterator typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    const_local_iterator typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    const_pointer typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    const_reference typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    difference_type typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    hasher typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    iterator typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    key_compare typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    key_equal typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    key_type typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    local_iterator typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    mapped_type typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    operator=(const concurrent_unordered_multiset &table) (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >inline
    operator=(concurrent_unordered_multiset &&table) (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >inline
    pointer typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    reference typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    size_type typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    value_type typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >

    diff --git a/doc/html/a00375.html b/doc/html/a00375.html index bead535..b44a813 100644 --- a/doc/html/a00375.html +++ b/doc/html/a00375.html @@ -33,47 +33,31 @@
    -
    tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator > Member List
    +
    tbb::interface5::reader_writer_lock Member List
    -

    This is the complete list of members for tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >, including all inherited members.

    +

    This is the complete list of members for tbb::interface5::reader_writer_lock, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + +
    allocator_type typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    at(const key_type &key) (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inline
    at(const key_type &key) const (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_map(size_type n_of_buckets=base_type::initial_bucket_number, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type()) (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inlineexplicit
    concurrent_unordered_map(const Allocator &a) (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inlineexplicit
    concurrent_unordered_map(Iterator first, Iterator last, size_type n_of_buckets=base_type::initial_bucket_number, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type()) (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_map(std::initializer_list< value_type > il, size_type n_of_buckets=base_type::initial_bucket_number, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type())tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_map(const concurrent_unordered_map &table) (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_map(concurrent_unordered_map &&table) (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_map(concurrent_unordered_map &&table, const Allocator &a) (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_map(const concurrent_unordered_map &table, const Allocator &a) (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inline
    const_iterator typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    const_local_iterator typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    const_pointer typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    const_reference typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    difference_type typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    hasher typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    iterator typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    key_compare typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    key_equal typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    key_type typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    local_iterator typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    mapped_type typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    operator=(const concurrent_unordered_map &table) (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inline
    operator=(concurrent_unordered_map &&table) (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inline
    operator[](const key_type &key) (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >inline
    pointer typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    reference typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    size_type typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    value_type typedef (defined in tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_map< Key, T, Hasher, Key_equality, Allocator >
    active enum value (defined in tbb::interface5::reader_writer_lock)tbb::interface5::reader_writer_lock
    invalid enum value (defined in tbb::interface5::reader_writer_lock)tbb::interface5::reader_writer_lock
    lock()tbb::interface5::reader_writer_lock
    lock_read()tbb::interface5::reader_writer_lock
    reader_writer_lock()tbb::interface5::reader_writer_lockinline
    scoped_lock (defined in tbb::interface5::reader_writer_lock)tbb::interface5::reader_writer_lockfriend
    scoped_lock_read (defined in tbb::interface5::reader_writer_lock)tbb::interface5::reader_writer_lockfriend
    status_t enum nametbb::interface5::reader_writer_lock
    try_lock()tbb::interface5::reader_writer_lock
    try_lock_read()tbb::interface5::reader_writer_lock
    unlock()tbb::interface5::reader_writer_lock
    waiting enum value (defined in tbb::interface5::reader_writer_lock)tbb::interface5::reader_writer_lock
    waiting_nonblocking enum value (defined in tbb::interface5::reader_writer_lock)tbb::interface5::reader_writer_lock
    ~reader_writer_lock()tbb::interface5::reader_writer_lockinline

    diff --git a/doc/html/a00376.html b/doc/html/a00376.html index e2e74a6..281105e 100644 --- a/doc/html/a00376.html +++ b/doc/html/a00376.html @@ -33,44 +33,22 @@
    -
    tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator > Member List
    +
    tbb::interface5::reader_writer_lock::scoped_lock Member List
    -

    This is the complete list of members for tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >, including all inherited members.

    +

    This is the complete list of members for tbb::interface5::reader_writer_lock::scoped_lock, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +
    allocator_type typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    concurrent_unordered_multimap(size_type n_of_buckets=base_type::initial_bucket_number, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type()) (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >inlineexplicit
    concurrent_unordered_multimap(const Allocator &a) (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >inlineexplicit
    concurrent_unordered_multimap(Iterator first, Iterator last, size_type n_of_buckets=base_type::initial_bucket_number, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type()) (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_multimap(std::initializer_list< value_type > il, size_type n_of_buckets=base_type::initial_bucket_number, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type())tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_multimap(const concurrent_unordered_multimap &table) (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_multimap(concurrent_unordered_multimap &&table) (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_multimap(concurrent_unordered_multimap &&table, const Allocator &a) (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_multimap(const concurrent_unordered_multimap &table, const Allocator &a) (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >inline
    const_iterator typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    const_local_iterator typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    const_pointer typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    const_reference typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    difference_type typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    hasher typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    iterator typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    key_compare typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    key_equal typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    key_type typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    local_iterator typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    mapped_type typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    operator=(const concurrent_unordered_multimap &table) (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >inline
    operator=(concurrent_unordered_multimap &&table) (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >inline
    pointer typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    reference typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    size_type typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    value_type typedef (defined in tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multimap< Key, T, Hasher, Key_equality, Allocator >
    operator delete(void *p) (defined in tbb::interface5::reader_writer_lock::scoped_lock)tbb::interface5::reader_writer_lock::scoped_lockinline
    operator new(size_t s) (defined in tbb::interface5::reader_writer_lock::scoped_lock)tbb::interface5::reader_writer_lock::scoped_lockinline
    reader_writer_lock (defined in tbb::interface5::reader_writer_lock::scoped_lock)tbb::interface5::reader_writer_lock::scoped_lockfriend
    scoped_lock(reader_writer_lock &lock)tbb::interface5::reader_writer_lock::scoped_lockinline
    ~scoped_lock()tbb::interface5::reader_writer_lock::scoped_lockinline

    diff --git a/doc/html/a00377.html b/doc/html/a00377.html index faaf4b3..eee3f49 100644 --- a/doc/html/a00377.html +++ b/doc/html/a00377.html @@ -33,26 +33,22 @@
    -
    tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping > Member List
    +
    tbb::interface5::reader_writer_lock::scoped_lock_read Member List
    -

    This is the complete list of members for tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >, including all inherited members.

    +

    This is the complete list of members for tbb::interface5::reader_writer_lock::scoped_lock_read, including all inherited members.

    - - - - - - - - - + + + + +
    allocator_type typedef (defined in tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >protected
    allow_multimapping enum value (defined in tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >protected
    concurrent_unordered_set_traits() (defined in tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >inlineprotected
    concurrent_unordered_set_traits(const hash_compare &hc) (defined in tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >inlineprotected
    get_key(const value_type &value) (defined in tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >inlineprotectedstatic
    hash_compare typedef (defined in tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >protected
    key_type typedef (defined in tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >protected
    my_hash_compare (defined in tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >protected
    value_type typedef (defined in tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >)tbb::interface5::concurrent_unordered_set_traits< Key, Hash_compare, Allocator, Allow_multimapping >protected
    operator delete(void *p) (defined in tbb::interface5::reader_writer_lock::scoped_lock_read)tbb::interface5::reader_writer_lock::scoped_lock_readinline
    operator new(size_t s) (defined in tbb::interface5::reader_writer_lock::scoped_lock_read)tbb::interface5::reader_writer_lock::scoped_lock_readinline
    reader_writer_lock (defined in tbb::interface5::reader_writer_lock::scoped_lock_read)tbb::interface5::reader_writer_lock::scoped_lock_readfriend
    scoped_lock_read(reader_writer_lock &lock)tbb::interface5::reader_writer_lock::scoped_lock_readinline
    ~scoped_lock_read()tbb::interface5::reader_writer_lock::scoped_lock_readinline

    diff --git a/doc/html/a00378.html b/doc/html/a00378.html index 2f158b4..db716c9 100644 --- a/doc/html/a00378.html +++ b/doc/html/a00378.html @@ -33,44 +33,19 @@
    -
    tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator > Member List
    +
    tbb::interface5::internal::use_element_copy_constructor< T, C > Member List
    -

    This is the complete list of members for tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >, including all inherited members.

    +

    This is the complete list of members for tbb::interface5::internal::use_element_copy_constructor< T, C >, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
    allocator_type typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    concurrent_unordered_set(size_type n_of_buckets=base_type::initial_bucket_number, const hasher &a_hasher=hasher(), const key_equal &a_keyeq=key_equal(), const allocator_type &a=allocator_type()) (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >inlineexplicit
    concurrent_unordered_set(const Allocator &a) (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >inlineexplicit
    concurrent_unordered_set(Iterator first, Iterator last, size_type n_of_buckets=base_type::initial_bucket_number, const hasher &a_hasher=hasher(), const key_equal &a_keyeq=key_equal(), const allocator_type &a=allocator_type()) (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_set(std::initializer_list< value_type > il, size_type n_of_buckets=base_type::initial_bucket_number, const hasher &a_hasher=hasher(), const key_equal &a_keyeq=key_equal(), const allocator_type &a=allocator_type())tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_set(const concurrent_unordered_set &table) (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_set(concurrent_unordered_set &&table) (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_set(concurrent_unordered_set &&table, const Allocator &a) (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_set(const concurrent_unordered_set &table, const Allocator &a) (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >inline
    const_iterator typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    const_local_iterator typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    const_pointer typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    const_reference typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    difference_type typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    hasher typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    iterator typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    key_compare typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    key_equal typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    key_type typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    local_iterator typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    mapped_type typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    operator=(const concurrent_unordered_set &table) (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >inline
    operator=(concurrent_unordered_set &&table) (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >inline
    pointer typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    reference typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    size_type typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    value_type typedef (defined in tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
    type typedef (defined in tbb::interface5::internal::use_element_copy_constructor< T, C >)tbb::interface5::internal::use_element_copy_constructor< T, C >
    type typedef (defined in tbb::interface5::internal::use_element_copy_constructor< T, C >)tbb::interface5::internal::use_element_copy_constructor< T, C >

    diff --git a/doc/html/a00379.html b/doc/html/a00379.html index 7f20f05..d67152a 100644 --- a/doc/html/a00379.html +++ b/doc/html/a00379.html @@ -33,44 +33,18 @@
    -
    tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator > Member List
    +
    tbb::interface5::internal::use_element_copy_constructor< T, false > Member List
    -

    This is the complete list of members for tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >, including all inherited members.

    +

    This is the complete list of members for tbb::interface5::internal::use_element_copy_constructor< T, false >, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - +
    allocator_type typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    concurrent_unordered_multiset(size_type n_of_buckets=base_type::initial_bucket_number, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type()) (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >inlineexplicit
    concurrent_unordered_multiset(const Allocator &a) (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >inlineexplicit
    concurrent_unordered_multiset(Iterator first, Iterator last, size_type n_of_buckets=base_type::initial_bucket_number, const hasher &_Hasher=hasher(), const key_equal &_Key_equality=key_equal(), const allocator_type &a=allocator_type()) (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_multiset(std::initializer_list< value_type > il, size_type n_of_buckets=base_type::initial_bucket_number, const hasher &a_hasher=hasher(), const key_equal &a_keyeq=key_equal(), const allocator_type &a=allocator_type())tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_multiset(const concurrent_unordered_multiset &table) (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_multiset(concurrent_unordered_multiset &&table) (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_multiset(concurrent_unordered_multiset &&table, const Allocator &a) (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >inline
    concurrent_unordered_multiset(const concurrent_unordered_multiset &table, const Allocator &a) (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >inline
    const_iterator typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    const_local_iterator typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    const_pointer typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    const_reference typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    difference_type typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    hasher typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    iterator typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    key_compare typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    key_equal typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    key_type typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    local_iterator typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    mapped_type typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    operator=(const concurrent_unordered_multiset &table) (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >inline
    operator=(concurrent_unordered_multiset &&table) (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >inline
    pointer typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    reference typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    size_type typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    value_type typedef (defined in tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >)tbb::interface5::concurrent_unordered_multiset< Key, Hasher, Key_equality, Allocator >
    type typedef (defined in tbb::interface5::internal::use_element_copy_constructor< T, false >)tbb::interface5::internal::use_element_copy_constructor< T, false >

    diff --git a/doc/html/a00380.html b/doc/html/a00380.html index 9258239..403afbb 100644 --- a/doc/html/a00380.html +++ b/doc/html/a00380.html @@ -33,31 +33,26 @@
    -
    tbb::interface5::reader_writer_lock Member List
    +
    tbb::interface6::aggregator_operation Member List
    -

    This is the complete list of members for tbb::interface5::reader_writer_lock, including all inherited members.

    +

    This is the complete list of members for tbb::interface6::aggregator_operation, including all inherited members.

    - - - - - - - - - - - - - - + + + + + + + + +
    active enum value (defined in tbb::interface5::reader_writer_lock)tbb::interface5::reader_writer_lock
    invalid enum value (defined in tbb::interface5::reader_writer_lock)tbb::interface5::reader_writer_lock
    lock()tbb::interface5::reader_writer_lock
    lock_read()tbb::interface5::reader_writer_lock
    reader_writer_lock()tbb::interface5::reader_writer_lockinline
    scoped_lock (defined in tbb::interface5::reader_writer_lock)tbb::interface5::reader_writer_lockfriend
    scoped_lock_read (defined in tbb::interface5::reader_writer_lock)tbb::interface5::reader_writer_lockfriend
    status_t enum nametbb::interface5::reader_writer_lock
    try_lock()tbb::interface5::reader_writer_lock
    try_lock_read()tbb::interface5::reader_writer_lock
    unlock()tbb::interface5::reader_writer_lock
    waiting enum value (defined in tbb::interface5::reader_writer_lock)tbb::interface5::reader_writer_lock
    waiting_nonblocking enum value (defined in tbb::interface5::reader_writer_lock)tbb::interface5::reader_writer_lock
    ~reader_writer_lock()tbb::interface5::reader_writer_lockinline
    agg_finished enum value (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operation
    agg_waiting enum value (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operation
    aggregator_ext (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operationfriend
    aggregator_operation() (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operationinline
    aggregator_operation_status enum name (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operation
    finish()tbb::interface6::aggregator_operationinline
    next() (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operationinline
    set_next(aggregator_operation *n) (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operationinline
    start()tbb::interface6::aggregator_operationinline

    diff --git a/doc/html/a00381.html b/doc/html/a00381.html index 9635862..34a462b 100644 --- a/doc/html/a00381.html +++ b/doc/html/a00381.html @@ -33,22 +33,20 @@
    -
    tbb::interface5::reader_writer_lock::scoped_lock Member List
    +
    tbb::interface6::aggregator_ext< handler_type > Member List

    diff --git a/doc/html/a00382.html b/doc/html/a00382.html index 6aeacac..fc4b2ae 100644 --- a/doc/html/a00382.html +++ b/doc/html/a00382.html @@ -33,22 +33,22 @@
    -
    tbb::interface5::reader_writer_lock::scoped_lock_read Member List
    +
    tbb::interface6::aggregator Member List

    diff --git a/doc/html/a00383.html b/doc/html/a00383.html index 31932da..5bcdb7a 100644 --- a/doc/html/a00383.html +++ b/doc/html/a00383.html @@ -33,19 +33,21 @@
    -
    tbb::interface5::internal::use_element_copy_constructor< T, C > Member List
    +
    tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type > Member List
    -

    This is the complete list of members for tbb::interface5::internal::use_element_copy_constructor< T, C >, including all inherited members.

    +

    This is the complete list of members for tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >, including all inherited members.

    - - + + + +
    type typedef (defined in tbb::interface5::internal::use_element_copy_constructor< T, C >)tbb::interface5::internal::use_element_copy_constructor< T, C >
    type typedef (defined in tbb::interface5::internal::use_element_copy_constructor< T, C >)tbb::interface5::internal::use_element_copy_constructor< T, C >
    concurrent_lru_cache(value_function_type f, std::size_t number_of_lru_history_items) (defined in tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >)tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >inline
    handle typedef (defined in tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >)tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >
    operator[](key_type k) (defined in tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >)tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >inline
    tbb::internal::aggregating_functor< self_type, aggregated_operation_type > (defined in tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >)tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >friend

    diff --git a/doc/html/a00384.html b/doc/html/a00384.html index c548638..893123c 100644 --- a/doc/html/a00384.html +++ b/doc/html/a00384.html @@ -33,18 +33,57 @@
    -
    tbb::interface5::internal::use_element_copy_constructor< T, false > Member List
    +
    tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type > Member List
    -

    This is the complete list of members for tbb::interface5::internal::use_element_copy_constructor< T, false >, including all inherited members.

    +

    This is the complete list of members for tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >, including all inherited members.

    - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    type typedef (defined in tbb::interface5::internal::use_element_copy_constructor< T, false >)tbb::interface5::internal::use_element_copy_constructor< T, false >
    allocator_type typedeftbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
    begin()tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    begin() const tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    clear()tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    combine(combine_func_t f_combine) (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    combine_each(combine_func_t f_combine) (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    const_iterator typedef (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
    const_pointer typedef (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
    const_range_type typedef (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
    const_reference typedef (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
    difference_type typedef (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
    empty() const tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    end()tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    end() const tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    enumerable_thread_specific (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >friend
    enumerable_thread_specific()tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    enumerable_thread_specific(Finit finit)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inlineexplicit
    enumerable_thread_specific(const T &exemplar)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inlineexplicit
    enumerable_thread_specific(T &&exemplar) (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inlineexplicit
    enumerable_thread_specific(P1 &&arg1, P &&...args)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    enumerable_thread_specific(const enumerable_thread_specific &other) (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    enumerable_thread_specific(const enumerable_thread_specific< T, Alloc, Cachetype > &other) (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    enumerable_thread_specific(enumerable_thread_specific &&other) (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    enumerable_thread_specific(enumerable_thread_specific< T, Alloc, Cachetype > &&other) (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    iterator typedef (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
    local()tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    local(bool &exists)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    operator=(const enumerable_thread_specific &other) (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    operator=(const enumerable_thread_specific< T, Alloc, Cachetype > &other) (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    operator=(enumerable_thread_specific &&other) (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    operator=(enumerable_thread_specific< T, Alloc, Cachetype > &&other) (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    pointer typedef (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
    range(size_t grainsize=1)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    range(size_t grainsize=1) const tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    range_type typedef (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
    reference typedef (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
    size() const tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    size_type typedef (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
    value_type typedef (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
    ~enumerable_thread_specific()tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline

    diff --git a/doc/html/a00385.html b/doc/html/a00385.html index 42567fd..f97e9f6 100644 --- a/doc/html/a00385.html +++ b/doc/html/a00385.html @@ -33,26 +33,34 @@
    -
    tbb::interface6::aggregator_operation Member List
    +
    tbb::interface6::flattened2d< Container > Member List
    -

    This is the complete list of members for tbb::interface6::aggregator_operation, including all inherited members.

    +

    This is the complete list of members for tbb::interface6::flattened2d< Container >, including all inherited members.

    - - - - - - - - - + + + + + + + + + + + + + + + + +
    agg_finished enum value (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operation
    agg_waiting enum value (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operation
    aggregator_ext (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operationfriend
    aggregator_operation() (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operationinline
    aggregator_operation_status enum name (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operation
    finish()tbb::interface6::aggregator_operationinline
    next() (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operationinline
    set_next(aggregator_operation *n) (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operationinline
    start()tbb::interface6::aggregator_operationinline
    allocator_type typedef (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >
    begin() (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >inline
    begin() const (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >inline
    const_iterator typedef (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >
    const_pointer typedef (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >
    const_reference typedef (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >
    difference_type typedef (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >
    end() (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >inline
    end() const (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >inline
    flattened2d(const Container &c, typename Container::const_iterator b, typename Container::const_iterator e) (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >inline
    flattened2d(const Container &c) (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >inlineexplicit
    iterator typedef (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >
    pointer typedef (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >
    reference typedef (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >
    size() const (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >inline
    size_type typedeftbb::interface6::flattened2d< Container >
    value_type typedef (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >

    diff --git a/doc/html/a00386.html b/doc/html/a00386.html index fddb953..234dc0e 100644 --- a/doc/html/a00386.html +++ b/doc/html/a00386.html @@ -33,20 +33,41 @@
    -
    tbb::interface6::aggregator_ext< handler_type > Member List
    +
    tbb::interface6::memory_pool_allocator< T, P > Member List
    -

    This is the complete list of members for tbb::interface6::aggregator_ext< handler_type >, including all inherited members.

    +

    This is the complete list of members for tbb::interface6::memory_pool_allocator< T, P >, including all inherited members.

    - - - + + + + + + + + + + + + + + + + + + + + + + + +
    aggregator_ext(const handler_type &h) (defined in tbb::interface6::aggregator_ext< handler_type >)tbb::interface6::aggregator_ext< handler_type >inline
    execute_impl(aggregator_operation &op)tbb::interface6::aggregator_ext< handler_type >inlineprotected
    process(aggregator_operation *op)tbb::interface6::aggregator_ext< handler_type >inline
    address(reference x) const (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >inline
    address(const_reference x) const (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >inline
    allocate(size_type n, const void *=0)tbb::interface6::memory_pool_allocator< T, P >inline
    const_pointer typedef (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >
    const_reference typedef (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >
    construct(U *p, Args &&...args)tbb::interface6::memory_pool_allocator< T, P >inline
    construct(pointer p, value_type &&value) (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >inline
    construct(pointer p, const value_type &value) (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >inline
    deallocate(pointer p, size_type)tbb::interface6::memory_pool_allocator< T, P >inline
    destroy(pointer p)tbb::interface6::memory_pool_allocator< T, P >inline
    difference_type typedef (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >
    max_size() const tbb::interface6::memory_pool_allocator< T, P >inline
    memory_pool_allocator (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >friend
    memory_pool_allocator(pool_type &pool) (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >inlineexplicit
    memory_pool_allocator(const memory_pool_allocator &src) (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >inline
    memory_pool_allocator(const memory_pool_allocator< U, P > &src) (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >inline
    my_pool (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >protected
    operator!= (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >friend
    operator== (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >friend
    pointer typedef (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >
    pool_type typedef (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >protected
    reference typedef (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >
    size_type typedef (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >
    value_type typedef (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >

    diff --git a/doc/html/a00387.html b/doc/html/a00387.html index 0245693..83f4250 100644 --- a/doc/html/a00387.html +++ b/doc/html/a00387.html @@ -33,22 +33,18 @@
    -
    tbb::interface6::aggregator Member List
    +
    tbb::interface6::memory_pool_allocator< T, P >::rebind< U > Member List
    -

    This is the complete list of members for tbb::interface6::aggregator, including all inherited members.

    +

    This is the complete list of members for tbb::interface6::memory_pool_allocator< T, P >::rebind< U >, including all inherited members.

    - - - - - +
    aggregator() (defined in tbb::interface6::aggregator)tbb::interface6::aggregatorinline
    aggregator_ext(const internal::basic_handler &h) (defined in tbb::interface6::aggregator_ext< internal::basic_handler >)tbb::interface6::aggregator_ext< internal::basic_handler >inlineprivate
    execute(const Body &b)tbb::interface6::aggregatorinline
    execute_impl(aggregator_operation &op)tbb::interface6::aggregator_ext< internal::basic_handler >inlineprivate
    process(aggregator_operation *op)tbb::interface6::aggregator_ext< internal::basic_handler >inlineprivate
    other typedef (defined in tbb::interface6::memory_pool_allocator< T, P >::rebind< U >)tbb::interface6::memory_pool_allocator< T, P >::rebind< U >

    diff --git a/doc/html/a00388.html b/doc/html/a00388.html index 275ac2f..2d297ca 100644 --- a/doc/html/a00388.html +++ b/doc/html/a00388.html @@ -33,21 +33,28 @@
    -
    tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type > Member List
    +
    tbb::interface6::memory_pool_allocator< void, P > Member List
    -

    This is the complete list of members for tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >, including all inherited members.

    +

    This is the complete list of members for tbb::interface6::memory_pool_allocator< void, P >, including all inherited members.

    - - - - + + + + + + + + + + +
    concurrent_lru_cache(value_function_type f, std::size_t number_of_lru_history_items) (defined in tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >)tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >inline
    handle typedef (defined in tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >)tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >
    operator[](key_type k) (defined in tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >)tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >inline
    tbb::internal::aggregating_functor< self_type, aggregated_operation_type > (defined in tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >)tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >friend
    const_pointer typedef (defined in tbb::interface6::memory_pool_allocator< void, P >)tbb::interface6::memory_pool_allocator< void, P >
    memory_pool_allocator (defined in tbb::interface6::memory_pool_allocator< void, P >)tbb::interface6::memory_pool_allocator< void, P >friend
    memory_pool_allocator(pool_type &pool) (defined in tbb::interface6::memory_pool_allocator< void, P >)tbb::interface6::memory_pool_allocator< void, P >inlineexplicit
    memory_pool_allocator(const memory_pool_allocator &src) (defined in tbb::interface6::memory_pool_allocator< void, P >)tbb::interface6::memory_pool_allocator< void, P >inline
    memory_pool_allocator(const memory_pool_allocator< U, P > &src) (defined in tbb::interface6::memory_pool_allocator< void, P >)tbb::interface6::memory_pool_allocator< void, P >inline
    my_pool (defined in tbb::interface6::memory_pool_allocator< void, P >)tbb::interface6::memory_pool_allocator< void, P >protected
    operator!= (defined in tbb::interface6::memory_pool_allocator< void, P >)tbb::interface6::memory_pool_allocator< void, P >friend
    operator== (defined in tbb::interface6::memory_pool_allocator< void, P >)tbb::interface6::memory_pool_allocator< void, P >friend
    pointer typedef (defined in tbb::interface6::memory_pool_allocator< void, P >)tbb::interface6::memory_pool_allocator< void, P >
    pool_type typedef (defined in tbb::interface6::memory_pool_allocator< void, P >)tbb::interface6::memory_pool_allocator< void, P >
    value_type typedef (defined in tbb::interface6::memory_pool_allocator< void, P >)tbb::interface6::memory_pool_allocator< void, P >

    diff --git a/doc/html/a00389.html b/doc/html/a00389.html index 04cebda..9d4e4da 100644 --- a/doc/html/a00389.html +++ b/doc/html/a00389.html @@ -33,57 +33,18 @@
    -
    tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type > Member List
    +
    tbb::interface6::memory_pool_allocator< void, P >::rebind< U > Member List
    -

    This is the complete list of members for tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >, including all inherited members.

    +

    This is the complete list of members for tbb::interface6::memory_pool_allocator< void, P >::rebind< U >, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
    allocator_type typedeftbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
    begin()tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    begin() const tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    clear()tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    combine(combine_func_t f_combine) (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    combine_each(combine_func_t f_combine) (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    const_iterator typedef (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
    const_pointer typedef (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
    const_range_type typedef (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
    const_reference typedef (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
    difference_type typedef (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
    empty() const tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    end()tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    end() const tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    enumerable_thread_specific (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >friend
    enumerable_thread_specific()tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    enumerable_thread_specific(Finit finit)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inlineexplicit
    enumerable_thread_specific(const T &exemplar)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inlineexplicit
    enumerable_thread_specific(T &&exemplar) (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inlineexplicit
    enumerable_thread_specific(P1 &&arg1, P &&...args)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    enumerable_thread_specific(const enumerable_thread_specific &other) (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    enumerable_thread_specific(const enumerable_thread_specific< T, Alloc, Cachetype > &other) (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    enumerable_thread_specific(enumerable_thread_specific &&other) (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    enumerable_thread_specific(enumerable_thread_specific< T, Alloc, Cachetype > &&other) (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    iterator typedef (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
    local()tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    local(bool &exists)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    operator=(const enumerable_thread_specific &other) (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    operator=(const enumerable_thread_specific< T, Alloc, Cachetype > &other) (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    operator=(enumerable_thread_specific &&other) (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    operator=(enumerable_thread_specific< T, Alloc, Cachetype > &&other) (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    pointer typedef (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
    range(size_t grainsize=1)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    range(size_t grainsize=1) const tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    range_type typedef (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
    reference typedef (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
    size() const tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    size_type typedef (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
    value_type typedef (defined in tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >)tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
    ~enumerable_thread_specific()tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >inline
    other typedef (defined in tbb::interface6::memory_pool_allocator< void, P >::rebind< U >)tbb::interface6::memory_pool_allocator< void, P >::rebind< U >

    diff --git a/doc/html/a00390.html b/doc/html/a00390.html index 2fe76dd..201a614 100644 --- a/doc/html/a00390.html +++ b/doc/html/a00390.html @@ -33,34 +33,19 @@
    -
    tbb::interface6::flattened2d< Container > Member List
    +
    tbb::interface6::memory_pool< Alloc > Member List
    -

    This is the complete list of members for tbb::interface6::flattened2d< Container >, including all inherited members.

    +

    This is the complete list of members for tbb::interface6::memory_pool< Alloc >, including all inherited members.

    - - - - - - - - - - - - - - - - - + +
    allocator_type typedef (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >
    begin() (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >inline
    begin() const (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >inline
    const_iterator typedef (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >
    const_pointer typedef (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >
    const_reference typedef (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >
    difference_type typedef (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >
    end() (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >inline
    end() const (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >inline
    flattened2d(const Container &c, typename Container::const_iterator b, typename Container::const_iterator e) (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >inline
    flattened2d(const Container &c) (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >inlineexplicit
    iterator typedef (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >
    pointer typedef (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >
    reference typedef (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >
    size() const (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >inline
    size_type typedeftbb::interface6::flattened2d< Container >
    value_type typedef (defined in tbb::interface6::flattened2d< Container >)tbb::interface6::flattened2d< Container >
    memory_pool(const Alloc &src=Alloc())tbb::interface6::memory_pool< Alloc >explicit
    ~memory_pool()tbb::interface6::memory_pool< Alloc >inline

    diff --git a/doc/html/a00391.html b/doc/html/a00391.html index 01d7a6c..fcc40e8 100644 --- a/doc/html/a00391.html +++ b/doc/html/a00391.html @@ -33,41 +33,19 @@
    -
    tbb::interface6::memory_pool_allocator< T, P > Member List
    +
    tbb::interface6::fixed_pool Member List
    -

    This is the complete list of members for tbb::interface6::memory_pool_allocator< T, P >, including all inherited members.

    +

    This is the complete list of members for tbb::interface6::fixed_pool, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - + +
    address(reference x) const (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >inline
    address(const_reference x) const (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >inline
    allocate(size_type n, const void *=0)tbb::interface6::memory_pool_allocator< T, P >inline
    const_pointer typedef (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >
    const_reference typedef (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >
    construct(U *p, Args &&...args)tbb::interface6::memory_pool_allocator< T, P >inline
    construct(pointer p, value_type &&value) (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >inline
    construct(pointer p, const value_type &value) (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >inline
    deallocate(pointer p, size_type)tbb::interface6::memory_pool_allocator< T, P >inline
    destroy(pointer p)tbb::interface6::memory_pool_allocator< T, P >inline
    difference_type typedef (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >
    max_size() const tbb::interface6::memory_pool_allocator< T, P >inline
    memory_pool_allocator (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >friend
    memory_pool_allocator(pool_type &pool) (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >inlineexplicit
    memory_pool_allocator(const memory_pool_allocator &src) (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >inline
    memory_pool_allocator(const memory_pool_allocator< U, P > &src) (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >inline
    my_pool (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >protected
    operator!= (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >friend
    operator== (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >friend
    pointer typedef (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >
    pool_type typedef (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >protected
    reference typedef (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >
    size_type typedef (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >
    value_type typedef (defined in tbb::interface6::memory_pool_allocator< T, P >)tbb::interface6::memory_pool_allocator< T, P >
    fixed_pool(void *buf, size_t size)tbb::interface6::fixed_poolinline
    ~fixed_pool()tbb::interface6::fixed_poolinline

    diff --git a/doc/html/a00392.html b/doc/html/a00392.html index db9fbeb..5a9d15a 100644 --- a/doc/html/a00392.html +++ b/doc/html/a00392.html @@ -33,18 +33,19 @@
    -
    tbb::interface6::memory_pool_allocator< T, P >::rebind< U > Member List
    +
    tbb::interface6::flow_control Member List
    -

    This is the complete list of members for tbb::interface6::memory_pool_allocator< T, P >::rebind< U >, including all inherited members.

    +

    This is the complete list of members for tbb::interface6::flow_control, including all inherited members.

    - + +
    other typedef (defined in tbb::interface6::memory_pool_allocator< T, P >::rebind< U >)tbb::interface6::memory_pool_allocator< T, P >::rebind< U >
    internal::concrete_filter (defined in tbb::interface6::flow_control)tbb::interface6::flow_controlfriend
    stop() (defined in tbb::interface6::flow_control)tbb::interface6::flow_controlinline

    diff --git a/doc/html/a00393.html b/doc/html/a00393.html index 0ef4603..052ca60 100644 --- a/doc/html/a00393.html +++ b/doc/html/a00393.html @@ -33,28 +33,26 @@
    -
    tbb::interface6::memory_pool_allocator< void, P > Member List
    +
    tbb::interface6::filter_t< T, U > Member List
    -

    This is the complete list of members for tbb::interface6::memory_pool_allocator< void, P >, including all inherited members.

    +

    This is the complete list of members for tbb::interface6::filter_t< T, U >, including all inherited members.

    - - - - - - - - - - - + + + + + + + + +
    const_pointer typedef (defined in tbb::interface6::memory_pool_allocator< void, P >)tbb::interface6::memory_pool_allocator< void, P >
    memory_pool_allocator (defined in tbb::interface6::memory_pool_allocator< void, P >)tbb::interface6::memory_pool_allocator< void, P >friend
    memory_pool_allocator(pool_type &pool) (defined in tbb::interface6::memory_pool_allocator< void, P >)tbb::interface6::memory_pool_allocator< void, P >inlineexplicit
    memory_pool_allocator(const memory_pool_allocator &src) (defined in tbb::interface6::memory_pool_allocator< void, P >)tbb::interface6::memory_pool_allocator< void, P >inline
    memory_pool_allocator(const memory_pool_allocator< U, P > &src) (defined in tbb::interface6::memory_pool_allocator< void, P >)tbb::interface6::memory_pool_allocator< void, P >inline
    my_pool (defined in tbb::interface6::memory_pool_allocator< void, P >)tbb::interface6::memory_pool_allocator< void, P >protected
    operator!= (defined in tbb::interface6::memory_pool_allocator< void, P >)tbb::interface6::memory_pool_allocator< void, P >friend
    operator== (defined in tbb::interface6::memory_pool_allocator< void, P >)tbb::interface6::memory_pool_allocator< void, P >friend
    pointer typedef (defined in tbb::interface6::memory_pool_allocator< void, P >)tbb::interface6::memory_pool_allocator< void, P >
    pool_type typedef (defined in tbb::interface6::memory_pool_allocator< void, P >)tbb::interface6::memory_pool_allocator< void, P >
    value_type typedef (defined in tbb::interface6::memory_pool_allocator< void, P >)tbb::interface6::memory_pool_allocator< void, P >
    clear() (defined in tbb::interface6::filter_t< T, U >)tbb::interface6::filter_t< T, U >inline
    filter_t() (defined in tbb::interface6::filter_t< T, U >)tbb::interface6::filter_t< T, U >inline
    filter_t(const filter_t< T, U > &rhs) (defined in tbb::interface6::filter_t< T, U >)tbb::interface6::filter_t< T, U >inline
    filter_t(tbb::filter::mode mode, const Body &body) (defined in tbb::interface6::filter_t< T, U >)tbb::interface6::filter_t< T, U >inline
    internal::pipeline_proxy (defined in tbb::interface6::filter_t< T, U >)tbb::interface6::filter_t< T, U >friend
    make_filter(tbb::filter::mode, const Body &)tbb::interface6::filter_t< T, U >friend
    operator& (defined in tbb::interface6::filter_t< T, U >)tbb::interface6::filter_t< T, U >friend
    operator=(const filter_t< T, U > &rhs) (defined in tbb::interface6::filter_t< T, U >)tbb::interface6::filter_t< T, U >inline
    ~filter_t() (defined in tbb::interface6::filter_t< T, U >)tbb::interface6::filter_t< T, U >inline

    diff --git a/doc/html/a00394.html b/doc/html/a00394.html index 19daaca..fb6e80c 100644 --- a/doc/html/a00394.html +++ b/doc/html/a00394.html @@ -33,18 +33,33 @@
    -
    tbb::interface6::memory_pool_allocator< void, P >::rebind< U > Member List
    +
    tbb::interface6::runtime_loader Member List

    diff --git a/doc/html/a00395.html b/doc/html/a00395.html index 32594fb..c3c216c 100644 --- a/doc/html/a00395.html +++ b/doc/html/a00395.html @@ -33,19 +33,32 @@
    -
    tbb::interface6::memory_pool< Alloc > Member List
    +
    tbb::interface6::task_scheduler_observer Member List
    -

    This is the complete list of members for tbb::interface6::memory_pool< Alloc >, including all inherited members.

    +

    This is the complete list of members for tbb::interface6::task_scheduler_observer, including all inherited members.

    - - + + + + + + + + + + + + + + +
    memory_pool(const Alloc &src=Alloc())tbb::interface6::memory_pool< Alloc >explicit
    ~memory_pool()tbb::interface6::memory_pool< Alloc >inline
    allow_sleep enum value (defined in tbb::interface6::task_scheduler_observer)tbb::interface6::task_scheduler_observer
    internal::observer_list (defined in tbb::interface6::task_scheduler_observer)tbb::interface6::task_scheduler_observerfriend
    internal::observer_proxy (defined in tbb::interface6::task_scheduler_observer)tbb::interface6::task_scheduler_observerfriend
    internal::task_scheduler_observer_v3 (defined in tbb::interface6::task_scheduler_observer)tbb::interface6::task_scheduler_observerfriend
    is_observing() const tbb::internal::task_scheduler_observer_v3inline
    keep_awake enum value (defined in tbb::interface6::task_scheduler_observer)tbb::interface6::task_scheduler_observer
    may_sleep()tbb::interface6::task_scheduler_observerinlinevirtual
    observe(bool state=true)tbb::interface6::task_scheduler_observerinline
    on_scheduler_entry(bool)tbb::internal::task_scheduler_observer_v3inlinevirtual
    on_scheduler_exit(bool)tbb::internal::task_scheduler_observer_v3inlinevirtual
    task_scheduler_observer(bool local=false)tbb::interface6::task_scheduler_observerinlineexplicit
    task_scheduler_observer(task_arena &a)tbb::interface6::task_scheduler_observerinlineexplicit
    task_scheduler_observer_v3()tbb::internal::task_scheduler_observer_v3inline
    ~task_scheduler_observer()tbb::interface6::task_scheduler_observerinlinevirtual
    ~task_scheduler_observer_v3()tbb::internal::task_scheduler_observer_v3inlinevirtual

    diff --git a/doc/html/a00396.html b/doc/html/a00396.html index 96010dd..2979c32 100644 --- a/doc/html/a00396.html +++ b/doc/html/a00396.html @@ -33,19 +33,28 @@
    -
    tbb::interface6::fixed_pool Member List
    +
    tbb::interface6::internal::basic_operation_base Member List
    -

    This is the complete list of members for tbb::interface6::fixed_pool, including all inherited members.

    +

    This is the complete list of members for tbb::interface6::internal::basic_operation_base, including all inherited members.

    - - + + + + + + + + + + +
    fixed_pool(void *buf, size_t size)tbb::interface6::fixed_poolinline
    ~fixed_pool()tbb::interface6::fixed_poolinline
    agg_finished enum value (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operation
    agg_waiting enum value (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operation
    aggregator_operation() (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operationinline
    aggregator_operation_status enum name (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operation
    basic_handler (defined in tbb::interface6::internal::basic_operation_base)tbb::interface6::internal::basic_operation_basefriend
    basic_operation_base() (defined in tbb::interface6::internal::basic_operation_base)tbb::interface6::internal::basic_operation_baseinline
    finish()tbb::interface6::aggregator_operationinline
    next() (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operationinline
    set_next(aggregator_operation *n) (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operationinline
    start()tbb::interface6::aggregator_operationinline
    ~basic_operation_base() (defined in tbb::interface6::internal::basic_operation_base)tbb::interface6::internal::basic_operation_baseinlinevirtual

    diff --git a/doc/html/a00397.html b/doc/html/a00397.html index ee4b653..2f8fe02 100644 --- a/doc/html/a00397.html +++ b/doc/html/a00397.html @@ -33,19 +33,28 @@
    -
    tbb::interface6::flow_control Member List
    +
    tbb::interface6::internal::basic_operation< Body > Member List
    -

    This is the complete list of members for tbb::interface6::flow_control, including all inherited members.

    +

    This is the complete list of members for tbb::interface6::internal::basic_operation< Body >, including all inherited members.

    - - + + + + + + + + + + +
    internal::concrete_filter (defined in tbb::interface6::flow_control)tbb::interface6::flow_controlfriend
    stop() (defined in tbb::interface6::flow_control)tbb::interface6::flow_controlinline
    agg_finished enum value (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operation
    agg_waiting enum value (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operation
    aggregator_operation() (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operationinline
    aggregator_operation_status enum name (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operation
    basic_operation(const Body &b) (defined in tbb::interface6::internal::basic_operation< Body >)tbb::interface6::internal::basic_operation< Body >inline
    basic_operation_base() (defined in tbb::interface6::internal::basic_operation_base)tbb::interface6::internal::basic_operation_baseinline
    finish()tbb::interface6::aggregator_operationinline
    next() (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operationinline
    set_next(aggregator_operation *n) (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operationinline
    start()tbb::interface6::aggregator_operationinline
    ~basic_operation_base() (defined in tbb::interface6::internal::basic_operation_base)tbb::interface6::internal::basic_operation_baseinlinevirtual

    diff --git a/doc/html/a00398.html b/doc/html/a00398.html index 85c05a3..4f582de 100644 --- a/doc/html/a00398.html +++ b/doc/html/a00398.html @@ -33,26 +33,19 @@
    -
    tbb::interface6::filter_t< T, U > Member List
    +
    tbb::interface6::internal::basic_handler Member List
    -

    This is the complete list of members for tbb::interface6::filter_t< T, U >, including all inherited members.

    +

    This is the complete list of members for tbb::interface6::internal::basic_handler, including all inherited members.

    - - - - - - - - - + +
    clear() (defined in tbb::interface6::filter_t< T, U >)tbb::interface6::filter_t< T, U >inline
    filter_t() (defined in tbb::interface6::filter_t< T, U >)tbb::interface6::filter_t< T, U >inline
    filter_t(const filter_t< T, U > &rhs) (defined in tbb::interface6::filter_t< T, U >)tbb::interface6::filter_t< T, U >inline
    filter_t(tbb::filter::mode mode, const Body &body) (defined in tbb::interface6::filter_t< T, U >)tbb::interface6::filter_t< T, U >inline
    internal::pipeline_proxy (defined in tbb::interface6::filter_t< T, U >)tbb::interface6::filter_t< T, U >friend
    make_filter(tbb::filter::mode, const Body &)tbb::interface6::filter_t< T, U >friend
    operator& (defined in tbb::interface6::filter_t< T, U >)tbb::interface6::filter_t< T, U >friend
    operator=(const filter_t< T, U > &rhs) (defined in tbb::interface6::filter_t< T, U >)tbb::interface6::filter_t< T, U >inline
    ~filter_t() (defined in tbb::interface6::filter_t< T, U >)tbb::interface6::filter_t< T, U >inline
    basic_handler() (defined in tbb::interface6::internal::basic_handler)tbb::interface6::internal::basic_handlerinline
    operator()(aggregator_operation *op_list) const (defined in tbb::interface6::internal::basic_handler)tbb::interface6::internal::basic_handlerinline

    diff --git a/doc/html/a00399.html b/doc/html/a00399.html index e65163a..5682d17 100644 --- a/doc/html/a00399.html +++ b/doc/html/a00399.html @@ -33,33 +33,37 @@
    -
    tbb::interface6::runtime_loader Member List
    +
    tbb::interface7::task_arena Member List
    -

    This is the complete list of members for tbb::interface6::runtime_loader, including all inherited members.

    +

    This is the complete list of members for tbb::interface7::task_arena, including all inherited members.

    - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + +
    ec_bad_arg enum valuetbb::interface6::runtime_loader
    ec_bad_call enum valuetbb::interface6::runtime_loader
    ec_bad_lib enum valuetbb::interface6::runtime_loader
    ec_bad_ver enum valuetbb::interface6::runtime_loader
    ec_no_lib enum valuetbb::interface6::runtime_loader
    ec_ok enum valuetbb::interface6::runtime_loader
    em_abort enum valuetbb::interface6::runtime_loader
    em_status enum valuetbb::interface6::runtime_loader
    em_throw enum valuetbb::interface6::runtime_loader
    error_code enum nametbb::interface6::runtime_loader
    error_mode enum nametbb::interface6::runtime_loader
    load(char const *path[], int min_ver=TBB_INTERFACE_VERSION, int max_ver=INT_MAX)tbb::interface6::runtime_loader
    runtime_loader(error_mode mode=em_abort)tbb::interface6::runtime_loader
    runtime_loader(char const *path[], int min_ver=TBB_INTERFACE_VERSION, int max_ver=INT_MAX, error_mode mode=em_abort)tbb::interface6::runtime_loader
    status()tbb::interface6::runtime_loader
    ~runtime_loader()tbb::interface6::runtime_loader
    current_thread_index()tbb::interface7::task_arenainlinestatic
    debug_wait_until_empty()tbb::interface7::task_arenainline
    enqueue(F &&f)tbb::interface7::task_arenainline
    enqueue(const F &f) (defined in tbb::interface7::task_arena)tbb::interface7::task_arenainline
    enqueue(F &&f, priority_t p)tbb::interface7::task_arenainline
    enqueue(const F &f, priority_t p) (defined in tbb::interface7::task_arena)tbb::interface7::task_arenainline
    execute(F &f)tbb::interface7::task_arenainline
    execute(const F &f)tbb::interface7::task_arenainline
    initialize()tbb::interface7::task_arenainline
    initialize(int max_concurrency_, unsigned reserved_for_masters=1)tbb::interface7::task_arenainline
    initialize(attach)tbb::interface7::task_arenainline
    is_active() const tbb::interface7::task_arenainline
    max_concurrency() const tbb::interface7::task_arenainline
    task_arena(int max_concurrency_=automatic, unsigned reserved_for_masters=1)tbb::interface7::task_arenainline
    task_arena(const task_arena &s)tbb::interface7::task_arenainline
    task_arena(attach)tbb::interface7::task_arenainlineexplicit
    tbb::internal::task_scheduler_observer_v3 (defined in tbb::interface7::task_arena)tbb::interface7::task_arenafriend
    tbb::this_task_arena::max_concurrency (defined in tbb::interface7::task_arena)tbb::interface7::task_arenafriend
    terminate()tbb::interface7::task_arenainline
    ~task_arena()tbb::interface7::task_arenainline

    diff --git a/doc/html/a00400.html b/doc/html/a00400.html index 5b44971..dc10668 100644 --- a/doc/html/a00400.html +++ b/doc/html/a00400.html @@ -33,32 +33,24 @@
    -
    tbb::interface6::task_scheduler_observer Member List
    +
    tbb::interface9::global_control Member List
    -

    This is the complete list of members for tbb::interface6::task_scheduler_observer, including all inherited members.

    +

    This is the complete list of members for tbb::interface9::global_control, including all inherited members.

    - - - - - - - - - - - - - - - + + + + + + +
    allow_sleep enum value (defined in tbb::interface6::task_scheduler_observer)tbb::interface6::task_scheduler_observer
    internal::observer_list (defined in tbb::interface6::task_scheduler_observer)tbb::interface6::task_scheduler_observerfriend
    internal::observer_proxy (defined in tbb::interface6::task_scheduler_observer)tbb::interface6::task_scheduler_observerfriend
    internal::task_scheduler_observer_v3 (defined in tbb::interface6::task_scheduler_observer)tbb::interface6::task_scheduler_observerfriend
    is_observing() const tbb::internal::task_scheduler_observer_v3inline
    keep_awake enum value (defined in tbb::interface6::task_scheduler_observer)tbb::interface6::task_scheduler_observer
    may_sleep()tbb::interface6::task_scheduler_observerinlinevirtual
    observe(bool state=true)tbb::interface6::task_scheduler_observerinline
    on_scheduler_entry(bool)tbb::internal::task_scheduler_observer_v3inlinevirtual
    on_scheduler_exit(bool)tbb::internal::task_scheduler_observer_v3inlinevirtual
    task_scheduler_observer(bool local=false)tbb::interface6::task_scheduler_observerinlineexplicit
    task_scheduler_observer(task_arena &a)tbb::interface6::task_scheduler_observerinlineexplicit
    task_scheduler_observer_v3()tbb::internal::task_scheduler_observer_v3inline
    ~task_scheduler_observer()tbb::interface6::task_scheduler_observerinlinevirtual
    ~task_scheduler_observer_v3()tbb::internal::task_scheduler_observer_v3inlinevirtual
    active_value(parameter p) (defined in tbb::interface9::global_control)tbb::interface9::global_controlinlinestatic
    global_control(parameter p, size_t value) (defined in tbb::interface9::global_control)tbb::interface9::global_controlinline
    max_allowed_parallelism enum value (defined in tbb::interface9::global_control)tbb::interface9::global_control
    parameter enum name (defined in tbb::interface9::global_control)tbb::interface9::global_control
    parameter_max enum value (defined in tbb::interface9::global_control)tbb::interface9::global_control
    thread_stack_size enum value (defined in tbb::interface9::global_control)tbb::interface9::global_control
    ~global_control() (defined in tbb::interface9::global_control)tbb::interface9::global_controlinline

    diff --git a/doc/html/a00401.html b/doc/html/a00401.html index 1fb9f70..c6bc8c8 100644 --- a/doc/html/a00401.html +++ b/doc/html/a00401.html @@ -33,28 +33,26 @@
    -
    tbb::interface6::internal::basic_operation_base Member List
    +
    tbb::internal::critical_section_v4 Member List
    -

    This is the complete list of members for tbb::interface6::internal::basic_operation_base, including all inherited members.

    +

    This is the complete list of members for tbb::internal::critical_section_v4, including all inherited members.

    - - - - - - - - - - - + + + + + + + + +
    agg_finished enum value (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operation
    agg_waiting enum value (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operation
    aggregator_operation() (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operationinline
    aggregator_operation_status enum name (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operation
    basic_handler (defined in tbb::interface6::internal::basic_operation_base)tbb::interface6::internal::basic_operation_basefriend
    basic_operation_base() (defined in tbb::interface6::internal::basic_operation_base)tbb::interface6::internal::basic_operation_baseinline
    finish()tbb::interface6::aggregator_operationinline
    next() (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operationinline
    set_next(aggregator_operation *n) (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operationinline
    start()tbb::interface6::aggregator_operationinline
    ~basic_operation_base() (defined in tbb::interface6::internal::basic_operation_base)tbb::interface6::internal::basic_operation_baseinlinevirtual
    critical_section_v4() (defined in tbb::internal::critical_section_v4)tbb::internal::critical_section_v4inline
    internal_construct() (defined in tbb::internal::critical_section_v4)tbb::internal::critical_section_v4
    is_fair_mutex (defined in tbb::internal::critical_section_v4)tbb::internal::critical_section_v4static
    is_recursive_mutex (defined in tbb::internal::critical_section_v4)tbb::internal::critical_section_v4static
    is_rw_mutex (defined in tbb::internal::critical_section_v4)tbb::internal::critical_section_v4static
    lock() (defined in tbb::internal::critical_section_v4)tbb::internal::critical_section_v4inline
    try_lock() (defined in tbb::internal::critical_section_v4)tbb::internal::critical_section_v4inline
    unlock() (defined in tbb::internal::critical_section_v4)tbb::internal::critical_section_v4inline
    ~critical_section_v4() (defined in tbb::internal::critical_section_v4)tbb::internal::critical_section_v4inline

    diff --git a/doc/html/a00402.html b/doc/html/a00402.html index 735e9ae..a1d11d8 100644 --- a/doc/html/a00402.html +++ b/doc/html/a00402.html @@ -33,28 +33,19 @@
    -
    tbb::interface6::internal::basic_operation< Body > Member List
    +
    tbb::internal::critical_section_v4::scoped_lock Member List
    -

    This is the complete list of members for tbb::interface6::internal::basic_operation< Body >, including all inherited members.

    +

    This is the complete list of members for tbb::internal::critical_section_v4::scoped_lock, including all inherited members.

    - - - - - - - - - - - + +
    agg_finished enum value (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operation
    agg_waiting enum value (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operation
    aggregator_operation() (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operationinline
    aggregator_operation_status enum name (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operation
    basic_operation(const Body &b) (defined in tbb::interface6::internal::basic_operation< Body >)tbb::interface6::internal::basic_operation< Body >inline
    basic_operation_base() (defined in tbb::interface6::internal::basic_operation_base)tbb::interface6::internal::basic_operation_baseinline
    finish()tbb::interface6::aggregator_operationinline
    next() (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operationinline
    set_next(aggregator_operation *n) (defined in tbb::interface6::aggregator_operation)tbb::interface6::aggregator_operationinline
    start()tbb::interface6::aggregator_operationinline
    ~basic_operation_base() (defined in tbb::interface6::internal::basic_operation_base)tbb::interface6::internal::basic_operation_baseinlinevirtual
    scoped_lock(critical_section_v4 &lock_me) (defined in tbb::internal::critical_section_v4::scoped_lock)tbb::internal::critical_section_v4::scoped_lockinline
    ~scoped_lock() (defined in tbb::internal::critical_section_v4::scoped_lock)tbb::internal::critical_section_v4::scoped_lockinline

    diff --git a/doc/html/a00403.html b/doc/html/a00403.html index ff6a3a1..90f0364 100644 --- a/doc/html/a00403.html +++ b/doc/html/a00403.html @@ -33,19 +33,18 @@
    -
    tbb::interface6::internal::basic_handler Member List
    +
    tbb::internal::task_handle_task< F > Member List
    -

    This is the complete list of members for tbb::interface6::internal::basic_handler, including all inherited members.

    +

    This is the complete list of members for tbb::internal::task_handle_task< F >, including all inherited members.

    - - +
    basic_handler() (defined in tbb::interface6::internal::basic_handler)tbb::interface6::internal::basic_handlerinline
    operator()(aggregator_operation *op_list) const (defined in tbb::interface6::internal::basic_handler)tbb::interface6::internal::basic_handlerinline
    task_handle_task(task_handle< F > &h) (defined in tbb::internal::task_handle_task< F >)tbb::internal::task_handle_task< F >inline

    diff --git a/doc/html/a00404.html b/doc/html/a00404.html index ba07c6b..3ccffb6 100644 --- a/doc/html/a00404.html +++ b/doc/html/a00404.html @@ -33,37 +33,28 @@
    -
    tbb::interface7::task_arena Member List
    +
    tbb::internal::task_group_base Member List
    -

    This is the complete list of members for tbb::interface7::task_arena, including all inherited members.

    +

    This is the complete list of members for tbb::internal::task_group_base, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + +
    current_thread_index()tbb::interface7::task_arenainlinestatic
    debug_wait_until_empty()tbb::interface7::task_arenainline
    enqueue(F &&f)tbb::interface7::task_arenainline
    enqueue(const F &f) (defined in tbb::interface7::task_arena)tbb::interface7::task_arenainline
    enqueue(F &&f, priority_t p)tbb::interface7::task_arenainline
    enqueue(const F &f, priority_t p) (defined in tbb::interface7::task_arena)tbb::interface7::task_arenainline
    execute(F &f)tbb::interface7::task_arenainline
    execute(const F &f)tbb::interface7::task_arenainline
    initialize()tbb::interface7::task_arenainline
    initialize(int max_concurrency_, unsigned reserved_for_masters=1)tbb::interface7::task_arenainline
    initialize(attach)tbb::interface7::task_arenainline
    is_active() const tbb::interface7::task_arenainline
    max_concurrency() const tbb::interface7::task_arenainline
    task_arena(int max_concurrency_=automatic, unsigned reserved_for_masters=1)tbb::interface7::task_arenainline
    task_arena(const task_arena &s)tbb::interface7::task_arenainline
    task_arena(attach)tbb::interface7::task_arenainlineexplicit
    tbb::internal::task_scheduler_observer_v3 (defined in tbb::interface7::task_arena)tbb::interface7::task_arenafriend
    tbb::this_task_arena::max_concurrency (defined in tbb::interface7::task_arena)tbb::interface7::task_arenafriend
    terminate()tbb::interface7::task_arenainline
    ~task_arena()tbb::interface7::task_arenainline
    cancel() (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    internal_run(__TBB_FORWARDING_REF(F) f) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinlineprotected
    internal_run_and_wait(F &f) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinlineprotected
    is_canceling() (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    my_context (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseprotected
    my_root (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseprotected
    owner() (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinlineprotected
    run(task_handle< F > &h) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    task_group_base(uintptr_t traits=0) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    wait() (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    ~task_group_base() __TBB_NOEXCEPT(false) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline

    diff --git a/doc/html/a00405.html b/doc/html/a00405.html index 22a1085..3556307 100644 --- a/doc/html/a00405.html +++ b/doc/html/a00405.html @@ -33,24 +33,26 @@
    -
    tbb::interface9::global_control Member List
    +
    tbb::internal::task_scheduler_observer_v3 Member List
    -

    This is the complete list of members for tbb::interface9::global_control, including all inherited members.

    +

    This is the complete list of members for tbb::internal::task_scheduler_observer_v3, including all inherited members.

    - - - - - - - + + + + + + + + +
    active_value(parameter p) (defined in tbb::interface9::global_control)tbb::interface9::global_controlinlinestatic
    global_control(parameter p, size_t value) (defined in tbb::interface9::global_control)tbb::interface9::global_controlinline
    max_allowed_parallelism enum value (defined in tbb::interface9::global_control)tbb::interface9::global_control
    parameter enum name (defined in tbb::interface9::global_control)tbb::interface9::global_control
    parameter_max enum value (defined in tbb::interface9::global_control)tbb::interface9::global_control
    thread_stack_size enum value (defined in tbb::interface9::global_control)tbb::interface9::global_control
    ~global_control() (defined in tbb::interface9::global_control)tbb::interface9::global_controlinline
    interface6::task_scheduler_observer (defined in tbb::internal::task_scheduler_observer_v3)tbb::internal::task_scheduler_observer_v3friend
    is_observing() const tbb::internal::task_scheduler_observer_v3inline
    observe(bool state=true)tbb::internal::task_scheduler_observer_v3
    observer_list (defined in tbb::internal::task_scheduler_observer_v3)tbb::internal::task_scheduler_observer_v3friend
    observer_proxy (defined in tbb::internal::task_scheduler_observer_v3)tbb::internal::task_scheduler_observer_v3friend
    on_scheduler_entry(bool)tbb::internal::task_scheduler_observer_v3inlinevirtual
    on_scheduler_exit(bool)tbb::internal::task_scheduler_observer_v3inlinevirtual
    task_scheduler_observer_v3()tbb::internal::task_scheduler_observer_v3inline
    ~task_scheduler_observer_v3()tbb::internal::task_scheduler_observer_v3inlinevirtual

    diff --git a/doc/html/a00406.html b/doc/html/a00406.html index b0a2353..b0b3dcf 100644 --- a/doc/html/a00406.html +++ b/doc/html/a00406.html @@ -33,26 +33,22 @@
    -
    tbb::internal::critical_section_v4 Member List
    +
    tbb::internal::tbb_exception_ptr Member List
    -

    This is the complete list of members for tbb::internal::critical_section_v4, including all inherited members.

    +

    This is the complete list of members for tbb::internal::tbb_exception_ptr, including all inherited members.

    - - - - - - - - - + + + + +
    critical_section_v4() (defined in tbb::internal::critical_section_v4)tbb::internal::critical_section_v4inline
    internal_construct() (defined in tbb::internal::critical_section_v4)tbb::internal::critical_section_v4
    is_fair_mutex (defined in tbb::internal::critical_section_v4)tbb::internal::critical_section_v4static
    is_recursive_mutex (defined in tbb::internal::critical_section_v4)tbb::internal::critical_section_v4static
    is_rw_mutex (defined in tbb::internal::critical_section_v4)tbb::internal::critical_section_v4static
    lock() (defined in tbb::internal::critical_section_v4)tbb::internal::critical_section_v4inline
    try_lock() (defined in tbb::internal::critical_section_v4)tbb::internal::critical_section_v4inline
    unlock() (defined in tbb::internal::critical_section_v4)tbb::internal::critical_section_v4inline
    ~critical_section_v4() (defined in tbb::internal::critical_section_v4)tbb::internal::critical_section_v4inline
    allocate() (defined in tbb::internal::tbb_exception_ptr)tbb::internal::tbb_exception_ptrstatic
    allocate(const tbb_exception &tag) (defined in tbb::internal::tbb_exception_ptr)tbb::internal::tbb_exception_ptrstatic
    allocate(captured_exception &src)tbb::internal::tbb_exception_ptrstatic
    destroy()tbb::internal::tbb_exception_ptr
    throw_self()tbb::internal::tbb_exception_ptrinline

    diff --git a/doc/html/a00407.html b/doc/html/a00407.html index a556849..c274440 100644 --- a/doc/html/a00407.html +++ b/doc/html/a00407.html @@ -33,19 +33,19 @@
    -
    tbb::internal::critical_section_v4::scoped_lock Member List
    +
    tbb::internal::thread_closure_base Member List
    -

    This is the complete list of members for tbb::internal::critical_section_v4::scoped_lock, including all inherited members.

    +

    This is the complete list of members for tbb::internal::thread_closure_base, including all inherited members.

    - - + +
    scoped_lock(critical_section_v4 &lock_me) (defined in tbb::internal::critical_section_v4::scoped_lock)tbb::internal::critical_section_v4::scoped_lockinline
    ~scoped_lock() (defined in tbb::internal::critical_section_v4::scoped_lock)tbb::internal::critical_section_v4::scoped_lockinline
    operator delete(void *ptr) (defined in tbb::internal::thread_closure_base)tbb::internal::thread_closure_baseinline
    operator new(size_t size) (defined in tbb::internal::thread_closure_base)tbb::internal::thread_closure_baseinline

    diff --git a/doc/html/a00408.html b/doc/html/a00408.html index 24c45d6..4bb1c7b 100644 --- a/doc/html/a00408.html +++ b/doc/html/a00408.html @@ -33,18 +33,22 @@
    -
    tbb::internal::task_handle_task< F > Member List
    +
    tbb::internal::thread_closure_0< F > Member List
    -

    This is the complete list of members for tbb::internal::task_handle_task< F >, including all inherited members.

    +

    This is the complete list of members for tbb::internal::thread_closure_0< F >, including all inherited members.

    - + + + + +
    task_handle_task(task_handle< F > &h) (defined in tbb::internal::task_handle_task< F >)tbb::internal::task_handle_task< F >inline
    function (defined in tbb::internal::thread_closure_0< F >)tbb::internal::thread_closure_0< F >
    operator delete(void *ptr) (defined in tbb::internal::thread_closure_base)tbb::internal::thread_closure_baseinline
    operator new(size_t size) (defined in tbb::internal::thread_closure_base)tbb::internal::thread_closure_baseinline
    start_routine(void *c) (defined in tbb::internal::thread_closure_0< F >)tbb::internal::thread_closure_0< F >inlinestatic
    thread_closure_0(const F &f) (defined in tbb::internal::thread_closure_0< F >)tbb::internal::thread_closure_0< F >inline

    diff --git a/doc/html/a00409.html b/doc/html/a00409.html index dfcc415..d21b8e3 100644 --- a/doc/html/a00409.html +++ b/doc/html/a00409.html @@ -33,28 +33,23 @@
    -
    tbb::internal::task_group_base Member List
    +
    tbb::internal::thread_closure_1< F, X > Member List
    -

    This is the complete list of members for tbb::internal::task_group_base, including all inherited members.

    +

    This is the complete list of members for tbb::internal::thread_closure_1< F, X >, including all inherited members.

    - - - - - - - - - - - + + + + + +
    cancel() (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    internal_run(__TBB_FORWARDING_REF(F) f) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinlineprotected
    internal_run_and_wait(F &f) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinlineprotected
    is_canceling() (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    my_context (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseprotected
    my_root (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseprotected
    owner() (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinlineprotected
    run(task_handle< F > &h) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    task_group_base(uintptr_t traits=0) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    wait() (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    ~task_group_base() __TBB_NOEXCEPT(false) (defined in tbb::internal::task_group_base)tbb::internal::task_group_baseinline
    arg1 (defined in tbb::internal::thread_closure_1< F, X >)tbb::internal::thread_closure_1< F, X >
    function (defined in tbb::internal::thread_closure_1< F, X >)tbb::internal::thread_closure_1< F, X >
    operator delete(void *ptr) (defined in tbb::internal::thread_closure_base)tbb::internal::thread_closure_baseinline
    operator new(size_t size) (defined in tbb::internal::thread_closure_base)tbb::internal::thread_closure_baseinline
    start_routine(void *c)tbb::internal::thread_closure_1< F, X >inlinestatic
    thread_closure_1(const F &f, const X &x) (defined in tbb::internal::thread_closure_1< F, X >)tbb::internal::thread_closure_1< F, X >inline

    diff --git a/doc/html/a00410.html b/doc/html/a00410.html index 00b35f4..dfc1378 100644 --- a/doc/html/a00410.html +++ b/doc/html/a00410.html @@ -33,26 +33,24 @@
    -
    tbb::internal::task_scheduler_observer_v3 Member List
    +
    tbb::internal::thread_closure_2< F, X, Y > Member List
    -

    This is the complete list of members for tbb::internal::task_scheduler_observer_v3, including all inherited members.

    +

    This is the complete list of members for tbb::internal::thread_closure_2< F, X, Y >, including all inherited members.

    - - - - - - - - - + + + + + + +
    interface6::task_scheduler_observer (defined in tbb::internal::task_scheduler_observer_v3)tbb::internal::task_scheduler_observer_v3friend
    is_observing() const tbb::internal::task_scheduler_observer_v3inline
    observe(bool state=true)tbb::internal::task_scheduler_observer_v3
    observer_list (defined in tbb::internal::task_scheduler_observer_v3)tbb::internal::task_scheduler_observer_v3friend
    observer_proxy (defined in tbb::internal::task_scheduler_observer_v3)tbb::internal::task_scheduler_observer_v3friend
    on_scheduler_entry(bool)tbb::internal::task_scheduler_observer_v3inlinevirtual
    on_scheduler_exit(bool)tbb::internal::task_scheduler_observer_v3inlinevirtual
    task_scheduler_observer_v3()tbb::internal::task_scheduler_observer_v3inline
    ~task_scheduler_observer_v3()tbb::internal::task_scheduler_observer_v3inlinevirtual
    arg1 (defined in tbb::internal::thread_closure_2< F, X, Y >)tbb::internal::thread_closure_2< F, X, Y >
    arg2 (defined in tbb::internal::thread_closure_2< F, X, Y >)tbb::internal::thread_closure_2< F, X, Y >
    function (defined in tbb::internal::thread_closure_2< F, X, Y >)tbb::internal::thread_closure_2< F, X, Y >
    operator delete(void *ptr) (defined in tbb::internal::thread_closure_base)tbb::internal::thread_closure_baseinline
    operator new(size_t size) (defined in tbb::internal::thread_closure_base)tbb::internal::thread_closure_baseinline
    start_routine(void *c)tbb::internal::thread_closure_2< F, X, Y >inlinestatic
    thread_closure_2(const F &f, const X &x, const Y &y) (defined in tbb::internal::thread_closure_2< F, X, Y >)tbb::internal::thread_closure_2< F, X, Y >inline

    diff --git a/doc/html/a00411.html b/doc/html/a00411.html index ef2f63b..cea0734 100644 --- a/doc/html/a00411.html +++ b/doc/html/a00411.html @@ -33,22 +33,36 @@
    -
    tbb::internal::tbb_exception_ptr Member List
    +
    tbb::internal::tbb_thread_v3 Member List
    -

    This is the complete list of members for tbb::internal::tbb_exception_ptr, including all inherited members.

    +

    This is the complete list of members for tbb::internal::tbb_thread_v3, including all inherited members.

    - - - - - + + + + + + + + + + + + + + + + + + +
    allocate() (defined in tbb::internal::tbb_exception_ptr)tbb::internal::tbb_exception_ptrstatic
    allocate(const tbb_exception &tag) (defined in tbb::internal::tbb_exception_ptr)tbb::internal::tbb_exception_ptrstatic
    allocate(captured_exception &src)tbb::internal::tbb_exception_ptrstatic
    destroy()tbb::internal::tbb_exception_ptr
    throw_self()tbb::internal::tbb_exception_ptrinline
    detach()tbb::internal::tbb_thread_v3
    get_id() const __TBB_NOEXCEPT(true) (defined in tbb::internal::tbb_thread_v3)tbb::internal::tbb_thread_v3inline
    hardware_concurrency() __TBB_NOEXCEPT(true)tbb::internal::tbb_thread_v3static
    join()tbb::internal::tbb_thread_v3
    joinable() const __TBB_NOEXCEPT(true) (defined in tbb::internal::tbb_thread_v3)tbb::internal::tbb_thread_v3inline
    move_v3 (defined in tbb::internal::tbb_thread_v3)tbb::internal::tbb_thread_v3friend
    native_handle() (defined in tbb::internal::tbb_thread_v3)tbb::internal::tbb_thread_v3inline
    native_handle_type typedef (defined in tbb::internal::tbb_thread_v3)tbb::internal::tbb_thread_v3
    native_handle_type typedef (defined in tbb::internal::tbb_thread_v3)tbb::internal::tbb_thread_v3
    operator= (defined in tbb::internal::tbb_thread_v3)tbb::internal::tbb_thread_v3inline
    operator=(tbb_thread_v3 &x) (defined in tbb::internal::tbb_thread_v3)tbb::internal::tbb_thread_v3inline
    swap(tbb_thread_v3 &t) __TBB_NOEXCEPT(true) (defined in tbb::internal::tbb_thread_v3)tbb::internal::tbb_thread_v3inline
    tbb::swap (defined in tbb::internal::tbb_thread_v3)tbb::internal::tbb_thread_v3friend
    tbb_thread_v3(const tbb_thread_v3 &) (defined in tbb::internal::tbb_thread_v3)tbb::internal::tbb_thread_v3
    tbb_thread_v3() __TBB_NOEXCEPT(true)tbb::internal::tbb_thread_v3inline
    tbb_thread_v3(F f)tbb::internal::tbb_thread_v3inlineexplicit
    tbb_thread_v3(F f, X x)tbb::internal::tbb_thread_v3inline
    tbb_thread_v3(F f, X x, Y y)tbb::internal::tbb_thread_v3inline
    ~tbb_thread_v3() (defined in tbb::internal::tbb_thread_v3)tbb::internal::tbb_thread_v3inline

    diff --git a/doc/html/a00412.html b/doc/html/a00412.html index 7a80abb..2bbcc30 100644 --- a/doc/html/a00412.html +++ b/doc/html/a00412.html @@ -33,19 +33,29 @@
    -
    tbb::internal::thread_closure_base Member List
    +
    tbb::internal::tbb_thread_v3::id Member List
    -

    This is the complete list of members for tbb::internal::thread_closure_base, including all inherited members.

    +

    This is the complete list of members for tbb::internal::tbb_thread_v3::id, including all inherited members.

    - - + + + + + + + + + + + +
    operator delete(void *ptr) (defined in tbb::internal::thread_closure_base)tbb::internal::thread_closure_baseinline
    operator new(size_t size) (defined in tbb::internal::thread_closure_base)tbb::internal::thread_closure_baseinline
    atomic_compare_and_swap (defined in tbb::internal::tbb_thread_v3::id)tbb::internal::tbb_thread_v3::idfriend
    id() __TBB_NOEXCEPT(true) (defined in tbb::internal::tbb_thread_v3::id)tbb::internal::tbb_thread_v3::idinline
    operator!= (defined in tbb::internal::tbb_thread_v3::id)tbb::internal::tbb_thread_v3::idfriend
    operator< (defined in tbb::internal::tbb_thread_v3::id)tbb::internal::tbb_thread_v3::idfriend
    operator<< (defined in tbb::internal::tbb_thread_v3::id)tbb::internal::tbb_thread_v3::idfriend
    operator<= (defined in tbb::internal::tbb_thread_v3::id)tbb::internal::tbb_thread_v3::idfriend
    operator== (defined in tbb::internal::tbb_thread_v3::id)tbb::internal::tbb_thread_v3::idfriend
    operator> (defined in tbb::internal::tbb_thread_v3::id)tbb::internal::tbb_thread_v3::idfriend
    operator>= (defined in tbb::internal::tbb_thread_v3::id)tbb::internal::tbb_thread_v3::idfriend
    tbb_hasher (defined in tbb::internal::tbb_thread_v3::id)tbb::internal::tbb_thread_v3::idfriend
    tbb_thread_v3 (defined in tbb::internal::tbb_thread_v3::id)tbb::internal::tbb_thread_v3::idfriend
    thread_get_id_v3 (defined in tbb::internal::tbb_thread_v3::id)tbb::internal::tbb_thread_v3::idfriend

    diff --git a/doc/html/a00413.html b/doc/html/a00413.html index 21b9a34..19910ce 100644 --- a/doc/html/a00413.html +++ b/doc/html/a00413.html @@ -33,22 +33,44 @@
    -
    tbb::internal::thread_closure_0< F > Member List
    +
    tbb::strict_ppl::concurrent_queue< T, A > Member List
    -

    This is the complete list of members for tbb::internal::thread_closure_0< F >, including all inherited members.

    +

    This is the complete list of members for tbb::strict_ppl::concurrent_queue< T, A >, including all inherited members.

    - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + +
    function (defined in tbb::internal::thread_closure_0< F >)tbb::internal::thread_closure_0< F >
    operator delete(void *ptr) (defined in tbb::internal::thread_closure_base)tbb::internal::thread_closure_baseinline
    operator new(size_t size) (defined in tbb::internal::thread_closure_base)tbb::internal::thread_closure_baseinline
    start_routine(void *c) (defined in tbb::internal::thread_closure_0< F >)tbb::internal::thread_closure_0< F >inlinestatic
    thread_closure_0(const F &f) (defined in tbb::internal::thread_closure_0< F >)tbb::internal::thread_closure_0< F >inline
    allocator_type typedeftbb::strict_ppl::concurrent_queue< T, A >
    clear()tbb::strict_ppl::concurrent_queue< T, A >
    concurrent_queue(const allocator_type &a=allocator_type())tbb::strict_ppl::concurrent_queue< T, A >inlineexplicit
    concurrent_queue(InputIterator begin, InputIterator end, const allocator_type &a=allocator_type())tbb::strict_ppl::concurrent_queue< T, A >inline
    concurrent_queue(const concurrent_queue &src, const allocator_type &a=allocator_type())tbb::strict_ppl::concurrent_queue< T, A >inline
    concurrent_queue(concurrent_queue &&src)tbb::strict_ppl::concurrent_queue< T, A >inline
    concurrent_queue(concurrent_queue &&src, const allocator_type &a) (defined in tbb::strict_ppl::concurrent_queue< T, A >)tbb::strict_ppl::concurrent_queue< T, A >inline
    const_iterator typedef (defined in tbb::strict_ppl::concurrent_queue< T, A >)tbb::strict_ppl::concurrent_queue< T, A >
    const_reference typedeftbb::strict_ppl::concurrent_queue< T, A >
    difference_type typedeftbb::strict_ppl::concurrent_queue< T, A >
    emplace(Arguments &&...args) (defined in tbb::strict_ppl::concurrent_queue< T, A >)tbb::strict_ppl::concurrent_queue< T, A >inline
    empty() const tbb::strict_ppl::concurrent_queue< T, A >inline
    get_allocator() const tbb::strict_ppl::concurrent_queue< T, A >inline
    internal::concurrent_queue_iterator (defined in tbb::strict_ppl::concurrent_queue< T, A >)tbb::strict_ppl::concurrent_queue< T, A >friend
    iterator typedef (defined in tbb::strict_ppl::concurrent_queue< T, A >)tbb::strict_ppl::concurrent_queue< T, A >
    push(const T &source)tbb::strict_ppl::concurrent_queue< T, A >inline
    push(T &&source) (defined in tbb::strict_ppl::concurrent_queue< T, A >)tbb::strict_ppl::concurrent_queue< T, A >inline
    reference typedeftbb::strict_ppl::concurrent_queue< T, A >
    size_type typedeftbb::strict_ppl::concurrent_queue< T, A >
    try_pop(T &result)tbb::strict_ppl::concurrent_queue< T, A >inline
    unsafe_begin() (defined in tbb::strict_ppl::concurrent_queue< T, A >)tbb::strict_ppl::concurrent_queue< T, A >inline
    unsafe_begin() const (defined in tbb::strict_ppl::concurrent_queue< T, A >)tbb::strict_ppl::concurrent_queue< T, A >inline
    unsafe_end() (defined in tbb::strict_ppl::concurrent_queue< T, A >)tbb::strict_ppl::concurrent_queue< T, A >inline
    unsafe_end() const (defined in tbb::strict_ppl::concurrent_queue< T, A >)tbb::strict_ppl::concurrent_queue< T, A >inline
    unsafe_size() const tbb::strict_ppl::concurrent_queue< T, A >inline
    value_type typedeftbb::strict_ppl::concurrent_queue< T, A >
    ~concurrent_queue()tbb::strict_ppl::concurrent_queue< T, A >

    diff --git a/doc/html/a00414.html b/doc/html/a00414.html deleted file mode 100644 index c4d3c2f..0000000 --- a/doc/html/a00414.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - -Member List - - - - - - - -
    -
    -
    tbb::internal::thread_closure_1< F, X > Member List
    -
    - -
    -

    -Copyright © 2005-2017 Intel Corporation. All Rights Reserved. -

    -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. -

    -* Other names and brands may be claimed as the property of others. diff --git a/doc/html/a00415.html b/doc/html/a00415.html deleted file mode 100644 index 718c3b3..0000000 --- a/doc/html/a00415.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - -Member List - - - - - - - -
    -
    -
    tbb::internal::thread_closure_2< F, X, Y > Member List
    -
    - -
    -

    -Copyright © 2005-2017 Intel Corporation. All Rights Reserved. -

    -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. -

    -* Other names and brands may be claimed as the property of others. diff --git a/doc/html/a00416.html b/doc/html/a00416.html deleted file mode 100644 index 8a88308..0000000 --- a/doc/html/a00416.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - -Member List - - - - - - - -
    -
    -
    tbb::internal::tbb_thread_v3 Member List
    -
    -
    - -

    This is the complete list of members for tbb::internal::tbb_thread_v3, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - -
    detach()tbb::internal::tbb_thread_v3
    get_id() const __TBB_NOEXCEPT(true) (defined in tbb::internal::tbb_thread_v3)tbb::internal::tbb_thread_v3inline
    hardware_concurrency() __TBB_NOEXCEPT(true)tbb::internal::tbb_thread_v3static
    join()tbb::internal::tbb_thread_v3
    joinable() const __TBB_NOEXCEPT(true) (defined in tbb::internal::tbb_thread_v3)tbb::internal::tbb_thread_v3inline
    move_v3 (defined in tbb::internal::tbb_thread_v3)tbb::internal::tbb_thread_v3friend
    native_handle() (defined in tbb::internal::tbb_thread_v3)tbb::internal::tbb_thread_v3inline
    native_handle_type typedef (defined in tbb::internal::tbb_thread_v3)tbb::internal::tbb_thread_v3
    native_handle_type typedef (defined in tbb::internal::tbb_thread_v3)tbb::internal::tbb_thread_v3
    operator= (defined in tbb::internal::tbb_thread_v3)tbb::internal::tbb_thread_v3inline
    operator=(tbb_thread_v3 &x) (defined in tbb::internal::tbb_thread_v3)tbb::internal::tbb_thread_v3inline
    swap(tbb_thread_v3 &t) __TBB_NOEXCEPT(true) (defined in tbb::internal::tbb_thread_v3)tbb::internal::tbb_thread_v3inline
    tbb::swap (defined in tbb::internal::tbb_thread_v3)tbb::internal::tbb_thread_v3friend
    tbb_thread_v3(const tbb_thread_v3 &) (defined in tbb::internal::tbb_thread_v3)tbb::internal::tbb_thread_v3
    tbb_thread_v3() __TBB_NOEXCEPT(true)tbb::internal::tbb_thread_v3inline
    tbb_thread_v3(F f)tbb::internal::tbb_thread_v3inlineexplicit
    tbb_thread_v3(F f, X x)tbb::internal::tbb_thread_v3inline
    tbb_thread_v3(F f, X x, Y y)tbb::internal::tbb_thread_v3inline
    ~tbb_thread_v3() (defined in tbb::internal::tbb_thread_v3)tbb::internal::tbb_thread_v3inline
    -
    -

    -Copyright © 2005-2017 Intel Corporation. All Rights Reserved. -

    -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. -

    -* Other names and brands may be claimed as the property of others. diff --git a/doc/html/a00417.html b/doc/html/a00417.html deleted file mode 100644 index 814225f..0000000 --- a/doc/html/a00417.html +++ /dev/null @@ -1,68 +0,0 @@ - - - - - - -Member List - - - - - - - -
    -
    -
    tbb::internal::tbb_thread_v3::id Member List
    -
    - -
    -

    -Copyright © 2005-2017 Intel Corporation. All Rights Reserved. -

    -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. -

    -* Other names and brands may be claimed as the property of others. diff --git a/doc/html/a00418.html b/doc/html/a00418.html deleted file mode 100644 index 74c9e93..0000000 --- a/doc/html/a00418.html +++ /dev/null @@ -1,83 +0,0 @@ - - - - - - -Member List - - - - - - - -
    -
    -
    tbb::strict_ppl::concurrent_queue< T, A > Member List
    -
    -
    - -

    This is the complete list of members for tbb::strict_ppl::concurrent_queue< T, A >, including all inherited members.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    allocator_type typedeftbb::strict_ppl::concurrent_queue< T, A >
    clear()tbb::strict_ppl::concurrent_queue< T, A >
    concurrent_queue(const allocator_type &a=allocator_type())tbb::strict_ppl::concurrent_queue< T, A >inlineexplicit
    concurrent_queue(InputIterator begin, InputIterator end, const allocator_type &a=allocator_type())tbb::strict_ppl::concurrent_queue< T, A >inline
    concurrent_queue(const concurrent_queue &src, const allocator_type &a=allocator_type())tbb::strict_ppl::concurrent_queue< T, A >inline
    concurrent_queue(concurrent_queue &&src)tbb::strict_ppl::concurrent_queue< T, A >inline
    concurrent_queue(concurrent_queue &&src, const allocator_type &a) (defined in tbb::strict_ppl::concurrent_queue< T, A >)tbb::strict_ppl::concurrent_queue< T, A >inline
    const_iterator typedef (defined in tbb::strict_ppl::concurrent_queue< T, A >)tbb::strict_ppl::concurrent_queue< T, A >
    const_reference typedeftbb::strict_ppl::concurrent_queue< T, A >
    difference_type typedeftbb::strict_ppl::concurrent_queue< T, A >
    emplace(Arguments &&...args) (defined in tbb::strict_ppl::concurrent_queue< T, A >)tbb::strict_ppl::concurrent_queue< T, A >inline
    empty() const tbb::strict_ppl::concurrent_queue< T, A >inline
    get_allocator() const tbb::strict_ppl::concurrent_queue< T, A >inline
    internal::concurrent_queue_iterator (defined in tbb::strict_ppl::concurrent_queue< T, A >)tbb::strict_ppl::concurrent_queue< T, A >friend
    iterator typedef (defined in tbb::strict_ppl::concurrent_queue< T, A >)tbb::strict_ppl::concurrent_queue< T, A >
    push(const T &source)tbb::strict_ppl::concurrent_queue< T, A >inline
    push(T &&source) (defined in tbb::strict_ppl::concurrent_queue< T, A >)tbb::strict_ppl::concurrent_queue< T, A >inline
    reference typedeftbb::strict_ppl::concurrent_queue< T, A >
    size_type typedeftbb::strict_ppl::concurrent_queue< T, A >
    try_pop(T &result)tbb::strict_ppl::concurrent_queue< T, A >inline
    unsafe_begin() (defined in tbb::strict_ppl::concurrent_queue< T, A >)tbb::strict_ppl::concurrent_queue< T, A >inline
    unsafe_begin() const (defined in tbb::strict_ppl::concurrent_queue< T, A >)tbb::strict_ppl::concurrent_queue< T, A >inline
    unsafe_end() (defined in tbb::strict_ppl::concurrent_queue< T, A >)tbb::strict_ppl::concurrent_queue< T, A >inline
    unsafe_end() const (defined in tbb::strict_ppl::concurrent_queue< T, A >)tbb::strict_ppl::concurrent_queue< T, A >inline
    unsafe_size() const tbb::strict_ppl::concurrent_queue< T, A >inline
    value_type typedeftbb::strict_ppl::concurrent_queue< T, A >
    ~concurrent_queue()tbb::strict_ppl::concurrent_queue< T, A >
    -
    -

    -Copyright © 2005-2017 Intel Corporation. All Rights Reserved. -

    -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. -

    -* Other names and brands may be claimed as the property of others. diff --git a/doc/html/annotated.html b/doc/html/annotated.html index 85fb3fb..dcf865a 100644 --- a/doc/html/annotated.html +++ b/doc/html/annotated.html @@ -39,56 +39,54 @@
    Here are the classes, structs, unions and interfaces with brief descriptions:
    [detail level 12345]
    - - - + + + - + - - - + + + - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -97,15 +95,15 @@ - - + + - + @@ -113,9 +111,9 @@ - - - + + + @@ -128,34 +126,34 @@ - - - - - + + + + + - - + + - + - - - - - - - - - - - + + + + + + + + + + + @@ -165,61 +163,61 @@ - + - + - - - + + + - - - - + + + + - + - - - + + + - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - - - - - + + + + + + - - - - - + + + + + - - - + + +
    oNrmlThe namespace rml contains components of low-level memory pool interface
    |\CMemPoolPolicy
    oNtbbThe namespace tbb contains all components of the library
    oNrmlThe namespace rml contains components of low-level memory pool interface
    |\CMemPoolPolicy
    oNtbbThe graph class
    |oNflow
    |oNinterface5
    |oNinterface6
    |oNinterface7
    |oNinterface9
    |oNinternal
    |oNstrict_ppl
    |oCaligned_spaceBlock of space aligned sufficiently to construct an array T with N elements
    |oCblocked_range2dA 2-dimensional range that models the Range concept
    |oCblocked_range3dA 3-dimensional range that models the Range concept
    |oCcache_aligned_allocatorMeets "allocator" requirements of ISO C++ Standard, Section 20.1.5
    |oCcache_aligned_allocator< void >Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1
    |oCcombinableThread-local storage with optional reduction
    |oCconcurrent_bounded_queueA high-performance thread-safe blocking concurrent bounded queue
    |oCconcurrent_vectorConcurrent vector container
    |oCmutexWrapper around the platform's native lock
    |oCnull_mutexA mutex which does nothing
    |oCmutexWrapper around the platform's native lock
    |oCnull_mutexA mutex which does nothing
    |oCnull_rw_mutexA rw mutex which does nothing
    |oCtask_group_context
    |oCpre_scan_tagUsed to indicate that the initial scan is being performed
    |oCnull_rw_mutexA rw mutex which does nothing
    |oCtask_group_context
    |oCpre_scan_tagUsed to indicate that the initial scan is being performed
    |oCfinal_scan_tagUsed to indicate that the final scan is being performed
    |oCparallel_whileParallel iteration over a stream, with optional addition of more work
    |oCparallel_whileParallel iteration over a stream, with optional addition of more work
    |oCfilterA stage in a pipeline
    |oCthread_bound_filterA stage in a pipeline served by a user thread
    |oCpipelineA processing pipeline that applies filters to items
    |oCqueuing_mutexQueuing mutex with local-only spinning
    |oCthread_bound_filterA stage in a pipeline served by a user thread
    |oCpipelineA processing pipeline that applies filters to items
    |oCqueuing_mutexQueuing mutex with local-only spinning
    |oCqueuing_rw_mutexQueuing reader-writer mutex with local-only spinning
    |oCrecursive_mutex
    |oCscalable_allocatorMeets "allocator" requirements of ISO C++ Standard, Section 20.1.5
    |oCscalable_allocator< void >Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1
    |oCspin_mutexA lock that occupies a single byte
    |oCspin_rw_mutex_v3Fast, unfair, spinning reader-writer lock with backoff and writer-preference
    |oCtask_handle
    |oCtask_group
    |oCstructured_task_group
    |oCtask_scheduler_initClass delimiting the scope of task scheduler activity
    |oCtbb_allocatorMeets "allocator" requirements of ISO C++ Standard, Section 20.1.5
    |oCqueuing_rw_mutexQueuing reader-writer mutex with local-only spinning
    |oCrecursive_mutex
    |oCscalable_allocatorMeets "allocator" requirements of ISO C++ Standard, Section 20.1.5
    |oCscalable_allocator< void >Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1
    |oCspin_mutexA lock that occupies a single byte
    |oCspin_rw_mutex_v3Fast, unfair, spinning reader-writer lock with backoff and writer-preference
    |oCtask_handle
    |oCtask_group
    |oCstructured_task_group
    |oCtask_scheduler_initClass delimiting the scope of task scheduler activity
    |oCtbb_allocatorMeets "allocator" requirements of ISO C++ Standard, Section 20.1.5
    |oCtbb_allocator< void >Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1
    |oCzero_allocatorMeets "allocator" requirements of ISO C++ Standard, Section 20.1.5
    |oCzero_allocator< void, Allocator >Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1
    |oCtbb_allocator< void >Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1
    |oCzero_allocatorMeets "allocator" requirements of ISO C++ Standard, Section 20.1.5
    |oCzero_allocator< void, Allocator >Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1
    |oCbad_last_allocException for concurrent containers
    |oCimproper_lockException for PPL locks
    |oCuser_abortException for user-initiated abort
    |oCmissing_waitException for missing wait on structured_task_group
    |oCinvalid_multiple_schedulingException for repeated scheduling of the same task_handle
    |oCtbb_exceptionInterface to be implemented by all exceptions TBB recognizes and propagates across the threads
    |oCimproper_lockException for PPL locks
    |oCuser_abortException for user-initiated abort
    |oCmissing_waitException for missing wait on structured_task_group
    |oCinvalid_multiple_schedulingException for repeated scheduling of the same task_handle
    |oCtbb_exceptionInterface to be implemented by all exceptions TBB recognizes and propagates across the threads
    |oCcaptured_exceptionThis class is used by TBB to propagate information about unhandled exceptions into the root thread
    |oCmovable_exceptionTemplate that can be used to implement exception that transfers arbitrary ExceptionData to the root thread
    |\Ctick_countAbsolute timestamp
    |oCmovable_exceptionTemplate that can be used to implement exception that transfers arbitrary ExceptionData to the root thread
    |\Ctick_countAbsolute timestamp
    \C__TBB_malloc_proxy_caller
    diff --git a/doc/html/classes.html b/doc/html/classes.html index 7c06a7d..2f9b231 100644 --- a/doc/html/classes.html +++ b/doc/html/classes.html @@ -40,69 +40,68 @@
    A | B | C | D | E | F | G | I | K | L | M | N | O | P | Q | R | S | T | U | Z | _
    - - - - - + + + + - - - - + + + + + - - - - + + + + + - - - - - - - - - - + + + + + + + + + + + - - - + + + - - - - + + + - - - - + + + - - - - + + + +
      A  
    -
    concurrent_unordered_map_traits (tbb::interface5)   improper_lock (tbb)   pipeline (tbb)   sender (tbb::flow::interface10)   
    concurrent_unordered_multimap (tbb::interface5)   tick_count::interval_t (tbb)   pre_scan_tag (tbb)   spin_mutex (tbb)   
    concurrent_hash_map::accessor (tbb::interface5)   concurrent_unordered_multiset (tbb::interface5)   invalid_multiple_scheduling (tbb)   predecessor_cache (tbb::flow::interface10::internal)   spin_rw_mutex_v3 (tbb)   
    concurrent_hash_map::accessor_not_used (tbb::interface5)   concurrent_unordered_set (tbb::interface5)   
      K  
    -
      Q  
    -
    structured_task_group (tbb)   
    aggregator (tbb::interface6)   concurrent_unordered_set_traits (tbb::interface5)   successor_cache (tbb::flow::interface10::internal)   
    aggregator_ext (tbb::interface6)   concurrent_vector (tbb)   opencl_factory::kernel (tbb::flow::interface10)   queuing_mutex (tbb)   
      T  
    +
    concurrent_unordered_map_traits (tbb::interface5)   invalid_multiple_scheduling (tbb)   pre_scan_tag (tbb)   spin_mutex (tbb)   
    concurrent_unordered_multimap (tbb::interface5)   
      K  
    +
    predecessor_cache (tbb::flow::interface10::internal)   spin_rw_mutex_v3 (tbb)   
    concurrent_hash_map::accessor (tbb::interface5)   concurrent_unordered_multiset (tbb::interface5)   
      Q  
    +
    structured_task_group (tbb)   
    concurrent_hash_map::accessor_not_used (tbb::interface5)   concurrent_unordered_set (tbb::interface5)   opencl_factory::kernel (tbb::flow::interface10)   successor_cache (tbb::flow::interface10::internal)   
    aggregator (tbb::interface6)   concurrent_unordered_set_traits (tbb::interface5)   
      L  
    +
    queuing_mutex (tbb)   
      T  
    aggregator_operation (tbb::interface6)   concurrent_hash_map::const_accessor (tbb::interface5)   
      L  
    -
    queuing_rw_mutex (tbb)   
    aligned_space (tbb)   continue_msg (tbb::flow::interface10)   
      R  
    -
    task_arena (tbb::interface7)   
    async_helpers (tbb::flow::interface10::internal)   continue_receiver (tbb::flow::interface10)   limiter_node (tbb::flow::interface10)   task_group (tbb)   
    async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type > (tbb::flow::interface10::internal)   critical_section_v4 (tbb::internal)   
      M  
    -
    reader_writer_lock (tbb::interface5)   task_group_base (tbb::internal)   
    aggregator_ext (tbb::interface6)   concurrent_vector (tbb)   queuing_rw_mutex (tbb)   
    aggregator_operation (tbb::interface6)   concurrent_hash_map::const_accessor (tbb::interface5)   limiter_node (tbb::flow::interface10)   
      R  
    +
    task_arena (tbb::interface7)   
    aligned_space (tbb)   continue_msg (tbb::flow::interface10)   
      M  
    +
    task_group (tbb)   
    async_helpers (tbb::flow::interface10::internal)   continue_receiver (tbb::flow::interface10)   reader_writer_lock (tbb::interface5)   task_group_base (tbb::internal)   
    async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type > (tbb::flow::interface10::internal)   critical_section_v4 (tbb::internal)   memory_pool (tbb::interface6)   memory_pool_allocator::rebind (tbb::interface6)   task_group_context (tbb)   
    async_msg (tbb::flow::interface10)   
      D  
    -
    scalable_allocator< void >::rebind (tbb)   task_group_context (tbb)   
    async_storage (tbb::flow::interface10::internal)   memory_pool (tbb::interface6)   tbb_allocator< void >::rebind (tbb)   task_handle (tbb)   
    atomic (tbb)   default_device_filter (tbb::flow::interface10::opencl_info)   memory_pool_allocator (tbb::interface6)   zero_allocator< void, Allocator >::rebind (tbb)   task_handle_task (tbb::internal)   
    atomic< void * > (tbb)   default_device_selector (tbb::flow::interface10::opencl_info)   memory_pool_allocator< void, P > (tbb::interface6)   zero_allocator::rebind (tbb)   task_scheduler_init (tbb)   
    task_arena::attach (tbb::interface7)   default_opencl_factory (tbb::flow::interface10::opencl_info)   MemPoolPolicy (rml)   memory_pool_allocator::rebind (tbb::interface6)   task_scheduler_observer (tbb::interface6)   
    memory_pool_allocator (tbb::interface6)   zero_allocator< void, Allocator >::rebind (tbb)   task_handle (tbb)   
    async_storage (tbb::flow::interface10::internal)   memory_pool_allocator< void, P > (tbb::interface6)   memory_pool_allocator< void, P >::rebind (tbb::interface6)   task_handle_task (tbb::internal)   
    atomic (tbb)   default_device_filter (tbb::flow::interface10::opencl_info)   MemPoolPolicy (rml)   tbb_allocator< void >::rebind (tbb)   task_scheduler_init (tbb)   
    atomic< void * > (tbb)   default_device_selector (tbb::flow::interface10::opencl_info)   missing_wait (tbb)   tbb_allocator::rebind (tbb)   task_scheduler_observer (tbb::interface6)   
    task_arena::attach (tbb::interface7)   default_opencl_factory (tbb::flow::interface10::opencl_info)   movable_exception (tbb)   zero_allocator::rebind (tbb)   task_scheduler_observer_v3 (tbb::internal)   
      B  
    -
    gfx_factory::device_type (tbb::flow::interface9)   missing_wait (tbb)   memory_pool_allocator< void, P >::rebind (tbb::interface6)   task_scheduler_observer_v3 (tbb::internal)   
    gfx_factory::dummy_device_selector (tbb::flow::interface9)   movable_exception (tbb)   tbb_allocator::rebind (tbb)   tbb_allocator (tbb)   
    bad_last_alloc (tbb)   
      E  
    -
    mutex (tbb)   cache_aligned_allocator::rebind (tbb)   tbb_allocator< void > (tbb)   
    basic_handler (tbb::interface6::internal)   
      N  
    -
    scalable_allocator::rebind (tbb)   tbb_exception (tbb)   
    basic_operation (tbb::interface6::internal)   edge_container (tbb::flow::interface10::internal)   cache_aligned_allocator< void >::rebind (tbb)   tbb_exception_ptr (tbb::internal)   
    basic_operation_base (tbb::interface6::internal)   concurrent_vector::push_back_helper::element_construction_guard (tbb)   concurrent_hash_map::node (tbb::interface5)   receiver (tbb::flow::interface10)   tbb_thread_v3 (tbb::internal)   
    blocked_range (tbb)   enumerable_thread_specific (tbb::interface6)   null_mutex (tbb)   receiver_gateway (tbb::flow::interface10)   thread_bound_filter (tbb)   
    blocked_range2d (tbb)   
      F  
    -
    null_rw_mutex (tbb)   recursive_mutex (tbb)   thread_closure_0 (tbb::internal)   
    blocked_range3d (tbb)   null_type (tbb::flow::interface10)   reservable_predecessor_cache (tbb::flow::interface10::internal)   thread_closure_1 (tbb::internal)   
    broadcast_cache (tbb::flow::interface10::internal)   filter (tbb)   
      O  
    -
    round_robin_cache (tbb::flow::interface10::internal)   thread_closure_2 (tbb::internal)   
    concurrent_hash_map::bucket_accessor (tbb::interface5)   filter_t (tbb::interface6)   run_and_put_task (tbb::flow::interface10)   thread_closure_base (tbb::internal)   
    gfx_factory::device_type (tbb::flow::interface9)   mutex (tbb)   scalable_allocator< void >::rebind (tbb)   tbb_allocator (tbb)   
    gfx_factory::dummy_device_selector (tbb::flow::interface9)   
      N  
    +
    scalable_allocator::rebind (tbb)   tbb_allocator< void > (tbb)   
    bad_last_alloc (tbb)   
      E  
    +
    cache_aligned_allocator::rebind (tbb)   tbb_exception (tbb)   
    basic_handler (tbb::interface6::internal)   concurrent_hash_map::node (tbb::interface5)   cache_aligned_allocator< void >::rebind (tbb)   tbb_exception_ptr (tbb::internal)   
    basic_operation (tbb::interface6::internal)   edge_container (tbb::flow::interface10::internal)   null_mutex (tbb)   receiver (tbb::flow::interface10)   tbb_thread_v3 (tbb::internal)   
    basic_operation_base (tbb::interface6::internal)   concurrent_vector::push_back_helper::element_construction_guard (tbb)   null_rw_mutex (tbb)   receiver_gateway (tbb::flow::interface10)   thread_bound_filter (tbb)   
    blocked_range (tbb)   enumerable_thread_specific (tbb::interface6)   null_type (tbb::flow::interface10)   recursive_mutex (tbb)   thread_closure_0 (tbb::internal)   
    blocked_range2d (tbb)   
      F  
    +
      O  
    +
    reservable_predecessor_cache (tbb::flow::interface10::internal)   thread_closure_1 (tbb::internal)   
    blocked_range3d (tbb)   round_robin_cache (tbb::flow::interface10::internal)   thread_closure_2 (tbb::internal)   
    broadcast_cache (tbb::flow::interface10::internal)   filter (tbb)   opencl_async_msg (tbb::flow::interface10)   run_and_put_task (tbb::flow::interface10)   thread_closure_base (tbb::internal)   
    concurrent_hash_map::bucket_accessor (tbb::interface5)   filter_t (tbb::interface6)   opencl_buffer (tbb::flow::interface10)   runtime_loader (tbb::interface6)   tick_count (tbb)   
      C  
    -
    final_scan_tag (tbb)   opencl_async_msg (tbb::flow::interface10)   runtime_loader (tbb::interface6)   tick_count (tbb)   
    fixed_pool (tbb::interface6)   opencl_buffer (tbb::flow::interface10)   
      S  
    +
    final_scan_tag (tbb)   opencl_buffer_impl (tbb::flow::interface10)   
      S  
      U  
    cache_aligned_allocator (tbb)   flattened2d (tbb::interface6)   opencl_buffer_impl (tbb::flow::interface10)   
    cache_aligned_allocator< void > (tbb)   flow_control (tbb::interface6)   opencl_device (tbb::flow::interface10)   scalable_allocator (tbb)   untyped_receiver (tbb::flow::interface10::internal)   
    fixed_pool (tbb::interface6)   opencl_device (tbb::flow::interface10)   
    cache_aligned_allocator (tbb)   flattened2d (tbb::interface6)   opencl_device_list (tbb::flow::interface10)   scalable_allocator (tbb)   untyped_receiver (tbb::flow::interface10::internal)   
    cache_aligned_allocator< void > (tbb)   flow_control (tbb::interface6)   opencl_factory (tbb::flow::interface10)   scalable_allocator< void > (tbb)   untyped_sender (tbb::flow::interface10::internal)   
    concurrent_hash_map::call_clear_on_leave (tbb::interface5)   
      G  
    -
    opencl_device_list (tbb::flow::interface10)   scalable_allocator< void > (tbb)   untyped_sender (tbb::flow::interface10::internal)   
    callback (tbb::flow::interface10)   opencl_factory (tbb::flow::interface10)   queuing_rw_mutex::scoped_lock (tbb)   use_element_copy_constructor (tbb::interface5::internal)   
    callback_base (tbb::flow::interface10)   gfx_async_msg (tbb::flow::interface9)   opencl_memory (tbb::flow::interface10)   critical_section_v4::scoped_lock (tbb::internal)   use_element_copy_constructor< T, false > (tbb::interface5::internal)   
    captured_exception (tbb)   gfx_buffer (tbb::flow::interface9)   opencl_node (tbb::flow::interface10)   null_mutex::scoped_lock (tbb)   user_abort (tbb)   
    combinable (tbb)   gfx_factory (tbb::flow::interface9)   opencl_node< tuple< Ports...> > (tbb::flow::interface10)   recursive_mutex::scoped_lock (tbb)   
      Z  
    +
    opencl_memory (tbb::flow::interface10)   null_mutex::scoped_lock (tbb)   use_element_copy_constructor (tbb::interface5::internal)   
    callback (tbb::flow::interface10)   opencl_node (tbb::flow::interface10)   spin_rw_mutex_v3::scoped_lock (tbb)   use_element_copy_constructor< T, false > (tbb::interface5::internal)   
    callback_base (tbb::flow::interface10)   gfx_async_msg (tbb::flow::interface9)   opencl_node< tuple< Ports...> > (tbb::flow::interface10)   mutex::scoped_lock (tbb)   user_abort (tbb)   
    captured_exception (tbb)   gfx_buffer (tbb::flow::interface9)   opencl_node< tuple< Ports...>, JP > (tbb::flow::interface10)   queuing_rw_mutex::scoped_lock (tbb)   
      Z  
    concrete_filter (tbb::interface6::internal)   global_control (tbb::interface9)   opencl_node< tuple< Ports...>, JP > (tbb::flow::interface10)   reader_writer_lock::scoped_lock (tbb::interface5)   
    concurrent_bounded_queue (tbb)   graph (tbb::flow::interface10)   opencl_node< tuple< Ports...>, JP, Factory > (tbb::flow::interface10)   spin_rw_mutex_v3::scoped_lock (tbb)   zero_allocator (tbb)   
    concurrent_hash_map (tbb::interface5)   graph_iterator (tbb::flow::interface10)   opencl_program (tbb::flow::interface10)   spin_mutex::scoped_lock (tbb)   zero_allocator< void, Allocator > (tbb)   
    concurrent_lru_cache (tbb::interface6)   graph_proxy (tbb::flow::interface10)   opencl_range (tbb::flow::interface10)   mutex::scoped_lock (tbb)   
      _  
    +
    combinable (tbb)   gfx_factory (tbb::flow::interface9)   opencl_node< tuple< Ports...>, JP, Factory > (tbb::flow::interface10)   null_rw_mutex::scoped_lock (tbb)   
    concrete_filter (tbb::interface6::internal)   global_control (tbb::interface9)   opencl_program (tbb::flow::interface10)   critical_section_v4::scoped_lock (tbb::internal)   zero_allocator (tbb)   
    concurrent_bounded_queue (tbb)   graph_proxy (tbb::flow::interface10)   opencl_range (tbb::flow::interface10)   queuing_mutex::scoped_lock (tbb)   zero_allocator< void, Allocator > (tbb)   
    concurrent_hash_map (tbb::interface5)   
      I  
    +
    opencl_subbuffer (tbb::flow::interface10)   spin_mutex::scoped_lock (tbb)   
      _  
    concurrent_priority_queue (tbb::interface5)   
      I  
    -
    opencl_subbuffer (tbb::flow::interface10)   queuing_mutex::scoped_lock (tbb)   
    concurrent_queue (tbb::strict_ppl)   
      P  
    -
    null_rw_mutex::scoped_lock (tbb)   __TBB_malloc_proxy_caller   
    concurrent_unordered_map (tbb::interface5)   tbb_thread_v3::id (tbb::internal)   reader_writer_lock::scoped_lock_read (tbb::interface5)   
    parallel_while (tbb)   
    concurrent_lru_cache (tbb::interface6)   
      P  
    +
    recursive_mutex::scoped_lock (tbb)   
    concurrent_priority_queue (tbb::interface5)   tbb_thread_v3::id (tbb::internal)   reader_writer_lock::scoped_lock (tbb::interface5)   __TBB_malloc_proxy_caller   
    concurrent_queue (tbb::strict_ppl)   improper_lock (tbb)   parallel_while (tbb)   reader_writer_lock::scoped_lock_read (tbb::interface5)   
    concurrent_unordered_map (tbb::interface5)   tick_count::interval_t (tbb)   pipeline (tbb)   sender (tbb::flow::interface10)   
    A | B | C | D | E | F | G | I | K | L | M | N | O | P | Q | R | S | T | U | Z | _
    diff --git a/doc/html/dir_87119f26c7695cbc270003e99bc7f49f.html b/doc/html/dir_87119f26c7695cbc270003e99bc7f49f.html index 75f54ca..76ee90b 100644 --- a/doc/html/dir_87119f26c7695cbc270003e99bc7f49f.html +++ b/doc/html/dir_87119f26c7695cbc270003e99bc7f49f.html @@ -37,126 +37,126 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - +

    Files

    file  aggregator.h
    file  aggregator.h
     
    file  aligned_space.h
    file  aligned_space.h
     
    file  atomic.h
    file  atomic.h
     
    file  blocked_range.h
    file  blocked_range.h
     
    file  blocked_range2d.h
    file  blocked_range2d.h
     
    file  blocked_range3d.h
    file  blocked_range3d.h
     
    file  cache_aligned_allocator.h
    file  cache_aligned_allocator.h
     
    file  combinable.h
    file  combinable.h
     
    file  concurrent_hash_map.h
    file  concurrent_hash_map.h
     
    file  concurrent_lru_cache.h
    file  concurrent_lru_cache.h
     
    file  concurrent_priority_queue.h
    file  concurrent_priority_queue.h
     
    file  concurrent_queue.h
    file  concurrent_queue.h
     
    file  concurrent_unordered_map.h
    file  concurrent_unordered_map.h
     
    file  concurrent_unordered_set.h
    file  concurrent_unordered_set.h
     
    file  concurrent_vector.h
    file  concurrent_vector.h
     
    file  critical_section.h
    file  critical_section.h
     
    file  enumerable_thread_specific.h
    file  enumerable_thread_specific.h
     
    file  flow_graph.h
     The graph related classes and functions.
    file  flow_graph.h
     The graph related classes and functions.
     
    file  flow_graph_abstractions.h
    file  flow_graph_abstractions.h
     
    file  flow_graph_opencl_node.h
    file  flow_graph_opencl_node.h
     
    file  gfx_factory.h
    file  gfx_factory.h
     
    file  global_control.h
    file  global_control.h
     
    file  memory_pool.h
    file  memory_pool.h
     
    file  mutex.h
    file  mutex.h
     
    file  null_mutex.h
    file  null_mutex.h
     
    file  null_rw_mutex.h
    file  null_rw_mutex.h
     
    file  parallel_do.h
    file  parallel_do.h
     
    file  parallel_for.h
    file  parallel_for.h
     
    file  parallel_for_each.h
    file  parallel_for_each.h
     
    file  parallel_invoke.h
    file  parallel_invoke.h
     
    file  parallel_reduce.h
    file  parallel_reduce.h
     
    file  parallel_scan.h
    file  parallel_scan.h
     
    file  parallel_sort.h
    file  parallel_sort.h
     
    file  parallel_while.h
    file  parallel_while.h
     
    file  partitioner.h
    file  partitioner.h
     
    file  pipeline.h
    file  pipeline.h
     
    file  queuing_mutex.h
    file  queuing_mutex.h
     
    file  queuing_rw_mutex.h
    file  queuing_rw_mutex.h
     
    file  reader_writer_lock.h
    file  reader_writer_lock.h
     
    file  recursive_mutex.h
    file  recursive_mutex.h
     
    file  runtime_loader.h
    file  runtime_loader.h
     
    file  scalable_allocator.h
    file  scalable_allocator.h
     
    file  spin_mutex.h
    file  spin_mutex.h
     
    file  spin_rw_mutex.h
    file  spin_rw_mutex.h
     
    file  task.h
    file  task.h
     
    file  task_arena.h
    file  task_arena.h
     
    file  task_group.h
    file  task_group.h
     
    file  task_scheduler_init.h
    file  task_scheduler_init.h
     
    file  task_scheduler_observer.h
    file  task_scheduler_observer.h
     
    file  tbb.h
    file  tbb.h
     
    file  tbb_allocator.h
    file  tbb_allocator.h
     
    file  tbb_config.h
    file  tbb_config.h
     
    file  tbb_disable_exceptions.h
    file  tbb_disable_exceptions.h
     
    file  tbb_exception.h
    file  tbb_exception.h
     
    file  tbb_machine.h
    file  tbb_machine.h
     
    file  tbb_profiling.h
    file  tbb_profiling.h
     
    file  tbb_stddef.h
    file  tbb_stddef.h
     
    file  tbb_thread.h
    file  tbb_thread.h
     
    file  tbbmalloc_proxy.h
    file  tbbmalloc_proxy.h
     
    file  tick_count.h
    file  tick_count.h
     
    diff --git a/doc/html/files.html b/doc/html/files.html index efa0888..033d005 100644 --- a/doc/html/files.html +++ b/doc/html/files.html @@ -38,9 +38,9 @@
    Here is a list of all documented files with brief descriptions:
    - - - + + +
    o*flow_graph.hThe graph related classes and functions
    o*memory_pool.h
    \*scalable_allocator.h
    o*flow_graph.hThe graph related classes and functions
    o*memory_pool.h
    \*scalable_allocator.h
    diff --git a/doc/html/functions.html b/doc/html/functions.html index a24f9de..a138817 100644 --- a/doc/html/functions.html +++ b/doc/html/functions.html @@ -80,31 +80,31 @@
  • acquire() : tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::bucket_accessor , tbb::queuing_mutex::scoped_lock -, tbb::spin_rw_mutex_v3::scoped_lock -, tbb::queuing_rw_mutex::scoped_lock -, tbb::mutex::scoped_lock -, tbb::recursive_mutex::scoped_lock -, tbb::spin_mutex::scoped_lock +, tbb::spin_rw_mutex_v3::scoped_lock +, tbb::queuing_rw_mutex::scoped_lock +, tbb::mutex::scoped_lock +, tbb::recursive_mutex::scoped_lock +, tbb::spin_mutex::scoped_lock
  • add() -: tbb::parallel_while< Body > +: tbb::parallel_while< Body >
  • add_filter() -: tbb::pipeline +: tbb::pipeline
  • allocate() : tbb::cache_aligned_allocator< T > -, tbb::interface6::memory_pool_allocator< T, P > -, tbb::scalable_allocator< T > -, tbb::tbb_allocator< T > -, tbb::internal::tbb_exception_ptr +, tbb::interface6::memory_pool_allocator< T, P > +, tbb::scalable_allocator< T > +, tbb::tbb_allocator< T > +, tbb::internal::tbb_exception_ptr
  • allocator_type : tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type > , tbb::interface5::concurrent_priority_queue< T, Compare, A > , tbb::strict_ppl::concurrent_queue< T, A > , tbb::concurrent_bounded_queue< T, A > -, tbb::tbb_allocator< T > +, tbb::tbb_allocator< T >
  • assign() : tbb::interface5::concurrent_priority_queue< T, Compare, A > @@ -114,7 +114,7 @@ : tbb::concurrent_vector< T, A >
  • automatic -: tbb::task_scheduler_init +: tbb::task_scheduler_init
  • diff --git a/doc/html/functions_0x62.html b/doc/html/functions_0x62.html index af95e6a..15b1080 100644 --- a/doc/html/functions_0x62.html +++ b/doc/html/functions_0x62.html @@ -80,25 +80,23 @@
  • begin() : tbb::blocked_range< Value > , tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type > -, tbb::flow::interface10::graph , tbb::concurrent_vector< T, A > -, tbb::flow::interface10::graph , tbb::aligned_space< T, N > , tbb::concurrent_vector< T, A > , tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
  • blocked_range() -: tbb::blocked_range< Value > +: tbb::blocked_range< Value >
  • blocking_terminate() -: tbb::task_scheduler_init +: tbb::task_scheduler_init
  • bucket_count() : tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
  • built_successors_type -: tbb::flow::interface10::sender< T > -, tbb::flow::interface10::internal::untyped_sender +: tbb::flow::interface10::sender< T > +, tbb::flow::interface10::internal::untyped_sender
  • diff --git a/doc/html/functions_0x63.html b/doc/html/functions_0x63.html index 2f8052b..0cf5c5a 100644 --- a/doc/html/functions_0x63.html +++ b/doc/html/functions_0x63.html @@ -79,34 +79,32 @@ , tbb::concurrent_vector< T, A >
  • cbegin() -: tbb::flow::interface10::graph -, tbb::concurrent_vector< T, A > +: tbb::concurrent_vector< T, A >
  • cend() : tbb::concurrent_vector< T, A > -, tbb::flow::interface10::graph
  • clear() -: tbb::interface5::concurrent_priority_queue< T, Compare, A > -, tbb::strict_ppl::concurrent_queue< T, A > -, tbb::concurrent_bounded_queue< T, A > +: tbb::concurrent_bounded_queue< T, A > , tbb::concurrent_vector< T, A > -, tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type > -, tbb::pipeline , tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A > +, tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type > +, tbb::pipeline +, tbb::interface5::concurrent_priority_queue< T, Compare, A > +, tbb::strict_ppl::concurrent_queue< T, A >
  • cols() : tbb::blocked_range2d< RowValue, ColValue > , tbb::blocked_range3d< PageValue, RowValue, ColValue >
  • concurrent_bounded_queue() -: tbb::concurrent_bounded_queue< T, A > +: tbb::concurrent_bounded_queue< T, A >
  • concurrent_hash_map() : tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
  • concurrent_priority_queue() -: tbb::interface5::concurrent_priority_queue< T, Compare, A > +: tbb::interface5::concurrent_priority_queue< T, Compare, A >
  • concurrent_queue() : tbb::strict_ppl::concurrent_queue< T, A > @@ -124,7 +122,7 @@ : tbb::interface5::concurrent_unordered_set< Key, Hasher, Key_equality, Allocator >
  • concurrent_vector() -: tbb::concurrent_vector< T, A > +: tbb::concurrent_vector< T, A >
  • const_accessor() : tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >::const_accessor @@ -133,17 +131,17 @@ : tbb::blocked_range< Value >
  • const_reference -: tbb::interface5::concurrent_priority_queue< T, Compare, A > -, tbb::concurrent_bounded_queue< T, A > +: tbb::concurrent_bounded_queue< T, A > , tbb::strict_ppl::concurrent_queue< T, A > +, tbb::interface5::concurrent_priority_queue< T, Compare, A >
  • construct() : tbb::cache_aligned_allocator< T > -, tbb::tbb_allocator< T > -, tbb::interface6::memory_pool_allocator< T, P > +, tbb::tbb_allocator< T > +, tbb::interface6::memory_pool_allocator< T, P >
  • continue_receiver() -: tbb::flow::interface10::continue_receiver +: tbb::flow::interface10::continue_receiver
  • count() : tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A > @@ -155,7 +153,7 @@ : tbb::concurrent_vector< T, A >
  • current_thread_index() -: tbb::interface7::task_arena +: tbb::interface7::task_arena
  • diff --git a/doc/html/functions_0x64.html b/doc/html/functions_0x64.html index a4d5f86..1c770ee 100644 --- a/doc/html/functions_0x64.html +++ b/doc/html/functions_0x64.html @@ -76,30 +76,30 @@

    - d -

    diff --git a/doc/html/functions_0x65.html b/doc/html/functions_0x65.html index fe10ee2..291b302 100644 --- a/doc/html/functions_0x65.html +++ b/doc/html/functions_0x65.html @@ -75,31 +75,31 @@

    - e -

    diff --git a/doc/html/functions_0x73.html b/doc/html/functions_0x73.html index 5513da4..0e641a0 100644 --- a/doc/html/functions_0x73.html +++ b/doc/html/functions_0x73.html @@ -75,27 +75,27 @@

    - s -

    diff --git a/doc/html/functions_func_0x64.html b/doc/html/functions_func_0x64.html index da201cc..e8d6c72 100644 --- a/doc/html/functions_func_0x64.html +++ b/doc/html/functions_func_0x64.html @@ -75,31 +75,31 @@

    - d -

    diff --git a/doc/html/functions_func_0x65.html b/doc/html/functions_func_0x65.html index 5a0545b..e70d281 100644 --- a/doc/html/functions_func_0x65.html +++ b/doc/html/functions_func_0x65.html @@ -95,17 +95,15 @@
  • end() : tbb::aligned_space< T, N > -, tbb::flow::interface10::graph , tbb::blocked_range< Value > , tbb::concurrent_vector< T, A > , tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type > -, tbb::flow::interface10::graph
  • enqueue() -: tbb::interface7::task_arena +: tbb::interface7::task_arena
  • enumerable_thread_specific() -: tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type > +: tbb::interface6::enumerable_thread_specific< T, Allocator, ETS_key_type >
  • erase() : tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A > @@ -114,10 +112,10 @@ : tbb::interface5::concurrent_hash_map< Key, T, HashCompare, A >
  • execute() -: tbb::interface7::task_arena -, tbb::flow::interface10::continue_receiver -, tbb::interface7::task_arena +: tbb::interface7::task_arena , tbb::interface6::aggregator +, tbb::interface7::task_arena +, tbb::flow::interface10::continue_receiver
  • execute_impl() : tbb::interface6::aggregator_ext< handler_type > diff --git a/doc/html/functions_func_0x67.html b/doc/html/functions_func_0x67.html index 047be6c..c2ae86f 100644 --- a/doc/html/functions_func_0x67.html +++ b/doc/html/functions_func_0x67.html @@ -83,12 +83,6 @@
  • grainsize() : tbb::blocked_range< Value >
  • -
  • graph() -: tbb::flow::interface10::graph -
  • -
  • graph_iterator() -: tbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType > -
  • grow_by() : tbb::concurrent_vector< T, A >
  • diff --git a/doc/html/functions_func_0x68.html b/doc/html/functions_func_0x68.html index 4bf029d..a4adbb0 100644 --- a/doc/html/functions_func_0x68.html +++ b/doc/html/functions_func_0x68.html @@ -74,7 +74,7 @@

    - h -

    diff --git a/doc/html/functions_func_0x69.html b/doc/html/functions_func_0x69.html index b18c1fe..657fcbd 100644 --- a/doc/html/functions_func_0x69.html +++ b/doc/html/functions_func_0x69.html @@ -74,15 +74,15 @@

    - i -

    @@ -167,7 +167,7 @@

    - v -

    oCtbb::aligned_space< T, N >Block of space aligned sufficiently to construct an array T with N elements
    oCAllocator
    oCallocator_base
    oCtbb::flow::interface10::internal::async_helpers< T, typename >
    oCtbb::flow::interface10::internal::async_helpers< T, typename std::enable_if< std::is_base_of< async_msg< typename T::async_msg_data_type >, T >::value >::type >
    oCtbb::flow::interface10::async_msg< T >
    oCasync_msg
    oCtbb::flow::interface10::internal::async_storage< T >
    oCets_base
    oCexception
    oCtbb::interface6::filter_t< T, U >Class representing a chain of type-safe pipeline filters
    oCtbb::final_scan_tagUsed to indicate that the final scan is being performed
    oCtbb::interface6::flattened2d< Container >
    oCtbb::flow::interface9::gfx_buffer< T >
    oCtbb::flow::interface9::gfx_factory
    oCtbb::interface9::global_control
    oCtbb::flow::interface10::graph_iterator< GraphContainerType, GraphNodeType >
    oCtbb::flow::interface10::graph_proxyPure virtual template classes that define interfaces for async communication
    oChash_map_base
    oCtbb::internal::tbb_thread_v3::id
    oCtbb::tick_count::interval_tRelative time interval
    oCtbb::flow::interface10::limiter_node< T >
    oCtbb::interface6::memory_pool_allocator< T, P >Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5
    oCtbb::interface6::memory_pool_allocator< void, P >Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1
    oCrml::MemPoolPolicy
    oCmutex_copy_deprecated_and_disabled
    oCtbb::flow::interface10::graph_proxyPure virtual template classes that define interfaces for async communication
    oChash_map_base
    oCtbb::internal::tbb_thread_v3::id
    oCtbb::tick_count::interval_tRelative time interval
    oCtbb::flow::interface10::limiter_node< T >
    oCtbb::interface6::memory_pool_allocator< T, P >Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5
    oCtbb::interface6::memory_pool_allocator< void, P >Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1
    oCrml::MemPoolPolicy
    oCmutex_copy_deprecated_and_disabled
    oCno_assign
    oCno_assign
    oCno_assign
    oCno_copy
    oCnode_base
    oCtbb::flow::interface10::null_type
    oCtbb::flow::interface10::opencl_buffer< T, Factory >
    oCtbb::flow::interface10::opencl_device
    oCtbb::flow::interface10::opencl_device_list
    oCtbb::flow::interface10::opencl_factory< DeviceFilter >
    oCtbb::flow::interface10::opencl_factory< default_device_filter >
    oCtbb::flow::interface10::opencl_memory< Factory >
    oCtbb::flow::interface10::opencl_node< Args >
    oCtbb::flow::interface10::opencl_node< tuple< Ports...>, JP, opencl_info::default_opencl_factory >
    oCtbb::flow::interface10::opencl_node< tuple< Ports...>, queueing, opencl_info::default_opencl_factory >
    oCtbb::flow::interface10::opencl_range
    oCtbb::pipelineA processing pipeline that applies filters to items
    oCpool_base
    oCtbb::pre_scan_tagUsed to indicate that the initial scan is being performed
    oCtbb::flow::interface10::internal::predecessor_cache< T, M >
    oCtbb::cache_aligned_allocator< void >::rebind< U >
    oCtbb::scalable_allocator< T >::rebind< U >
    oCtbb::cache_aligned_allocator< T >::rebind< U >
    oCtbb::tbb_allocator< T >::rebind< U >
    oCtbb::interface6::memory_pool_allocator< void, P >::rebind< U >
    oCtbb::interface6::memory_pool_allocator< T, P >::rebind< U >
    oCtbb::zero_allocator< T, Allocator >::rebind< U >
    oCtbb::zero_allocator< void, Allocator >::rebind< U >
    oCtbb::tbb_allocator< void >::rebind< U >
    oCtbb::scalable_allocator< void >::rebind< U >
    oCtbb::flow::interface10::internal::reservable_predecessor_cache< T, M >
    oCtbb::flow::interface10::internal::round_robin_cache< T, M >
    oCtbb::flow::interface10::run_and_put_task< R, B >
    oCtbb::scalable_allocator< T >Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5
    oCtbb::scalable_allocator< void >Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1
    oCno_copy
    oCnode_base
    oCtbb::flow::interface10::null_typeA generic null type
    oCtbb::flow::interface10::opencl_buffer< T, Factory >
    oCtbb::flow::interface10::opencl_device
    oCtbb::flow::interface10::opencl_device_list
    oCtbb::flow::interface10::opencl_factory< DeviceFilter >
    oCtbb::flow::interface10::opencl_factory< default_device_filter >
    oCtbb::flow::interface10::opencl_memory< Factory >
    oCtbb::flow::interface10::opencl_node< Args >
    oCtbb::flow::interface10::opencl_node< tuple< Ports...>, JP, opencl_info::default_opencl_factory >
    oCtbb::flow::interface10::opencl_node< tuple< Ports...>, queueing, opencl_info::default_opencl_factory >
    oCtbb::flow::interface10::opencl_range
    oCtbb::pipelineA processing pipeline that applies filters to items
    oCpool_base
    oCtbb::pre_scan_tagUsed to indicate that the initial scan is being performed
    oCtbb::flow::interface10::internal::predecessor_cache< T, M >
    oCtbb::cache_aligned_allocator< void >::rebind< U >
    oCtbb::cache_aligned_allocator< T >::rebind< U >
    oCtbb::scalable_allocator< T >::rebind< U >
    oCtbb::scalable_allocator< void >::rebind< U >
    oCtbb::zero_allocator< T, Allocator >::rebind< U >
    oCtbb::tbb_allocator< T >::rebind< U >
    oCtbb::tbb_allocator< void >::rebind< U >
    oCtbb::interface6::memory_pool_allocator< void, P >::rebind< U >
    oCtbb::zero_allocator< void, Allocator >::rebind< U >
    oCtbb::interface6::memory_pool_allocator< T, P >::rebind< U >
    oCtbb::flow::interface10::internal::reservable_predecessor_cache< T, M >
    oCtbb::flow::interface10::internal::round_robin_cache< T, M >
    oCtbb::flow::interface10::run_and_put_task< R, B >
    oCtbb::scalable_allocator< T >Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5
    oCtbb::scalable_allocator< void >Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1
    oCscoped_t
    oCscoped_t
    oCscoped_t
    oCstreaming_node
    oCtbb::flow::interface10::internal::successor_cache< T, M >
    oCtask
    oCtask_arena_base
    oCtbb::task_group_context
    oCtbb::internal::task_scheduler_observer_v3
    oCtbb::tbb_allocator< T >Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5
    oCtbb::tbb_allocator< void >Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1
    oCtbb::internal::tbb_exception_ptrException container that preserves the exact copy of the original exception
    oCtbb::internal::tbb_thread_v3Versioned thread class
    oCtbb::internal::thread_closure_base
    oCtbb::tick_countAbsolute timestamp
    oCtbb::flow::interface10::internal::untyped_receiver
    oCtbb::flow::interface10::internal::untyped_sender
    oCtbb::interface5::internal::use_element_copy_constructor< T, C >
    \Ctbb::interface5::internal::use_element_copy_constructor< T, false >
    oCstreaming_node
    oCtbb::flow::interface10::internal::successor_cache< T, M >
    oCtask
    oCtask_arena_base
    oCtbb::task_group_context
    oCtbb::internal::task_scheduler_observer_v3
    oCtbb::tbb_allocator< T >Meets "allocator" requirements of ISO C++ Standard, Section 20.1.5
    oCtbb::tbb_allocator< void >Analogous to std::allocator<void>, as defined in ISO C++ Standard, Section 20.4.1
    oCtbb::internal::tbb_exception_ptrException container that preserves the exact copy of the original exception
    oCtbb::internal::tbb_thread_v3Versioned thread class
    oCtbb::internal::thread_closure_base
    oCtbb::tick_countAbsolute timestamp
    oCtbb::flow::interface10::internal::untyped_receiver
    oCtbb::flow::interface10::internal::untyped_sender
    oCtbb::interface5::internal::use_element_copy_constructor< T, C >
    \Ctbb::interface5::internal::use_element_copy_constructor< T, false >
    diff --git a/doc/html/modules.html b/doc/html/modules.html index 7e4b6e1..197c8e2 100644 --- a/doc/html/modules.html +++ b/doc/html/modules.html @@ -32,12 +32,12 @@ diff --git a/doc/html/namespacemembers.html b/doc/html/namespacemembers.html index e6083eb..3e53539 100644 --- a/doc/html/namespacemembers.html +++ b/doc/html/namespacemembers.html @@ -58,87 +58,87 @@

    - _ -

    • __TBB_DECL_ATOMIC_ALT() -: tbb +: tbb

    - a -

    - e -

    • ets_key_usage_type -: tbb +: tbb

    - f -

    - m -

    • memory_semantics -: tbb +: tbb

    - p -

    • parallel_deterministic_reduce() -: tbb +: tbb
    • parallel_for() -: tbb +: tbb
    • parallel_for_each() -: tbb +: tbb
    • parallel_invoke() -: tbb +: tbb
    • parallel_reduce() -: tbb +: tbb
    • parallel_scan() -: tbb +: tbb
    • parallel_sort() -: tbb +: tbb

    - r -

    - s -

    • speculative_spin_mutex -: tbb +: tbb

    - t -

    • TBB_runtime_interface_version() -: tbb +: tbb
    • tbb_thread -: tbb +: tbb
    diff --git a/doc/html/namespacemembers_enum.html b/doc/html/namespacemembers_enum.html index 4823d66..0e78fb6 100644 --- a/doc/html/namespacemembers_enum.html +++ b/doc/html/namespacemembers_enum.html @@ -43,10 +43,10 @@
     
    • ets_key_usage_type -: tbb +: tbb
    • memory_semantics -: tbb +: tbb
    diff --git a/doc/html/namespacemembers_eval.html b/doc/html/namespacemembers_eval.html index fa073e9..bed2f73 100644 --- a/doc/html/namespacemembers_eval.html +++ b/doc/html/namespacemembers_eval.html @@ -43,16 +43,16 @@
     
    diff --git a/doc/html/namespacemembers_func.html b/doc/html/namespacemembers_func.html index e550164..5207b60 100644 --- a/doc/html/namespacemembers_func.html +++ b/doc/html/namespacemembers_func.html @@ -52,39 +52,39 @@

    - _ -

    • __TBB_DECL_ATOMIC_ALT() -: tbb +: tbb

    - p -

    • parallel_deterministic_reduce() -: tbb +: tbb
    • parallel_for() -: tbb +: tbb
    • parallel_for_each() -: tbb +: tbb
    • parallel_invoke() -: tbb +: tbb
    • parallel_reduce() -: tbb +: tbb
    • parallel_scan() -: tbb +: tbb
    • parallel_sort() -: tbb +: tbb

    - t -

    • TBB_runtime_interface_version() -: tbb +: tbb
    diff --git a/doc/html/namespacemembers_type.html b/doc/html/namespacemembers_type.html index 1f7abfb..92bb3a3 100644 --- a/doc/html/namespacemembers_type.html +++ b/doc/html/namespacemembers_type.html @@ -43,10 +43,10 @@
     
    • speculative_spin_mutex -: tbb +: tbb
    • tbb_thread -: tbb +: tbb
    diff --git a/doc/html/namespaces.html b/doc/html/namespaces.html index d86c496..97a9d48 100644 --- a/doc/html/namespaces.html +++ b/doc/html/namespaces.html @@ -38,8 +38,8 @@
    Here is a list of all documented namespaces with brief descriptions:
    - - + +
    oNrmlThe namespace rml contains components of low-level memory pool interface
    \NtbbThe namespace tbb contains all components of the library
    oNrmlThe namespace rml contains components of low-level memory pool interface
    \NtbbThe graph class
    diff --git a/examples/concurrent_hash_map/count_strings/readme.html b/examples/concurrent_hash_map/count_strings/readme.html index e6352ac..97fcb5f 100644 --- a/examples/concurrent_hash_map/count_strings/readme.html +++ b/examples/concurrent_hash_map/count_strings/readme.html @@ -371,7 +371,7 @@
    Prints the help for command line options
    count_strings [n-of-threads=value] [n-of-strings=value] [verbose] [silent]
    count_strings [n-of-threads [n-of-strings]] [verbose] [silent] -
    n-of-threads is the number of threads to use; a range of the form low[:high], where low and optional high are non-negative integers or 'auto' for the TBB default.
    +
    n-of-threads is the number of threads to use; a range of the form low[:high], where low and optional high are non-negative integers or 'auto' for a platform-specific default number.
    n-of-strings is a number of strings.
    verbose - enables printing of extra information during execution.
    silent - no output except elapsed time.
    diff --git a/examples/concurrent_priority_queue/shortpath/readme.html b/examples/concurrent_priority_queue/shortpath/readme.html index 7f745b2..4f6b457 100644 --- a/examples/concurrent_priority_queue/shortpath/readme.html +++ b/examples/concurrent_priority_queue/shortpath/readme.html @@ -394,7 +394,7 @@
    shortpath -h
    Prints the help for command line options
    shortpath [#threads=value] [verbose] [silent] [N=value] [start=value] [end=value] [#threads] -
    #threads is the number of threads to use; a range of the form low[:high] where low and optional high are non-negative integers, or 'auto' for the TBB default.
    +
    #threads is the number of threads to use; a range of the form low[:high] where low and optional high are non-negative integers, or 'auto' for a platform-specific default number.
    verbose print full path to screen
    silent limits output to timing info; overrides verbose
    N number of nodes in graph
    diff --git a/examples/graph/binpack/readme.html b/examples/graph/binpack/readme.html index d4689da..7a2d0ff 100644 --- a/examples/graph/binpack/readme.html +++ b/examples/graph/binpack/readme.html @@ -381,7 +381,7 @@
    binpack -h
    Prints the help for command line options
    binpack [#threads=value] [verbose] [silent] [N=value] [V=value] [#packers=value] [optimality=value] [#threads] -
    #threads is the number of threads to use; a range of the form low[:high] where low and optional high are non-negative integers, or 'auto' for the TBB default.
    +
    #threads is the number of threads to use; a range of the form low[:high] where low and optional high are non-negative integers, or 'auto' for a platform-specific default number.
    verbose print diagnostic output to screen
    silent limits output to timing info; overrides verbose
    N number of values to pack
    diff --git a/examples/graph/index.html b/examples/graph/index.html index 5c310a6..8cdc226 100644 --- a/examples/graph/index.html +++ b/examples/graph/index.html @@ -263,7 +263,7 @@ font-style: italic; } - Intel® Threading Building Blocks. Samples on Intel TBB Flow Graph feature + Intel® Threading Building Blocks (Intel® TBB). Samples on Intel® TBB Flow Graph feature diff --git a/examples/graph/logic_sim/readme.html b/examples/graph/logic_sim/readme.html index b1252b0..db95341 100644 --- a/examples/graph/logic_sim/readme.html +++ b/examples/graph/logic_sim/readme.html @@ -376,7 +376,7 @@
    test_all -h
    Prints the help for command line options
    test_all [#threads=value] [verbose] [silent] [#threads] -
    #threads is the number of threads to use; a range of the form low[:high] where low and optional high are non-negative integers, or 'auto' for the TBB default.
    +
    #threads is the number of threads to use; a range of the form low[:high] where low and optional high are non-negative integers, or 'auto' for a platform-specific default number.
    verbose print diagnostic output to screen
    silent limits output to timing info; overrides verbose
    To run a short version of this example, e.g., for use with Intel® Parallel Inspector: diff --git a/examples/index.html b/examples/index.html index 5c619d7..af4acd5 100644 --- a/examples/index.html +++ b/examples/index.html @@ -397,9 +397,9 @@
  • (arch) argument represents target architecture. Its possible values are 'ia32' or 'intel64'.
  • [vs] argument represents target version of Microsoft* Visual Studio*. Its possible values are:
      -
    • 'vs<msvs_version>' - to use TBB with Microsoft* Visual Studio* <msvs_version> runtime DLLs, e.g.: tbbvars intel64 vs2015 +
    • 'vs<msvs_version>' - to use Intel TBB library with Microsoft* Visual Studio* <msvs_version> runtime DLLs, e.g.: tbbvars intel64 vs2015
      Note: for the most up to date supported versions of Microsoft* Visual Studio*, see the release notes. -
    • 'all' - to use TBB statically linked with Microsoft Visual C++ runtime. +
    • 'all' - to use Intel TBB binaries statically linked with Microsoft Visual C++ runtime.
      If [vs] is not set the 'all' value will be used by default.
    diff --git a/examples/parallel_do/parallel_preorder/readme.html b/examples/parallel_do/parallel_preorder/readme.html index 727e56a..097e5ca 100644 --- a/examples/parallel_do/parallel_preorder/readme.html +++ b/examples/parallel_do/parallel_preorder/readme.html @@ -413,7 +413,7 @@
    Prints the help for command line options
    parallel_preorder [n-of-threads=value] [n-of-nodes=value] [n-of-traversals=value] [silent]
    parallel_preorder [n-of-threads [n-of-nodes [n-of-traversals]]] [silent] -
    n-of-threads is the number of threads to use; a range of the form low[:high], where low and optional high are non-negative integers or 'auto' for the TBB default.
    +
    n-of-threads is the number of threads to use; a range of the form low[:high], where low and optional high are non-negative integers or 'auto' for a platform-specific default number.
    n-of-nodes is a number of nodes in the graph. Default value is 1000.
    n-of-traversals is the number of times to evaluate the graph. Default value is 500.
    silent - no output except elapsed time.
    diff --git a/examples/parallel_for/seismic/readme.html b/examples/parallel_for/seismic/readme.html index ba64e7f..521dde6 100644 --- a/examples/parallel_for/seismic/readme.html +++ b/examples/parallel_for/seismic/readme.html @@ -402,7 +402,7 @@
    Prints the help for command line options
    seismic [n-of-threads=value] [n-of-frames=value] [silent] [serial]
    seismic [n-of-threads [n-of-frames]] [silent] [serial] -
    n-of-threads is the number of threads to use; a range of the form low[:high], where low and optional high are non-negative integers or 'auto' for the TBB default.
    +
    n-of-threads is the number of threads to use; a range of the form low[:high], where low and optional high are non-negative integers or 'auto' for a platform-specific default number.
    n-of-frames is a number of frames the example processes internally.
    silent - no output except elapsed time.
    serial - in GUI mode start with serial version of algorithm.
    diff --git a/examples/parallel_reduce/convex_hull/readme.html b/examples/parallel_reduce/convex_hull/readme.html index 02f6f00..94357d8 100644 --- a/examples/parallel_reduce/convex_hull/readme.html +++ b/examples/parallel_reduce/convex_hull/readme.html @@ -331,11 +331,11 @@
    convex_hull_sample.cpp -
    Source code for TBB version of example. +
    Source code for parallel version of the example which uses parallel_reduce, parallel_for and concurrent_vector.
    convex_hull_bench.cpp -
    Source code for version of example that compares serial and TBB buffered and unbuffered implementations. +
    Source code for the version of the example that compares serial and parallel buffered and unbuffered implementations.
    convex_hull.h -
    Include file for example. +
    Include file for the example.
    Makefile
    Makefile for building the example.
    diff --git a/examples/parallel_reduce/primes/readme.html b/examples/parallel_reduce/primes/readme.html index 822beae..0ea0260 100644 --- a/examples/parallel_reduce/primes/readme.html +++ b/examples/parallel_reduce/primes/readme.html @@ -375,7 +375,7 @@
    Prints the help for command line options
    primes [n-of-threads=value] [number=value] [grain-size=value] [n-of-repeats=value] [silent]
    primes [n-of-threads [number [grain-size [n-of-repeats]]]][silent] -
    n-of-threads is the number of threads to use; a range of the form low[:high], where low and optional high are non-negative integers or 'auto' for the TBB default.
    +
    n-of-threads is the number of threads to use; a range of the form low[:high], where low and optional high are non-negative integers or 'auto' for a platform-specific default number.
    number is an upper bound of range to search primes in, must be a positive integer.
    grain-size is an optional grain size, must be a positive integer.
    n-of-repeats is a number of the calculation repeats, must be a positive integer.
    diff --git a/examples/pipeline/square/readme.html b/examples/pipeline/square/readme.html index 84bc4fa..ee6a486 100644 --- a/examples/pipeline/square/readme.html +++ b/examples/pipeline/square/readme.html @@ -379,7 +379,7 @@
    Prints the help for command line options
    square [n-of-threads=value] [input-file=value] [output-file=value] [max-slice-size=value] [silent]
    square [n-of-threads [input-file [output-file [max-slice-size]]]] [silent] -
    n-of-threads is the number of threads to use; a range of the form low[:high], where low and optional high are non-negative integers or 'auto' for the TBB default.
    +
    n-of-threads is the number of threads to use; a range of the form low[:high], where low and optional high are non-negative integers or 'auto' for a platform-specific default number.
    input-file is an input file name.
    output-file is an output file name.
    max-slice-size is the maximum number of characters in one slice.
    diff --git a/examples/task_arena/fractal/readme.html b/examples/task_arena/fractal/readme.html index 1c2ec90..f2c0c15 100644 --- a/examples/task_arena/fractal/readme.html +++ b/examples/task_arena/fractal/readme.html @@ -378,7 +378,7 @@
    Prints the help for command line options
    fractal [n-of-threads=value] [n-of-frames=value] [max-of-iterations=value] [grain-size=value] [silent] [single]
    fractal [n-of-threads [n-of-frames [max-of-iterations [grain-size]]]] [silent] [single] -
    n-of-threads is the number of threads to use; a range of the form low[:high], where low and optional high are non-negative integers or 'auto' for the TBB default.
    +
    n-of-threads is the number of threads to use; a range of the form low[:high], where low and optional high are non-negative integers or 'auto' for a platform-specific default number.
    n-of-frames is a number of frames the example processes internally.
    max-of-iterations is a maximum number of the fractal iterations.
    grain-size is an optional grain size, must be a positive integer.
    diff --git a/examples/task_group/sudoku/readme.html b/examples/task_group/sudoku/readme.html index fdb0f56..ab9e592 100644 --- a/examples/task_group/sudoku/readme.html +++ b/examples/task_group/sudoku/readme.html @@ -385,7 +385,7 @@
    Prints the help for command line options
    sudoku [n-of-threads=value] [filename=value] [verbose] [silent] [find-one]
    sudoku [n-of-threads [filename]] [verbose] [silent] [find-one] -
    n-of-threads is the number of threads to use; a range of the form low[:high], where low and optional high are non-negative integers or 'auto' for the TBB default.
    +
    n-of-threads is the number of threads to use; a range of the form low[:high], where low and optional high are non-negative integers or 'auto' for a platform-specific default number.
    filename is an input filename.
    verbose - prints the first solution.
    silent - no output except elapsed time.
    diff --git a/include/tbb/flow_graph.h b/include/tbb/flow_graph.h index c146b62..fb839ac 100644 --- a/include/tbb/flow_graph.h +++ b/include/tbb/flow_graph.h @@ -88,75 +88,52 @@ namespace flow { //! An enumeration the provides the two most common concurrency levels: unlimited and serial enum concurrency { unlimited = 0, serial = 1 }; -namespace internal { -static tbb::task * const SUCCESSFULLY_ENQUEUED = (task *)-1; -} - namespace interface10 { -using tbb::flow::internal::SUCCESSFULLY_ENQUEUED; - -class graph; - -namespace internal { - template class successor_cache; - template class broadcast_cache; - template class round_robin_cache; - template class predecessor_cache; - template class reservable_predecessor_cache; - - void activate_graph(graph& g); - void deactivate_graph(graph& g); - bool is_graph_active(graph& g); - void spawn_in_graph_arena(graph& g, tbb::task& arena_task); - void add_task_to_graph_reset_list(graph& g, task *tp); - template void execute_in_graph_arena(graph& g, F& f); -} - -//A generic null type +//! A generic null type struct null_type {}; //! An empty class used for messages that mean "I'm done" class continue_msg {}; +//! Forward declaration section template< typename T > class sender; template< typename T > class receiver; class continue_receiver; - template< typename T > class limiter_node; // needed for resetting decrementer template< typename R, typename B > class run_and_put_task; -// flags to modify the behavior of the graph reset(). Can be combined. -enum reset_flags { - rf_reset_protocol = 0, - rf_reset_bodies = 1<<0, // delete the current node body, reset to a copy of the initial node body. - rf_clear_edges = 1<<1 // delete edges -}; +namespace internal { + +template class successor_cache; +template class broadcast_cache; +template class round_robin_cache; +template class predecessor_cache; +template class reservable_predecessor_cache; #if TBB_PREVIEW_FLOW_GRAPH_FEATURES -//* holder of edges both for caches and for those nodes which do not have predecessor caches. +// Holder of edges both for caches and for those nodes which do not have predecessor caches. // C == receiver< ... > or sender< ... >, depending. -namespace internal { template class edge_container { public: typedef std::list > edge_list_type; - void add_edge( C &s) { - built_edges.push_back( &s ); + void add_edge(C &s) { + built_edges.push_back(&s); } - void delete_edge( C &s) { - for ( typename edge_list_type::iterator i = built_edges.begin(); i != built_edges.end(); ++i ) { - if ( *i == &s ) { + void delete_edge(C &s) { + for (typename edge_list_type::iterator i = built_edges.begin(); i != built_edges.end(); ++i) { + if (*i == &s) { (void)built_edges.erase(i); return; // only remove one predecessor per request } } } - void copy_edges( edge_list_type &v) { + void copy_edges(edge_list_type &v) { v = built_edges; } @@ -170,335 +147,26 @@ public: // methods remove the statement from all predecessors/successors liste in the edge // container. - template< typename S > void sender_extract( S &s ); - template< typename R > void receiver_extract( R &r ); + template< typename S > void sender_extract(S &s); + template< typename R > void receiver_extract(R &r); -private: +private: edge_list_type built_edges; }; // class edge_container -} // namespace internal #endif /* TBB_PREVIEW_FLOW_GRAPH_FEATURES */ -class graph_node; - -template -class graph_iterator { - friend class graph; - friend class graph_node; -public: - typedef size_t size_type; - typedef GraphNodeType value_type; - typedef GraphNodeType* pointer; - typedef GraphNodeType& reference; - typedef const GraphNodeType& const_reference; - typedef std::forward_iterator_tag iterator_category; - - //! Default constructor - graph_iterator() : my_graph(NULL), current_node(NULL) {} - - //! Copy constructor - graph_iterator(const graph_iterator& other) : - my_graph(other.my_graph), current_node(other.current_node) - {} - - //! Assignment - graph_iterator& operator=(const graph_iterator& other) { - if (this != &other) { - my_graph = other.my_graph; - current_node = other.current_node; - } - return *this; - } - - //! Dereference - reference operator*() const; - - //! Dereference - pointer operator->() const; - - //! Equality - bool operator==(const graph_iterator& other) const { - return ((my_graph == other.my_graph) && (current_node == other.current_node)); - } - - //! Inequality - bool operator!=(const graph_iterator& other) const { return !(operator==(other)); } - - //! Pre-increment - graph_iterator& operator++() { - internal_forward(); - return *this; - } - - //! Post-increment - graph_iterator operator++(int) { - graph_iterator result = *this; - operator++(); - return result; - } - -private: - // the graph over which we are iterating - GraphContainerType *my_graph; - // pointer into my_graph's my_nodes list - pointer current_node; - - //! Private initializing constructor for begin() and end() iterators - graph_iterator(GraphContainerType *g, bool begin); - void internal_forward(); -}; // class graph_iterator - - //! The graph class - /** This class serves as a handle to the graph */ -class graph : tbb::internal::no_copy, public graph_proxy { - friend class graph_node; - - template< typename Body > - class run_task : public task { - public: - run_task(Body& body) : my_body(body) {} - task *execute() __TBB_override { - my_body(); - return NULL; - } - private: - Body my_body; - }; - - template< typename Receiver, typename Body > - class run_and_put_task : public task { - public: - run_and_put_task(Receiver &r, Body& body) : my_receiver(r), my_body(body) {} - task *execute() __TBB_override { - task *res = my_receiver.try_put_task(my_body()); - if (res == SUCCESSFULLY_ENQUEUED) res = NULL; - return res; - } - private: - Receiver &my_receiver; - Body my_body; - }; - typedef std::list task_list_type; - - class wait_functor { - task* graph_root_task; - public: - wait_functor(task* t) : graph_root_task(t) {} - void operator()() const { graph_root_task->wait_for_all(); } - }; - - //! A functor that spawns a task - class spawn_functor : tbb::internal::no_assign { - tbb::task& task; - public: - spawn_functor(tbb::task& t) : task(t) {} - void operator()() const { - FLOW_SPAWN(task); - } - }; - - void prepare_task_arena(bool reinit = false) { - if (reinit) { - __TBB_ASSERT(my_task_arena, "task arena is NULL"); - my_task_arena->terminate(); - my_task_arena->initialize(tbb::task_arena::attach()); - } - else { - __TBB_ASSERT(my_task_arena == NULL, "task arena is not NULL"); - my_task_arena = new tbb::task_arena(tbb::task_arena::attach()); - } - if (!my_task_arena->is_active()) // failed to attach - my_task_arena->initialize(); // create a new, default-initialized arena - __TBB_ASSERT(my_task_arena->is_active(), "task arena is not active"); - } - -public: - //! Constructs a graph with isolated task_group_context - graph(); - - //! Constructs a graph with use_this_context as context - explicit graph(task_group_context& use_this_context); - - //! Destroys the graph. - /** Calls wait_for_all, then destroys the root task and context. */ - ~graph() { - wait_for_all(); - my_root_task->set_ref_count(0); - task::destroy(*my_root_task); - if (own_context) delete my_context; - delete my_task_arena; - } - -#if TBB_PREVIEW_FLOW_GRAPH_TRACE - void set_name(const char *name); -#endif - - void increment_wait_count() { - reserve_wait(); - } - - void decrement_wait_count() { - release_wait(); - } - - //! Used to register that an external entity may still interact with the graph. - /** The graph will not return from wait_for_all until a matching number of decrement_wait_count calls - is made. */ - void reserve_wait() __TBB_override; - - //! Deregisters an external entity that may have interacted with the graph. - /** The graph will not return from wait_for_all until all the number of decrement_wait_count calls - matches the number of increment_wait_count calls. */ - void release_wait() __TBB_override; - - //! Spawns a task that runs a body and puts its output to a specific receiver - /** The task is spawned as a child of the graph. This is useful for running tasks - that need to block a wait_for_all() on the graph. For example a one-off source. */ - template< typename Receiver, typename Body > - void run(Receiver &r, Body body) { - if (internal::is_graph_active(*this)) { - task* rtask = new (task::allocate_additional_child_of(*root_task())) - run_and_put_task< Receiver, Body >(r, body); - my_task_arena->execute(spawn_functor(*rtask)); - } - } - - //! Spawns a task that runs a function object - /** The task is spawned as a child of the graph. This is useful for running tasks - that need to block a wait_for_all() on the graph. For example a one-off source. */ - template< typename Body > - void run(Body body) { - if (internal::is_graph_active(*this)) { - task* rtask = new (task::allocate_additional_child_of(*root_task())) run_task< Body >(body); - my_task_arena->execute(spawn_functor(*rtask)); - } - } - - //! Wait until graph is idle and decrement_wait_count calls equals increment_wait_count calls. - /** The waiting thread will go off and steal work while it is block in the wait_for_all. */ - void wait_for_all() { - cancelled = false; - caught_exception = false; - if (my_root_task) { -#if TBB_USE_EXCEPTIONS - try { -#endif - my_task_arena->execute(wait_functor(my_root_task)); - cancelled = my_context->is_group_execution_cancelled(); -#if TBB_USE_EXCEPTIONS - } - catch (...) { - my_root_task->set_ref_count(1); - my_context->reset(); - caught_exception = true; - cancelled = true; - throw; - } -#endif - // TODO: the "if" condition below is just a work-around to support the concurrent wait - // mode. The cancellation and exception mechanisms are still broken in this mode. - // Consider using task group not to re-implement the same functionality. - if (!(my_context->traits() & task_group_context::concurrent_wait)) { - my_context->reset(); // consistent with behavior in catch() - my_root_task->set_ref_count(1); - } - } - } - - //! Returns the root task of the graph - task * root_task() { - return my_root_task; - } - - // ITERATORS - template - friend class graph_iterator; - - // Graph iterator typedefs - typedef graph_iterator iterator; - typedef graph_iterator const_iterator; - - // Graph iterator constructors - //! start iterator - iterator begin() { return iterator(this, true); } - //! end iterator - iterator end() { return iterator(this, false); } - //! start const iterator - const_iterator begin() const { return const_iterator(this, true); } - //! end const iterator - const_iterator end() const { return const_iterator(this, false); } - //! start const iterator - const_iterator cbegin() const { return const_iterator(this, true); } - //! end const iterator - const_iterator cend() const { return const_iterator(this, false); } - - //! return status of graph execution - bool is_cancelled() { return cancelled; } - bool exception_thrown() { return caught_exception; } - - // thread-unsafe state reset. - void reset(reset_flags f = rf_reset_protocol); - -private: - task *my_root_task; - task_group_context *my_context; - bool own_context; - bool cancelled; - bool caught_exception; - bool my_is_active; - task_list_type my_reset_task_list; - - graph_node *my_nodes, *my_nodes_last; - - spin_mutex nodelist_mutex; - void register_node(graph_node *n); - void remove_node(graph_node *n); - - task_arena* my_task_arena; - - friend void internal::activate_graph(graph& g); - friend void internal::deactivate_graph(graph& g); - friend bool internal::is_graph_active(graph& g); - friend void internal::spawn_in_graph_arena(graph& g, tbb::task& arena_task); - friend void internal::add_task_to_graph_reset_list(graph& g, task *tp); - template friend void internal::execute_in_graph_arena(graph& g, F& f); - -}; // class graph - -namespace internal { - -inline void activate_graph(graph& g) { - g.my_is_active = true; -} - -inline void deactivate_graph(graph& g) { - g.my_is_active = false; -} - -inline bool is_graph_active(graph& g) { - return g.my_is_active; -} - -//! Executes custom functor inside graph arena -template -inline void execute_in_graph_arena(graph& g, F& f) { - if (is_graph_active(g)) { - __TBB_ASSERT(g.my_task_arena && g.my_task_arena->is_active(), NULL); - g.my_task_arena->execute(f); - } -} +} // namespace internal -//! Spawns a task inside graph arena -inline void spawn_in_graph_arena(graph& g, tbb::task& arena_task) { - graph::spawn_functor s_fn(arena_task); - execute_in_graph_arena(g, s_fn); -} +} // namespace interface10 +} // namespace flow +} // namespace tbb -inline void add_task_to_graph_reset_list(graph& g, task *tp) { - g.my_reset_task_list.push_back(tp); -} +//! The graph class +#include "internal/_flow_graph_impl.h" -} +namespace tbb { +namespace flow { +namespace interface10 { // enqueue left task if necessary. Returns the non-enqueued task if there is one. static inline tbb::task *combine_tasks(graph& g, tbb::task * left, tbb::task * right) { @@ -1039,7 +707,8 @@ namespace tbb { namespace flow { namespace interface10 { -#include "internal/_flow_graph_impl.h" +#include "internal/_flow_graph_body_impl.h" +#include "internal/_flow_graph_cache_impl.h" #include "internal/_flow_graph_types_impl.h" #if __TBB_PREVIEW_ASYNC_MSG #include "internal/_flow_graph_async_msg_impl.h" @@ -1069,35 +738,6 @@ void graph_iterator::internal_forward() { if (current_node) current_node = current_node->next; } -//! The base of all graph nodes. -class graph_node : tbb::internal::no_copy { - friend class graph; - template - friend class graph_iterator; -protected: - graph& my_graph; - graph_node *next, *prev; -public: - explicit graph_node(graph& g) : my_graph(g) { - my_graph.register_node(this); - } - virtual ~graph_node() { - my_graph.remove_node(this); - } - -#if TBB_PREVIEW_FLOW_GRAPH_TRACE - virtual void set_name( const char *name ) = 0; -#endif - -#if TBB_PREVIEW_FLOW_GRAPH_FEATURES - virtual void extract( ) = 0; -#endif - -protected: - // performs the reset on an individual node. - virtual void reset_node(reset_flags f=rf_reset_protocol) = 0; -}; // class graph_node - //! Constructs a graph with isolated task_group_context inline graph::graph() : my_nodes(NULL), my_nodes_last(NULL), my_task_arena(NULL) { prepare_task_arena(); @@ -1754,7 +1394,7 @@ public: static_cast *>(this), static_cast *>(this) ); } - // Copy constructor; doesn't take anything from src; default won't work + //! Copy constructor; doesn't take anything from src; default won't work overwrite_node( const overwrite_node& src ) : graph_node(src.my_graph), receiver(), sender(), my_buffer_is_valid(false) { @@ -1771,17 +1411,33 @@ public: } #endif - bool register_successor( successor_type &s ) __TBB_override { + bool register_successor( successor_type &s ) __TBB_override { spin_mutex::scoped_lock l( my_mutex ); - if (my_buffer_is_valid && internal::is_graph_active(this->my_graph)) { + if (my_buffer_is_valid && internal::is_graph_active( my_graph )) { // We have a valid value that must be forwarded immediately. - if ( s.try_put( my_buffer ) || !s.register_predecessor( *this ) ) { + bool ret = s.try_put( my_buffer ); +#if TBB_PREVIEW_RESERVABLE_OVERWRITE_NODE + if ( ret ) { + // We add the successor that accepted our put + my_successors.register_successor( s ); + } else { + // In case of reservation a race between the moment of reservation and register_successor can appear, + // because failed reserve does not mean that register_successor is not ready to put a message immediately. + // We have some sort of infinite loop: reserving node tries to set pull state for the edge, + // but overwrite_node tries to return push state back. That is why we have to break this loop with task creation. + task *rtask = new ( task::allocate_additional_child_of( *( my_graph.root_task() ) ) ) + register_predecessor_task( *this, s ); + internal::spawn_in_graph_arena( my_graph, *rtask ); + } +#else + if ( ret || !s.register_predecessor( *this ) ) { // We add the successor: it accepted our put or it rejected it but won't let us become a predecessor my_successors.register_successor( s ); } else { // We don't add the successor: it rejected our put and we became its predecessor instead return false; } +#endif } else { // No valid value yet, just add as successor my_successors.register_successor( s ); @@ -1834,7 +1490,7 @@ public: return my_built_predecessors.edge_count(); } - void copy_predecessors(predecessor_list_type &v) __TBB_override { + void copy_predecessors( predecessor_list_type &v ) __TBB_override { spin_mutex::scoped_lock l( my_mutex ); my_built_predecessors.copy_edges(v); } @@ -1856,6 +1512,19 @@ public: return false; } +#if TBB_PREVIEW_RESERVABLE_OVERWRITE_NODE + //! Reserves an item + bool try_reserve( T &v ) __TBB_override { + return try_get(v); + } + + //! Releases the reserved item + bool try_release() __TBB_override { return true; } + + //! Consumes the reserved item + bool try_consume() __TBB_override { return true; } +#endif + bool is_valid() { spin_mutex::scoped_lock l( my_mutex ); return my_buffer_is_valid; @@ -1867,6 +1536,7 @@ public: } protected: + template< typename R, typename B > friend class run_and_put_task; template friend class internal::broadcast_cache; template friend class internal::round_robin_cache; @@ -1887,6 +1557,24 @@ protected: return my_graph; } +#if TBB_PREVIEW_RESERVABLE_OVERWRITE_NODE + //! Breaks an infinite loop between the node reservation and register_successor call + struct register_predecessor_task : public task { + register_predecessor_task(sender& owner, receiver& succ) : + o(owner), s(succ) {}; + + tbb::task* execute() __TBB_override { + if (!s.register_predecessor(o)) { + o.register_successor(s); + } + return NULL; + } + + sender& o; + receiver& s; + }; +#endif + spin_mutex my_mutex; internal::broadcast_cache< input_type, null_rw_mutex > my_successors; #if TBB_PREVIEW_FLOW_GRAPH_FEATURES @@ -1909,18 +1597,19 @@ class write_once_node : public overwrite_node { public: typedef T input_type; typedef T output_type; + typedef overwrite_node base_type; typedef typename receiver::predecessor_type predecessor_type; typedef typename sender::successor_type successor_type; //! Constructor - explicit write_once_node(graph& g) : overwrite_node(g) { + explicit write_once_node(graph& g) : base_type(g) { tbb::internal::fgt_node( tbb::internal::FLOW_WRITE_ONCE_NODE, &(this->my_graph), static_cast *>(this), static_cast *>(this) ); } //! Copy constructor: call base class copy constructor - write_once_node( const write_once_node& src ) : overwrite_node(src) { + write_once_node( const write_once_node& src ) : base_type(src) { tbb::internal::fgt_node( tbb::internal::FLOW_WRITE_ONCE_NODE, &(this->my_graph), static_cast *>(this), static_cast *>(this) ); diff --git a/include/tbb/internal/_flow_graph_body_impl.h b/include/tbb/internal/_flow_graph_body_impl.h new file mode 100644 index 0000000..54f3741 --- /dev/null +++ b/include/tbb/internal/_flow_graph_body_impl.h @@ -0,0 +1,320 @@ +/* + Copyright (c) 2005-2017 Intel Corporation + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + + +*/ + +#ifndef __TBB__flow_graph_body_impl_H +#define __TBB__flow_graph_body_impl_H + +#ifndef __TBB_flow_graph_H +#error Do not #include this internal file directly; use public TBB headers instead. +#endif + +// included in namespace tbb::flow::interfaceX (in flow_graph.h) + +namespace internal { + +typedef tbb::internal::uint64_t tag_value; + +using tbb::internal::strip; + +namespace graph_policy_namespace { + + struct rejecting { }; + struct reserving { }; + struct queueing { }; + + // K == type of field used for key-matching. Each tag-matching port will be provided + // functor that, given an object accepted by the port, will return the + /// field of type K being used for matching. + template::type > > + struct key_matching { + typedef K key_type; + typedef typename strip::type base_key_type; + typedef KHash hash_compare_type; + }; + + // old tag_matching join's new specifier + typedef key_matching tag_matching; + +} // namespace graph_policy_namespace + +// -------------- function_body containers ---------------------- + +//! A functor that takes no input and generates a value of type Output +template< typename Output > +class source_body : tbb::internal::no_assign { +public: + virtual ~source_body() {} + virtual bool operator()(Output &output) = 0; + virtual source_body* clone() = 0; +}; + +//! The leaf for source_body +template< typename Output, typename Body> +class source_body_leaf : public source_body { +public: + source_body_leaf( const Body &_body ) : body(_body) { } + bool operator()(Output &output) __TBB_override { return body( output ); } + source_body_leaf* clone() __TBB_override { + return new source_body_leaf< Output, Body >(body); + } + Body get_body() { return body; } +private: + Body body; +}; + +//! A functor that takes an Input and generates an Output +template< typename Input, typename Output > +class function_body : tbb::internal::no_assign { +public: + virtual ~function_body() {} + virtual Output operator()(const Input &input) = 0; + virtual function_body* clone() = 0; +}; + +//! the leaf for function_body +template +class function_body_leaf : public function_body< Input, Output > { +public: + function_body_leaf( const B &_body ) : body(_body) { } + Output operator()(const Input &i) __TBB_override { return body(i); } + B get_body() { return body; } + function_body_leaf* clone() __TBB_override { + return new function_body_leaf< Input, Output, B >(body); + } +private: + B body; +}; + +//! the leaf for function_body specialized for Input and output of continue_msg +template +class function_body_leaf< continue_msg, continue_msg, B> : public function_body< continue_msg, continue_msg > { +public: + function_body_leaf( const B &_body ) : body(_body) { } + continue_msg operator()( const continue_msg &i ) __TBB_override { + body(i); + return i; + } + B get_body() { return body; } + function_body_leaf* clone() __TBB_override { + return new function_body_leaf< continue_msg, continue_msg, B >(body); + } +private: + B body; +}; + +//! the leaf for function_body specialized for Output of continue_msg +template +class function_body_leaf< Input, continue_msg, B> : public function_body< Input, continue_msg > { +public: + function_body_leaf( const B &_body ) : body(_body) { } + continue_msg operator()(const Input &i) __TBB_override { + body(i); + return continue_msg(); + } + B get_body() { return body; } + function_body_leaf* clone() __TBB_override { + return new function_body_leaf< Input, continue_msg, B >(body); + } +private: + B body; +}; + +//! the leaf for function_body specialized for Input of continue_msg +template +class function_body_leaf< continue_msg, Output, B > : public function_body< continue_msg, Output > { +public: + function_body_leaf( const B &_body ) : body(_body) { } + Output operator()(const continue_msg &i) __TBB_override { + return body(i); + } + B get_body() { return body; } + function_body_leaf* clone() __TBB_override { + return new function_body_leaf< continue_msg, Output, B >(body); + } +private: + B body; +}; + +//! function_body that takes an Input and a set of output ports +template +class multifunction_body : tbb::internal::no_assign { +public: + virtual ~multifunction_body () {} + virtual void operator()(const Input &/* input*/, OutputSet &/*oset*/) = 0; + virtual multifunction_body* clone() = 0; + virtual void* get_body_ptr() = 0; +}; + +//! leaf for multifunction. OutputSet can be a std::tuple or a vector. +template +class multifunction_body_leaf : public multifunction_body { +public: + multifunction_body_leaf(const B &_body) : body(_body) { } + void operator()(const Input &input, OutputSet &oset) __TBB_override { + body(input, oset); // body may explicitly put() to one or more of oset. + } + void* get_body_ptr() __TBB_override { return &body; } + multifunction_body_leaf* clone() __TBB_override { + return new multifunction_body_leaf(body); + } + +private: + B body; +}; + +// ------ function bodies for hash_buffers and key-matching joins. + +template +class type_to_key_function_body : tbb::internal::no_assign { + public: + virtual ~type_to_key_function_body() {} + virtual Output operator()(const Input &input) = 0; // returns an Output + virtual type_to_key_function_body* clone() = 0; +}; + +// specialization for ref output +template +class type_to_key_function_body : tbb::internal::no_assign { + public: + virtual ~type_to_key_function_body() {} + virtual const Output & operator()(const Input &input) = 0; // returns a const Output& + virtual type_to_key_function_body* clone() = 0; +}; + +template +class type_to_key_function_body_leaf : public type_to_key_function_body { +public: + type_to_key_function_body_leaf( const B &_body ) : body(_body) { } + Output operator()(const Input &i) __TBB_override { return body(i); } + B get_body() { return body; } + type_to_key_function_body_leaf* clone() __TBB_override { + return new type_to_key_function_body_leaf< Input, Output, B>(body); + } +private: + B body; +}; + +template +class type_to_key_function_body_leaf : public type_to_key_function_body< Input, Output&> { +public: + type_to_key_function_body_leaf( const B &_body ) : body(_body) { } + const Output& operator()(const Input &i) __TBB_override { + return body(i); + } + B get_body() { return body; } + type_to_key_function_body_leaf* clone() __TBB_override { + return new type_to_key_function_body_leaf< Input, Output&, B>(body); + } +private: + B body; +}; + +// --------------------------- end of function_body containers ------------------------ + +// --------------------------- node task bodies --------------------------------------- + +//! A task that calls a node's forward_task function +template< typename NodeType > +class forward_task_bypass : public task { + + NodeType &my_node; + +public: + + forward_task_bypass( NodeType &n ) : my_node(n) {} + + task *execute() __TBB_override { + task * new_task = my_node.forward_task(); + if (new_task == SUCCESSFULLY_ENQUEUED) new_task = NULL; + return new_task; + } +}; + +//! A task that calls a node's apply_body_bypass function, passing in an input of type Input +// return the task* unless it is SUCCESSFULLY_ENQUEUED, in which case return NULL +template< typename NodeType, typename Input > +class apply_body_task_bypass : public task { + + NodeType &my_node; + Input my_input; + +public: + + apply_body_task_bypass( NodeType &n, const Input &i ) : my_node(n), my_input(i) {} + + task *execute() __TBB_override { + task * next_task = my_node.apply_body_bypass( my_input ); + if(next_task == SUCCESSFULLY_ENQUEUED) next_task = NULL; + return next_task; + } +}; + +//! A task that calls a node's apply_body_bypass function with no input +template< typename NodeType > +class source_task_bypass : public task { + + NodeType &my_node; + +public: + + source_task_bypass( NodeType &n ) : my_node(n) {} + + task *execute() __TBB_override { + task *new_task = my_node.apply_body_bypass( ); + if(new_task == SUCCESSFULLY_ENQUEUED) return NULL; + return new_task; + } +}; + +// ------------------------ end of node task bodies ----------------------------------- + +//! An empty functor that takes an Input and returns a default constructed Output +template< typename Input, typename Output > +struct empty_body { + Output operator()( const Input & ) const { return Output(); } +}; + +template +class decrementer : public continue_receiver, tbb::internal::no_copy { + + T *my_node; + + task *execute() __TBB_override { + return my_node->decrement_counter(); + } + +protected: + + graph& graph_reference() __TBB_override { + return my_node->my_graph; + } + +public: + + typedef continue_msg input_type; + typedef continue_msg output_type; + decrementer( int number_of_predecessors = 0 ) : continue_receiver( number_of_predecessors ) { } + void set_owner( T *node ) { my_node = node; } +}; + +} // namespace internal + +#endif // __TBB__flow_graph_body_impl_H + diff --git a/include/tbb/internal/_flow_graph_cache_impl.h b/include/tbb/internal/_flow_graph_cache_impl.h new file mode 100644 index 0000000..7fac84e --- /dev/null +++ b/include/tbb/internal/_flow_graph_cache_impl.h @@ -0,0 +1,562 @@ +/* + Copyright (c) 2005-2017 Intel Corporation + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + + +*/ + +#ifndef __TBB__flow_graph_cache_impl_H +#define __TBB__flow_graph_cache_impl_H + +#ifndef __TBB_flow_graph_H +#error Do not #include this internal file directly; use public TBB headers instead. +#endif + +// included in namespace tbb::flow::interfaceX (in flow_graph.h) + +namespace internal { + +//! A node_cache maintains a std::queue of elements of type T. Each operation is protected by a lock. +template< typename T, typename M=spin_mutex > +class node_cache { + public: + + typedef size_t size_type; + + bool empty() { + typename mutex_type::scoped_lock lock( my_mutex ); + return internal_empty(); + } + + void add( T &n ) { + typename mutex_type::scoped_lock lock( my_mutex ); + internal_push(n); + } + + void remove( T &n ) { + typename mutex_type::scoped_lock lock( my_mutex ); + for ( size_t i = internal_size(); i != 0; --i ) { + T &s = internal_pop(); + if ( &s == &n ) return; // only remove one predecessor per request + internal_push(s); + } + } + + void clear() { + while( !my_q.empty()) (void)my_q.pop(); +#if TBB_PREVIEW_FLOW_GRAPH_FEATURES + my_built_predecessors.clear(); +#endif + } + +#if TBB_PREVIEW_FLOW_GRAPH_FEATURES + typedef edge_container built_predecessors_type; + built_predecessors_type &built_predecessors() { return my_built_predecessors; } + + typedef typename edge_container::edge_list_type predecessor_list_type; + void internal_add_built_predecessor( T &n ) { + typename mutex_type::scoped_lock lock( my_mutex ); + my_built_predecessors.add_edge(n); + } + + void internal_delete_built_predecessor( T &n ) { + typename mutex_type::scoped_lock lock( my_mutex ); + my_built_predecessors.delete_edge(n); + } + + void copy_predecessors( predecessor_list_type &v) { + typename mutex_type::scoped_lock lock( my_mutex ); + my_built_predecessors.copy_edges(v); + } + + size_t predecessor_count() { + typename mutex_type::scoped_lock lock(my_mutex); + return (size_t)(my_built_predecessors.edge_count()); + } +#endif /* TBB_PREVIEW_FLOW_GRAPH_FEATURES */ + +protected: + + typedef M mutex_type; + mutex_type my_mutex; + std::queue< T * > my_q; +#if TBB_PREVIEW_FLOW_GRAPH_FEATURES + built_predecessors_type my_built_predecessors; +#endif + + // Assumes lock is held + inline bool internal_empty( ) { + return my_q.empty(); + } + + // Assumes lock is held + inline size_type internal_size( ) { + return my_q.size(); + } + + // Assumes lock is held + inline void internal_push( T &n ) { + my_q.push(&n); + } + + // Assumes lock is held + inline T &internal_pop() { + T *v = my_q.front(); + my_q.pop(); + return *v; + } + +}; + +//! A cache of predecessors that only supports try_get +template< typename T, typename M=spin_mutex > +#if __TBB_PREVIEW_ASYNC_MSG +// TODO: make predecessor_cache type T-independent when async_msg becomes regular feature +class predecessor_cache : public node_cache< untyped_sender, M > { +#else +class predecessor_cache : public node_cache< sender, M > { +#endif // __TBB_PREVIEW_ASYNC_MSG +public: + typedef M mutex_type; + typedef T output_type; +#if __TBB_PREVIEW_ASYNC_MSG + typedef untyped_sender predecessor_type; + typedef untyped_receiver successor_type; +#else + typedef sender predecessor_type; + typedef receiver successor_type; +#endif // __TBB_PREVIEW_ASYNC_MSG + + predecessor_cache( ) : my_owner( NULL ) { } + + void set_owner( successor_type *owner ) { my_owner = owner; } + + bool get_item( output_type &v ) { + + bool msg = false; + + do { + predecessor_type *src; + { + typename mutex_type::scoped_lock lock(this->my_mutex); + if ( this->internal_empty() ) { + break; + } + src = &this->internal_pop(); + } + + // Try to get from this sender + msg = src->try_get( v ); + + if (msg == false) { + // Relinquish ownership of the edge + if (my_owner) + src->register_successor( *my_owner ); + } else { + // Retain ownership of the edge + this->add(*src); + } + } while ( msg == false ); + return msg; + } + + // If we are removing arcs (rf_clear_edges), call clear() rather than reset(). + void reset() { + if (my_owner) { + for(;;) { + predecessor_type *src; + { + if (this->internal_empty()) break; + src = &this->internal_pop(); + } + src->register_successor( *my_owner ); + } + } + } + +protected: + +#if TBB_PREVIEW_FLOW_GRAPH_FEATURES + using node_cache< predecessor_type, M >::my_built_predecessors; +#endif + successor_type *my_owner; +}; + +//! An cache of predecessors that supports requests and reservations +// TODO: make reservable_predecessor_cache type T-independent when async_msg becomes regular feature +template< typename T, typename M=spin_mutex > +class reservable_predecessor_cache : public predecessor_cache< T, M > { +public: + typedef M mutex_type; + typedef T output_type; +#if __TBB_PREVIEW_ASYNC_MSG + typedef untyped_sender predecessor_type; + typedef untyped_receiver successor_type; +#else + typedef sender predecessor_type; + typedef receiver successor_type; +#endif // __TBB_PREVIEW_ASYNC_MSG + + reservable_predecessor_cache( ) : reserved_src(NULL) { } + + bool + try_reserve( output_type &v ) { + bool msg = false; + + do { + { + typename mutex_type::scoped_lock lock(this->my_mutex); + if ( reserved_src || this->internal_empty() ) + return false; + + reserved_src = &this->internal_pop(); + } + + // Try to get from this sender + msg = reserved_src->try_reserve( v ); + + if (msg == false) { + typename mutex_type::scoped_lock lock(this->my_mutex); + // Relinquish ownership of the edge + reserved_src->register_successor( *this->my_owner ); + reserved_src = NULL; + } else { + // Retain ownership of the edge + this->add( *reserved_src ); + } + } while ( msg == false ); + + return msg; + } + + bool + try_release( ) { + reserved_src->try_release( ); + reserved_src = NULL; + return true; + } + + bool + try_consume( ) { + reserved_src->try_consume( ); + reserved_src = NULL; + return true; + } + + void reset( ) { + reserved_src = NULL; + predecessor_cache::reset( ); + } + + void clear() { + reserved_src = NULL; + predecessor_cache::clear(); + } + +private: + predecessor_type *reserved_src; +}; + + +//! An abstract cache of successors +// TODO: make successor_cache type T-independent when async_msg becomes regular feature +template +class successor_cache : tbb::internal::no_copy { +protected: + + typedef M mutex_type; + mutex_type my_mutex; + +#if __TBB_PREVIEW_ASYNC_MSG + typedef untyped_receiver successor_type; + typedef untyped_receiver *pointer_type; + typedef untyped_sender owner_type; +#else + typedef receiver successor_type; + typedef receiver *pointer_type; + typedef sender owner_type; +#endif // __TBB_PREVIEW_ASYNC_MSG + typedef std::list< pointer_type > successors_type; +#if TBB_PREVIEW_FLOW_GRAPH_FEATURES + edge_container my_built_successors; +#endif + successors_type my_successors; + + owner_type *my_owner; + +public: +#if TBB_PREVIEW_FLOW_GRAPH_FEATURES + typedef typename edge_container::edge_list_type successor_list_type; + + edge_container &built_successors() { return my_built_successors; } + + void internal_add_built_successor( successor_type &r) { + typename mutex_type::scoped_lock l(my_mutex, true); + my_built_successors.add_edge( r ); + } + + void internal_delete_built_successor( successor_type &r) { + typename mutex_type::scoped_lock l(my_mutex, true); + my_built_successors.delete_edge(r); + } + + void copy_successors( successor_list_type &v) { + typename mutex_type::scoped_lock l(my_mutex, false); + my_built_successors.copy_edges(v); + } + + size_t successor_count() { + typename mutex_type::scoped_lock l(my_mutex,false); + return my_built_successors.edge_count(); + } + +#endif /* TBB_PREVIEW_FLOW_GRAPH_FEATURES */ + + successor_cache( ) : my_owner(NULL) {} + + void set_owner( owner_type *owner ) { my_owner = owner; } + + virtual ~successor_cache() {} + + void register_successor( successor_type &r ) { + typename mutex_type::scoped_lock l(my_mutex, true); + my_successors.push_back( &r ); + } + + void remove_successor( successor_type &r ) { + typename mutex_type::scoped_lock l(my_mutex, true); + for ( typename successors_type::iterator i = my_successors.begin(); + i != my_successors.end(); ++i ) { + if ( *i == & r ) { + my_successors.erase(i); + break; + } + } + } + + bool empty() { + typename mutex_type::scoped_lock l(my_mutex, false); + return my_successors.empty(); + } + + void clear() { + my_successors.clear(); +#if TBB_PREVIEW_FLOW_GRAPH_FEATURES + my_built_successors.clear(); +#endif + } + +#if !__TBB_PREVIEW_ASYNC_MSG + virtual task * try_put_task( const T &t ) = 0; +#endif // __TBB_PREVIEW_ASYNC_MSG + }; // successor_cache + +//! An abstract cache of successors, specialized to continue_msg +template<> +class successor_cache< continue_msg > : tbb::internal::no_copy { +protected: + + typedef spin_rw_mutex mutex_type; + mutex_type my_mutex; + +#if __TBB_PREVIEW_ASYNC_MSG + typedef untyped_receiver successor_type; + typedef untyped_receiver *pointer_type; +#else + typedef receiver successor_type; + typedef receiver *pointer_type; +#endif // __TBB_PREVIEW_ASYNC_MSG + typedef std::list< pointer_type > successors_type; + successors_type my_successors; +#if TBB_PREVIEW_FLOW_GRAPH_FEATURES + edge_container my_built_successors; + typedef edge_container::edge_list_type successor_list_type; +#endif + + sender *my_owner; + +public: + +#if TBB_PREVIEW_FLOW_GRAPH_FEATURES + + edge_container &built_successors() { return my_built_successors; } + + void internal_add_built_successor( successor_type &r) { + mutex_type::scoped_lock l(my_mutex, true); + my_built_successors.add_edge( r ); + } + + void internal_delete_built_successor( successor_type &r) { + mutex_type::scoped_lock l(my_mutex, true); + my_built_successors.delete_edge(r); + } + + void copy_successors( successor_list_type &v) { + mutex_type::scoped_lock l(my_mutex, false); + my_built_successors.copy_edges(v); + } + + size_t successor_count() { + mutex_type::scoped_lock l(my_mutex,false); + return my_built_successors.edge_count(); + } + +#endif /* TBB_PREVIEW_FLOW_GRAPH_FEATURES */ + + successor_cache( ) : my_owner(NULL) {} + + void set_owner( sender *owner ) { my_owner = owner; } + + virtual ~successor_cache() {} + + void register_successor( successor_type &r ) { + mutex_type::scoped_lock l(my_mutex, true); + my_successors.push_back( &r ); + if ( my_owner && r.is_continue_receiver() ) { + r.register_predecessor( *my_owner ); + } + } + + void remove_successor( successor_type &r ) { + mutex_type::scoped_lock l(my_mutex, true); + for ( successors_type::iterator i = my_successors.begin(); + i != my_successors.end(); ++i ) { + if ( *i == & r ) { + // TODO: Check if we need to test for continue_receiver before + // removing from r. + if ( my_owner ) + r.remove_predecessor( *my_owner ); + my_successors.erase(i); + break; + } + } + } + + bool empty() { + mutex_type::scoped_lock l(my_mutex, false); + return my_successors.empty(); + } + + void clear() { + my_successors.clear(); +#if TBB_PREVIEW_FLOW_GRAPH_FEATURES + my_built_successors.clear(); +#endif + } + +#if !__TBB_PREVIEW_ASYNC_MSG + virtual task * try_put_task( const continue_msg &t ) = 0; +#endif // __TBB_PREVIEW_ASYNC_MSG + +}; // successor_cache< continue_msg > + +//! A cache of successors that are broadcast to +// TODO: make broadcast_cache type T-independent when async_msg becomes regular feature +template +class broadcast_cache : public successor_cache { + typedef M mutex_type; + typedef typename successor_cache::successors_type successors_type; + +public: + + broadcast_cache( ) {} + + // as above, but call try_put_task instead, and return the last task we received (if any) +#if __TBB_PREVIEW_ASYNC_MSG + template + task * try_put_task( const X &t ) { +#else + task * try_put_task( const T &t ) __TBB_override { +#endif // __TBB_PREVIEW_ASYNC_MSG + task * last_task = NULL; + bool upgraded = true; + typename mutex_type::scoped_lock l(this->my_mutex, upgraded); + typename successors_type::iterator i = this->my_successors.begin(); + while ( i != this->my_successors.end() ) { + task *new_task = (*i)->try_put_task(t); + // workaround for icc bug + graph& graph_ref = (*i)->graph_reference(); + last_task = combine_tasks(graph_ref, last_task, new_task); // enqueue if necessary + if(new_task) { + ++i; + } + else { // failed + if ( (*i)->register_predecessor(*this->my_owner) ) { + if (!upgraded) { + l.upgrade_to_writer(); + upgraded = true; + } + i = this->my_successors.erase(i); + } else { + ++i; + } + } + } + return last_task; + } + +}; + +//! A cache of successors that are put in a round-robin fashion +// TODO: make round_robin_cache type T-independent when async_msg becomes regular feature +template +class round_robin_cache : public successor_cache { + typedef size_t size_type; + typedef M mutex_type; + typedef typename successor_cache::successors_type successors_type; + +public: + + round_robin_cache( ) {} + + size_type size() { + typename mutex_type::scoped_lock l(this->my_mutex, false); + return this->my_successors.size(); + } + +#if __TBB_PREVIEW_ASYNC_MSG + template + task * try_put_task( const X &t ) { +#else + task *try_put_task( const T &t ) __TBB_override { +#endif // __TBB_PREVIEW_ASYNC_MSG + bool upgraded = true; + typename mutex_type::scoped_lock l(this->my_mutex, upgraded); + typename successors_type::iterator i = this->my_successors.begin(); + while ( i != this->my_successors.end() ) { + task *new_task = (*i)->try_put_task(t); + if ( new_task ) { + return new_task; + } else { + if ( (*i)->register_predecessor(*this->my_owner) ) { + if (!upgraded) { + l.upgrade_to_writer(); + upgraded = true; + } + i = this->my_successors.erase(i); + } + else { + ++i; + } + } + } + return NULL; + } +}; + +} // namespace internal + +#endif // __TBB__flow_graph_cache_impl_H diff --git a/include/tbb/internal/_flow_graph_impl.h b/include/tbb/internal/_flow_graph_impl.h index 4e7504f..ffdd57b 100644 --- a/include/tbb/internal/_flow_graph_impl.h +++ b/include/tbb/internal/_flow_graph_impl.h @@ -18,830 +18,406 @@ */ -#ifndef __TBB__flow_graph_impl_H -#define __TBB__flow_graph_impl_H +#ifndef __TBB_flow_graph_impl_H +#define __TBB_flow_graph_impl_H -#ifndef __TBB_flow_graph_H -#error Do not #include this internal file directly; use public TBB headers instead. -#endif +#include "../tbb_stddef.h" +#include "../task.h" +#include "../task_arena.h" +#include "../flow_graph_abstractions.h" -// included in namespace tbb::flow::interfaceX (in flow_graph.h) +#include -namespace internal { +#if TBB_DEPRECATED_FLOW_ENQUEUE +#define FLOW_SPAWN(a) tbb::task::enqueue((a)) +#else +#define FLOW_SPAWN(a) tbb::task::spawn((a)) +#endif - typedef tbb::internal::uint64_t tag_value; +namespace tbb { +namespace flow { - using tbb::internal::strip; +namespace internal { +static tbb::task * const SUCCESSFULLY_ENQUEUED = (task *)-1; +} - namespace graph_policy_namespace { +namespace interface10 { - struct rejecting { }; - struct reserving { }; - struct queueing { }; +using tbb::flow::internal::SUCCESSFULLY_ENQUEUED; - // K == type of field used for key-matching. Each tag-matching port will be provided - // functor that, given an object accepted by the port, will return the - /// field of type K being used for matching. - template::type > > - struct key_matching { - typedef K key_type; - typedef typename strip::type base_key_type; - typedef KHash hash_compare_type; - }; +class graph; +class graph_node; - // old tag_matching join's new specifier - typedef key_matching tag_matching; +template +class graph_iterator { + friend class graph; + friend class graph_node; +public: + typedef size_t size_type; + typedef GraphNodeType value_type; + typedef GraphNodeType* pointer; + typedef GraphNodeType& reference; + typedef const GraphNodeType& const_reference; + typedef std::forward_iterator_tag iterator_category; + + //! Default constructor + graph_iterator() : my_graph(NULL), current_node(NULL) {} + + //! Copy constructor + graph_iterator(const graph_iterator& other) : + my_graph(other.my_graph), current_node(other.current_node) + {} + + //! Assignment + graph_iterator& operator=(const graph_iterator& other) { + if (this != &other) { + my_graph = other.my_graph; + current_node = other.current_node; + } + return *this; } -// -------------- function_body containers ---------------------- - - //! A functor that takes no input and generates a value of type Output - template< typename Output > - class source_body : tbb::internal::no_assign { - public: - virtual ~source_body() {} - virtual bool operator()(Output &output) = 0; - virtual source_body* clone() = 0; - }; + //! Dereference + reference operator*() const; - //! The leaf for source_body - template< typename Output, typename Body> - class source_body_leaf : public source_body { - public: - source_body_leaf( const Body &_body ) : body(_body) { } - bool operator()(Output &output) __TBB_override { return body( output ); } - source_body_leaf* clone() __TBB_override { - return new source_body_leaf< Output, Body >(body); - } - Body get_body() { return body; } - private: - Body body; - }; + //! Dereference + pointer operator->() const; - //! A functor that takes an Input and generates an Output - template< typename Input, typename Output > - class function_body : tbb::internal::no_assign { - public: - virtual ~function_body() {} - virtual Output operator()(const Input &input) = 0; - virtual function_body* clone() = 0; - }; - - //! the leaf for function_body - template - class function_body_leaf : public function_body< Input, Output > { - public: - function_body_leaf( const B &_body ) : body(_body) { } - Output operator()(const Input &i) __TBB_override { return body(i); } - B get_body() { return body; } - function_body_leaf* clone() __TBB_override { - return new function_body_leaf< Input, Output, B >(body); - } - private: - B body; - }; - - //! the leaf for function_body specialized for Input and output of continue_msg - template - class function_body_leaf< continue_msg, continue_msg, B> : public function_body< continue_msg, continue_msg > { - public: - function_body_leaf( const B &_body ) : body(_body) { } - continue_msg operator()( const continue_msg &i ) __TBB_override { - body(i); - return i; - } - B get_body() { return body; } - function_body_leaf* clone() __TBB_override { - return new function_body_leaf< continue_msg, continue_msg, B >(body); - } - private: - B body; - }; - - //! the leaf for function_body specialized for Output of continue_msg - template - class function_body_leaf< Input, continue_msg, B> : public function_body< Input, continue_msg > { - public: - function_body_leaf( const B &_body ) : body(_body) { } - continue_msg operator()(const Input &i) __TBB_override { - body(i); - return continue_msg(); - } - B get_body() { return body; } - function_body_leaf* clone() __TBB_override { - return new function_body_leaf< Input, continue_msg, B >(body); - } - private: - B body; - }; - - //! the leaf for function_body specialized for Input of continue_msg - template - class function_body_leaf< continue_msg, Output, B > : public function_body< continue_msg, Output > { - public: - function_body_leaf( const B &_body ) : body(_body) { } - Output operator()(const continue_msg &i) __TBB_override { - return body(i); - } - B get_body() { return body; } - function_body_leaf* clone() __TBB_override { - return new function_body_leaf< continue_msg, Output, B >(body); - } - private: - B body; - }; - - //! function_body that takes an Input and a set of output ports - template - class multifunction_body : tbb::internal::no_assign { - public: - virtual ~multifunction_body () {} - virtual void operator()(const Input &/* input*/, OutputSet &/*oset*/) = 0; - virtual multifunction_body* clone() = 0; - virtual void* get_body_ptr() = 0; - }; - - //! leaf for multifunction. OutputSet can be a std::tuple or a vector. - template - class multifunction_body_leaf : public multifunction_body { - public: - multifunction_body_leaf(const B &_body) : body(_body) { } - void operator()(const Input &input, OutputSet &oset) __TBB_override { - body(input, oset); // body may explicitly put() to one or more of oset. - } - void* get_body_ptr() __TBB_override { return &body; } - multifunction_body_leaf* clone() __TBB_override { - return new multifunction_body_leaf(body); - } - - private: - B body; - }; - -// ------ function bodies for hash_buffers and key-matching joins. + //! Equality + bool operator==(const graph_iterator& other) const { + return ((my_graph == other.my_graph) && (current_node == other.current_node)); + } -template -class type_to_key_function_body : tbb::internal::no_assign { - public: - virtual ~type_to_key_function_body() {} - virtual Output operator()(const Input &input) = 0; // returns an Output - virtual type_to_key_function_body* clone() = 0; -}; + //! Inequality + bool operator!=(const graph_iterator& other) const { return !(operator==(other)); } -// specialization for ref output -template -class type_to_key_function_body : tbb::internal::no_assign { - public: - virtual ~type_to_key_function_body() {} - virtual const Output & operator()(const Input &input) = 0; // returns a const Output& - virtual type_to_key_function_body* clone() = 0; -}; - -template -class type_to_key_function_body_leaf : public type_to_key_function_body { -public: - type_to_key_function_body_leaf( const B &_body ) : body(_body) { } - Output operator()(const Input &i) __TBB_override { return body(i); } - B get_body() { return body; } - type_to_key_function_body_leaf* clone() __TBB_override { - return new type_to_key_function_body_leaf< Input, Output, B>(body); + //! Pre-increment + graph_iterator& operator++() { + internal_forward(); + return *this; } -private: - B body; -}; -template -class type_to_key_function_body_leaf : public type_to_key_function_body< Input, Output&> { -public: - type_to_key_function_body_leaf( const B &_body ) : body(_body) { } - const Output& operator()(const Input &i) __TBB_override { - return body(i); - } - B get_body() { return body; } - type_to_key_function_body_leaf* clone() __TBB_override { - return new type_to_key_function_body_leaf< Input, Output&, B>(body); + //! Post-increment + graph_iterator operator++(int) { + graph_iterator result = *this; + operator++(); + return result; } + private: - B body; + // the graph over which we are iterating + GraphContainerType *my_graph; + // pointer into my_graph's my_nodes list + pointer current_node; + + //! Private initializing constructor for begin() and end() iterators + graph_iterator(GraphContainerType *g, bool begin); + void internal_forward(); +}; // class graph_iterator + +// flags to modify the behavior of the graph reset(). Can be combined. +enum reset_flags { + rf_reset_protocol = 0, + rf_reset_bodies = 1 << 0, // delete the current node body, reset to a copy of the initial node body. + rf_clear_edges = 1 << 1 // delete edges }; -// --------------------------- end of function_body containers ------------------------ +namespace internal { -// --------------------------- node task bodies --------------------------------------- +void activate_graph(graph& g); +void deactivate_graph(graph& g); +bool is_graph_active(graph& g); +void spawn_in_graph_arena(graph& g, tbb::task& arena_task); +void add_task_to_graph_reset_list(graph& g, tbb::task *tp); +template void execute_in_graph_arena(graph& g, F& f); - //! A task that calls a node's forward_task function - template< typename NodeType > - class forward_task_bypass : public task { +} - NodeType &my_node; +//! The graph class +/** This class serves as a handle to the graph */ +class graph : tbb::internal::no_copy, public tbb::flow::graph_proxy { + friend class graph_node; + template< typename Body > + class run_task : public task { public: - - forward_task_bypass( NodeType &n ) : my_node(n) {} - - task *execute() __TBB_override { - task * new_task = my_node.forward_task(); - if (new_task == SUCCESSFULLY_ENQUEUED) new_task = NULL; - return new_task; + run_task(Body& body) : my_body(body) {} + tbb::task *execute() __TBB_override { + my_body(); + return NULL; } + private: + Body my_body; }; - //! A task that calls a node's apply_body_bypass function, passing in an input of type Input - // return the task* unless it is SUCCESSFULLY_ENQUEUED, in which case return NULL - template< typename NodeType, typename Input > - class apply_body_task_bypass : public task { - - NodeType &my_node; - Input my_input; - + template< typename Receiver, typename Body > + class run_and_put_task : public task { public: - - apply_body_task_bypass( NodeType &n, const Input &i ) : my_node(n), my_input(i) {} - - task *execute() __TBB_override { - task * next_task = my_node.apply_body_bypass( my_input ); - if(next_task == SUCCESSFULLY_ENQUEUED) next_task = NULL; - return next_task; + run_and_put_task(Receiver &r, Body& body) : my_receiver(r), my_body(body) {} + tbb::task *execute() __TBB_override { + tbb::task *res = my_receiver.try_put_task(my_body()); + if (res == SUCCESSFULLY_ENQUEUED) res = NULL; + return res; } + private: + Receiver &my_receiver; + Body my_body; }; + typedef std::list task_list_type; - //! A task that calls a node's apply_body_bypass function with no input - template< typename NodeType > - class source_task_bypass : public task { - - NodeType &my_node; - + class wait_functor { + tbb::task* graph_root_task; public: - - source_task_bypass( NodeType &n ) : my_node(n) {} - - task *execute() __TBB_override { - task *new_task = my_node.apply_body_bypass( ); - if(new_task == SUCCESSFULLY_ENQUEUED) return NULL; - return new_task; - } - }; - -// ------------------------ end of node task bodies ----------------------------------- - - //! An empty functor that takes an Input and returns a default constructed Output - template< typename Input, typename Output > - struct empty_body { - Output operator()( const Input & ) const { return Output(); } - }; - - //! A node_cache maintains a std::queue of elements of type T. Each operation is protected by a lock. - template< typename T, typename M=spin_mutex > - class node_cache { - public: - - typedef size_t size_type; - - bool empty() { - typename mutex_type::scoped_lock lock( my_mutex ); - return internal_empty(); - } - - void add( T &n ) { - typename mutex_type::scoped_lock lock( my_mutex ); - internal_push(n); - } - - void remove( T &n ) { - typename mutex_type::scoped_lock lock( my_mutex ); - for ( size_t i = internal_size(); i != 0; --i ) { - T &s = internal_pop(); - if ( &s == &n ) return; // only remove one predecessor per request - internal_push(s); - } - } - - void clear() { - while( !my_q.empty()) (void)my_q.pop(); -#if TBB_PREVIEW_FLOW_GRAPH_FEATURES - my_built_predecessors.clear(); -#endif - } - -#if TBB_PREVIEW_FLOW_GRAPH_FEATURES - typedef edge_container built_predecessors_type; - built_predecessors_type &built_predecessors() { return my_built_predecessors; } - - typedef typename edge_container::edge_list_type predecessor_list_type; - void internal_add_built_predecessor( T &n ) { - typename mutex_type::scoped_lock lock( my_mutex ); - my_built_predecessors.add_edge(n); - } - - void internal_delete_built_predecessor( T &n ) { - typename mutex_type::scoped_lock lock( my_mutex ); - my_built_predecessors.delete_edge(n); - } - - void copy_predecessors( predecessor_list_type &v) { - typename mutex_type::scoped_lock lock( my_mutex ); - my_built_predecessors.copy_edges(v); - } - - size_t predecessor_count() { - typename mutex_type::scoped_lock lock(my_mutex); - return (size_t)(my_built_predecessors.edge_count()); - } -#endif /* TBB_PREVIEW_FLOW_GRAPH_FEATURES */ - - protected: - - typedef M mutex_type; - mutex_type my_mutex; - std::queue< T * > my_q; -#if TBB_PREVIEW_FLOW_GRAPH_FEATURES - built_predecessors_type my_built_predecessors; -#endif - - // Assumes lock is held - inline bool internal_empty( ) { - return my_q.empty(); - } - - // Assumes lock is held - inline size_type internal_size( ) { - return my_q.size(); - } - - // Assumes lock is held - inline void internal_push( T &n ) { - my_q.push(&n); - } - - // Assumes lock is held - inline T &internal_pop() { - T *v = my_q.front(); - my_q.pop(); - return *v; - } - + wait_functor(tbb::task* t) : graph_root_task(t) {} + void operator()() const { graph_root_task->wait_for_all(); } }; - //! A cache of predecessors that only supports try_get - template< typename T, typename M=spin_mutex > -#if __TBB_PREVIEW_ASYNC_MSG - // TODO: make predecessor_cache type T-independent when async_msg becomes regular feature - class predecessor_cache : public node_cache< untyped_sender, M > { -#else - class predecessor_cache : public node_cache< sender, M > { -#endif // __TBB_PREVIEW_ASYNC_MSG + //! A functor that spawns a task + class spawn_functor : tbb::internal::no_assign { + tbb::task& spawn_task; public: - typedef M mutex_type; - typedef T output_type; -#if __TBB_PREVIEW_ASYNC_MSG - typedef untyped_sender predecessor_type; - typedef untyped_receiver successor_type; -#else - typedef sender predecessor_type; - typedef receiver successor_type; -#endif // __TBB_PREVIEW_ASYNC_MSG - - predecessor_cache( ) : my_owner( NULL ) { } - - void set_owner( successor_type *owner ) { my_owner = owner; } - - bool get_item( output_type &v ) { - - bool msg = false; - - do { - predecessor_type *src; - { - typename mutex_type::scoped_lock lock(this->my_mutex); - if ( this->internal_empty() ) { - break; - } - src = &this->internal_pop(); - } - - // Try to get from this sender - msg = src->try_get( v ); - - if (msg == false) { - // Relinquish ownership of the edge - if (my_owner) - src->register_successor( *my_owner ); - } else { - // Retain ownership of the edge - this->add(*src); - } - } while ( msg == false ); - return msg; - } - - // If we are removing arcs (rf_clear_edges), call clear() rather than reset(). - void reset() { - if (my_owner) { - for(;;) { - predecessor_type *src; - { - if (this->internal_empty()) break; - src = &this->internal_pop(); - } - src->register_successor( *my_owner ); - } - } + spawn_functor(tbb::task& t) : spawn_task(t) {} + void operator()() const { + FLOW_SPAWN(spawn_task); } - - protected: - -#if TBB_PREVIEW_FLOW_GRAPH_FEATURES - using node_cache< predecessor_type, M >::my_built_predecessors; -#endif - successor_type *my_owner; }; - //! An cache of predecessors that supports requests and reservations - // TODO: make reservable_predecessor_cache type T-independent when async_msg becomes regular feature - template< typename T, typename M=spin_mutex > - class reservable_predecessor_cache : public predecessor_cache< T, M > { - public: - typedef M mutex_type; - typedef T output_type; -#if __TBB_PREVIEW_ASYNC_MSG - typedef untyped_sender predecessor_type; - typedef untyped_receiver successor_type; -#else - typedef sender predecessor_type; - typedef receiver successor_type; -#endif // __TBB_PREVIEW_ASYNC_MSG - - reservable_predecessor_cache( ) : reserved_src(NULL) { } - - bool - try_reserve( output_type &v ) { - bool msg = false; - - do { - { - typename mutex_type::scoped_lock lock(this->my_mutex); - if ( reserved_src || this->internal_empty() ) - return false; - - reserved_src = &this->internal_pop(); - } - - // Try to get from this sender - msg = reserved_src->try_reserve( v ); - - if (msg == false) { - typename mutex_type::scoped_lock lock(this->my_mutex); - // Relinquish ownership of the edge - reserved_src->register_successor( *this->my_owner ); - reserved_src = NULL; - } else { - // Retain ownership of the edge - this->add( *reserved_src ); - } - } while ( msg == false ); - - return msg; - } - - bool - try_release( ) { - reserved_src->try_release( ); - reserved_src = NULL; - return true; - } - - bool - try_consume( ) { - reserved_src->try_consume( ); - reserved_src = NULL; - return true; + void prepare_task_arena(bool reinit = false) { + if (reinit) { + __TBB_ASSERT(my_task_arena, "task arena is NULL"); + my_task_arena->terminate(); + my_task_arena->initialize(tbb::task_arena::attach()); } - - void reset( ) { - reserved_src = NULL; - predecessor_cache::reset( ); - } - - void clear() { - reserved_src = NULL; - predecessor_cache::clear(); + else { + __TBB_ASSERT(my_task_arena == NULL, "task arena is not NULL"); + my_task_arena = new tbb::task_arena(tbb::task_arena::attach()); } + if (!my_task_arena->is_active()) // failed to attach + my_task_arena->initialize(); // create a new, default-initialized arena + __TBB_ASSERT(my_task_arena->is_active(), "task arena is not active"); + } - private: - predecessor_type *reserved_src; - }; - - - //! An abstract cache of successors - // TODO: make successor_cache type T-independent when async_msg becomes regular feature - template - class successor_cache : tbb::internal::no_copy { - protected: - - typedef M mutex_type; - mutex_type my_mutex; +public: + //! Constructs a graph with isolated task_group_context + graph(); + + //! Constructs a graph with use_this_context as context + explicit graph(tbb::task_group_context& use_this_context); + + //! Destroys the graph. + /** Calls wait_for_all, then destroys the root task and context. */ + ~graph() { + wait_for_all(); + my_root_task->set_ref_count(0); + tbb::task::destroy(*my_root_task); + if (own_context) delete my_context; + delete my_task_arena; + } -#if __TBB_PREVIEW_ASYNC_MSG - typedef untyped_receiver successor_type; - typedef untyped_receiver *pointer_type; - typedef untyped_sender owner_type; -#else - typedef receiver successor_type; - typedef receiver *pointer_type; - typedef sender owner_type; -#endif // __TBB_PREVIEW_ASYNC_MSG - typedef std::list< pointer_type > successors_type; -#if TBB_PREVIEW_FLOW_GRAPH_FEATURES - edge_container my_built_successors; +#if TBB_PREVIEW_FLOW_GRAPH_TRACE + void set_name(const char *name); #endif - successors_type my_successors; - - owner_type *my_owner; - public: -#if TBB_PREVIEW_FLOW_GRAPH_FEATURES - typedef typename edge_container::edge_list_type successor_list_type; - - edge_container &built_successors() { return my_built_successors; } - - void internal_add_built_successor( successor_type &r) { - typename mutex_type::scoped_lock l(my_mutex, true); - my_built_successors.add_edge( r ); - } - - void internal_delete_built_successor( successor_type &r) { - typename mutex_type::scoped_lock l(my_mutex, true); - my_built_successors.delete_edge(r); - } - - void copy_successors( successor_list_type &v) { - typename mutex_type::scoped_lock l(my_mutex, false); - my_built_successors.copy_edges(v); - } - - size_t successor_count() { - typename mutex_type::scoped_lock l(my_mutex,false); - return my_built_successors.edge_count(); - } - -#endif /* TBB_PREVIEW_FLOW_GRAPH_FEATURES */ - - successor_cache( ) : my_owner(NULL) {} - - void set_owner( owner_type *owner ) { my_owner = owner; } - - virtual ~successor_cache() {} - - void register_successor( successor_type &r ) { - typename mutex_type::scoped_lock l(my_mutex, true); - my_successors.push_back( &r ); - } + void increment_wait_count() { + reserve_wait(); + } - void remove_successor( successor_type &r ) { - typename mutex_type::scoped_lock l(my_mutex, true); - for ( typename successors_type::iterator i = my_successors.begin(); - i != my_successors.end(); ++i ) { - if ( *i == & r ) { - my_successors.erase(i); - break; - } - } - } + void decrement_wait_count() { + release_wait(); + } - bool empty() { - typename mutex_type::scoped_lock l(my_mutex, false); - return my_successors.empty(); + //! Used to register that an external entity may still interact with the graph. + /** The graph will not return from wait_for_all until a matching number of decrement_wait_count calls + is made. */ + void reserve_wait() __TBB_override; + + //! Deregisters an external entity that may have interacted with the graph. + /** The graph will not return from wait_for_all until all the number of decrement_wait_count calls + matches the number of increment_wait_count calls. */ + void release_wait() __TBB_override; + + //! Spawns a task that runs a body and puts its output to a specific receiver + /** The task is spawned as a child of the graph. This is useful for running tasks + that need to block a wait_for_all() on the graph. For example a one-off source. */ + template< typename Receiver, typename Body > + void run(Receiver &r, Body body) { + if (internal::is_graph_active(*this)) { + task* rtask = new (task::allocate_additional_child_of(*root_task())) + run_and_put_task< Receiver, Body >(r, body); + my_task_arena->execute(spawn_functor(*rtask)); } + } - void clear() { - my_successors.clear(); -#if TBB_PREVIEW_FLOW_GRAPH_FEATURES - my_built_successors.clear(); -#endif + //! Spawns a task that runs a function object + /** The task is spawned as a child of the graph. This is useful for running tasks + that need to block a wait_for_all() on the graph. For example a one-off source. */ + template< typename Body > + void run(Body body) { + if (internal::is_graph_active(*this)) { + task* rtask = new (task::allocate_additional_child_of(*root_task())) run_task< Body >(body); + my_task_arena->execute(spawn_functor(*rtask)); } + } -#if !__TBB_PREVIEW_ASYNC_MSG - virtual task * try_put_task( const T &t ) = 0; -#endif // __TBB_PREVIEW_ASYNC_MSG - }; // successor_cache - - //! An abstract cache of successors, specialized to continue_msg - template<> - class successor_cache< continue_msg > : tbb::internal::no_copy { - protected: - - typedef spin_rw_mutex mutex_type; - mutex_type my_mutex; - -#if __TBB_PREVIEW_ASYNC_MSG - typedef untyped_receiver successor_type; - typedef untyped_receiver *pointer_type; -#else - typedef receiver successor_type; - typedef receiver *pointer_type; -#endif // __TBB_PREVIEW_ASYNC_MSG - typedef std::list< pointer_type > successors_type; - successors_type my_successors; -#if TBB_PREVIEW_FLOW_GRAPH_FEATURES - edge_container my_built_successors; - typedef edge_container::edge_list_type successor_list_type; + //! Wait until graph is idle and decrement_wait_count calls equals increment_wait_count calls. + /** The waiting thread will go off and steal work while it is block in the wait_for_all. */ + void wait_for_all() { + cancelled = false; + caught_exception = false; + if (my_root_task) { +#if TBB_USE_EXCEPTIONS + try { #endif - - sender *my_owner; - - public: - -#if TBB_PREVIEW_FLOW_GRAPH_FEATURES - - edge_container &built_successors() { return my_built_successors; } - - void internal_add_built_successor( successor_type &r) { - mutex_type::scoped_lock l(my_mutex, true); - my_built_successors.add_edge( r ); - } - - void internal_delete_built_successor( successor_type &r) { - mutex_type::scoped_lock l(my_mutex, true); - my_built_successors.delete_edge(r); - } - - void copy_successors( successor_list_type &v) { - mutex_type::scoped_lock l(my_mutex, false); - my_built_successors.copy_edges(v); - } - - size_t successor_count() { - mutex_type::scoped_lock l(my_mutex,false); - return my_built_successors.edge_count(); - } - -#endif /* TBB_PREVIEW_FLOW_GRAPH_FEATURES */ - - successor_cache( ) : my_owner(NULL) {} - - void set_owner( sender *owner ) { my_owner = owner; } - - virtual ~successor_cache() {} - - void register_successor( successor_type &r ) { - mutex_type::scoped_lock l(my_mutex, true); - my_successors.push_back( &r ); - if ( my_owner && r.is_continue_receiver() ) { - r.register_predecessor( *my_owner ); + my_task_arena->execute(wait_functor(my_root_task)); + cancelled = my_context->is_group_execution_cancelled(); +#if TBB_USE_EXCEPTIONS } - } - - void remove_successor( successor_type &r ) { - mutex_type::scoped_lock l(my_mutex, true); - for ( successors_type::iterator i = my_successors.begin(); - i != my_successors.end(); ++i ) { - if ( *i == & r ) { - // TODO: Check if we need to test for continue_receiver before - // removing from r. - if ( my_owner ) - r.remove_predecessor( *my_owner ); - my_successors.erase(i); - break; - } + catch (...) { + my_root_task->set_ref_count(1); + my_context->reset(); + caught_exception = true; + cancelled = true; + throw; } - } - - bool empty() { - mutex_type::scoped_lock l(my_mutex, false); - return my_successors.empty(); - } - - void clear() { - my_successors.clear(); -#if TBB_PREVIEW_FLOW_GRAPH_FEATURES - my_built_successors.clear(); #endif - } - -#if !__TBB_PREVIEW_ASYNC_MSG - virtual task * try_put_task( const continue_msg &t ) = 0; -#endif // __TBB_PREVIEW_ASYNC_MSG - - }; // successor_cache< continue_msg > - - //! A cache of successors that are broadcast to - // TODO: make broadcast_cache type T-independent when async_msg becomes regular feature - template - class broadcast_cache : public successor_cache { - typedef M mutex_type; - typedef typename successor_cache::successors_type successors_type; - - public: - - broadcast_cache( ) {} - - // as above, but call try_put_task instead, and return the last task we received (if any) -#if __TBB_PREVIEW_ASYNC_MSG - template - task * try_put_task( const X &t ) { -#else - task * try_put_task( const T &t ) __TBB_override { -#endif // __TBB_PREVIEW_ASYNC_MSG - task * last_task = NULL; - bool upgraded = true; - typename mutex_type::scoped_lock l(this->my_mutex, upgraded); - typename successors_type::iterator i = this->my_successors.begin(); - while ( i != this->my_successors.end() ) { - task *new_task = (*i)->try_put_task(t); - // workaround for icc bug - graph& graph_ref = (*i)->graph_reference(); - last_task = combine_tasks(graph_ref, last_task, new_task); // enqueue if necessary - if(new_task) { - ++i; - } - else { // failed - if ( (*i)->register_predecessor(*this->my_owner) ) { - if (!upgraded) { - l.upgrade_to_writer(); - upgraded = true; - } - i = this->my_successors.erase(i); - } else { - ++i; - } - } + // TODO: the "if" condition below is just a work-around to support the concurrent wait + // mode. The cancellation and exception mechanisms are still broken in this mode. + // Consider using task group not to re-implement the same functionality. + if (!(my_context->traits() & tbb::task_group_context::concurrent_wait)) { + my_context->reset(); // consistent with behavior in catch() + my_root_task->set_ref_count(1); } - return last_task; } + } - }; - - //! A cache of successors that are put in a round-robin fashion - // TODO: make round_robin_cache type T-independent when async_msg becomes regular feature - template - class round_robin_cache : public successor_cache { - typedef size_t size_type; - typedef M mutex_type; - typedef typename successor_cache::successors_type successors_type; + //! Returns the root task of the graph + tbb::task * root_task() { + return my_root_task; + } - public: + // ITERATORS + template + friend class graph_iterator; + + // Graph iterator typedefs + typedef graph_iterator iterator; + typedef graph_iterator const_iterator; + + // Graph iterator constructors + //! start iterator + iterator begin() { return iterator(this, true); } + //! end iterator + iterator end() { return iterator(this, false); } + //! start const iterator + const_iterator begin() const { return const_iterator(this, true); } + //! end const iterator + const_iterator end() const { return const_iterator(this, false); } + //! start const iterator + const_iterator cbegin() const { return const_iterator(this, true); } + //! end const iterator + const_iterator cend() const { return const_iterator(this, false); } + + //! return status of graph execution + bool is_cancelled() { return cancelled; } + bool exception_thrown() { return caught_exception; } + + // thread-unsafe state reset. + void reset(reset_flags f = rf_reset_protocol); - round_robin_cache( ) {} +private: + tbb::task *my_root_task; + tbb::task_group_context *my_context; + bool own_context; + bool cancelled; + bool caught_exception; + bool my_is_active; + task_list_type my_reset_task_list; + + graph_node *my_nodes, *my_nodes_last; + + tbb::spin_mutex nodelist_mutex; + void register_node(graph_node *n); + void remove_node(graph_node *n); + + tbb::task_arena* my_task_arena; + + friend void internal::activate_graph(graph& g); + friend void internal::deactivate_graph(graph& g); + friend bool internal::is_graph_active(graph& g); + friend void internal::spawn_in_graph_arena(graph& g, tbb::task& arena_task); + friend void internal::add_task_to_graph_reset_list(graph& g, tbb::task *tp); + template friend void internal::execute_in_graph_arena(graph& g, F& f); + + friend class tbb::interface7::internal::task_arena_base; + +}; // class graph + +//! The base of all graph nodes. +class graph_node : tbb::internal::no_copy { + friend class graph; + template + friend class graph_iterator; +protected: + graph& my_graph; + graph_node *next, *prev; +public: + explicit graph_node(graph& g) : my_graph(g) { + my_graph.register_node(this); + } + virtual ~graph_node() { + my_graph.remove_node(this); + } - size_type size() { - typename mutex_type::scoped_lock l(this->my_mutex, false); - return this->my_successors.size(); - } +#if TBB_PREVIEW_FLOW_GRAPH_TRACE + virtual void set_name(const char *name) = 0; +#endif -#if __TBB_PREVIEW_ASYNC_MSG - template - task * try_put_task( const X &t ) { -#else - task *try_put_task( const T &t ) __TBB_override { -#endif // __TBB_PREVIEW_ASYNC_MSG - bool upgraded = true; - typename mutex_type::scoped_lock l(this->my_mutex, upgraded); - typename successors_type::iterator i = this->my_successors.begin(); - while ( i != this->my_successors.end() ) { - task *new_task = (*i)->try_put_task(t); - if ( new_task ) { - return new_task; - } else { - if ( (*i)->register_predecessor(*this->my_owner) ) { - if (!upgraded) { - l.upgrade_to_writer(); - upgraded = true; - } - i = this->my_successors.erase(i); - } - else { - ++i; - } - } - } - return NULL; - } - }; +#if TBB_PREVIEW_FLOW_GRAPH_FEATURES + virtual void extract() = 0; +#endif - template - class decrementer : public continue_receiver, tbb::internal::no_copy { +protected: + // performs the reset on an individual node. + virtual void reset_node(reset_flags f = rf_reset_protocol) = 0; +}; // class graph_node - T *my_node; +namespace internal { - task *execute() __TBB_override { - return my_node->decrement_counter(); - } +inline void activate_graph(graph& g) { + g.my_is_active = true; +} - protected: +inline void deactivate_graph(graph& g) { + g.my_is_active = false; +} - graph& graph_reference() __TBB_override { - return my_node->my_graph; - } +inline bool is_graph_active(graph& g) { + return g.my_is_active; +} - public: +//! Executes custom functor inside graph arena +template +inline void execute_in_graph_arena(graph& g, F& f) { + if (is_graph_active(g)) { + __TBB_ASSERT(g.my_task_arena && g.my_task_arena->is_active(), NULL); + g.my_task_arena->execute(f); + } +} - typedef continue_msg input_type; - typedef continue_msg output_type; - decrementer( int number_of_predecessors = 0 ) : continue_receiver( number_of_predecessors ) { } - void set_owner( T *node ) { my_node = node; } - }; +//! Spawns a task inside graph arena +inline void spawn_in_graph_arena(graph& g, tbb::task& arena_task) { + graph::spawn_functor s_fn(arena_task); + execute_in_graph_arena(g, s_fn); +} +inline void add_task_to_graph_reset_list(graph& g, tbb::task *tp) { + g.my_reset_task_list.push_back(tp); } -#endif // __TBB__flow_graph_impl_H +} // namespace internal + +} // namespace interface10 +} // namespace flow +} // namespace tbb +#endif // __TBB_flow_graph_impl_H diff --git a/include/tbb/internal/_tbb_strings.h b/include/tbb/internal/_tbb_strings.h index c62e86d..5c836e6 100644 --- a/include/tbb/internal/_tbb_strings.h +++ b/include/tbb/internal/_tbb_strings.h @@ -66,3 +66,6 @@ TBB_STRING_RESOURCE(FLOW_INDEXER_NODE, "indexer_node") TBB_STRING_RESOURCE(FLOW_COMPOSITE_NODE, "composite_node") TBB_STRING_RESOURCE(FLOW_ASYNC_NODE, "async_node") TBB_STRING_RESOURCE(FLOW_OPENCL_NODE, "opencl_node") +// TODO: Drop following string prefix "tbb_" here and in FGA's collector +TBB_STRING_RESOURCE(FGT_ALGORITHM, "tbb_algorithm") +TBB_STRING_RESOURCE(FGT_PARALLEL_FOR, "tbb_parallel_for") diff --git a/include/tbb/internal/_tbb_trace_impl.h b/include/tbb/internal/_tbb_trace_impl.h new file mode 100644 index 0000000..e7eb578 --- /dev/null +++ b/include/tbb/internal/_tbb_trace_impl.h @@ -0,0 +1,60 @@ +/* + Copyright (c) 2005-2017 Intel Corporation + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + + + +*/ + +#ifndef _FGT_TBB_TRACE_IMPL_H +#define _FGT_TBB_TRACE_IMPL_H + +#include "../tbb_profiling.h" + +namespace tbb { + namespace internal { + +#if TBB_PREVIEW_ALGORITHM_TRACE + + static inline void fgt_algorithm( string_index t, void *algorithm, void *parent ) { + itt_make_task_group( ITT_DOMAIN_FLOW, algorithm, FGT_ALGORITHM, parent, FGT_ALGORITHM, t ); + } + static inline void fgt_begin_algorithm( string_index t, void *algorithm ) { + itt_task_begin( ITT_DOMAIN_FLOW, algorithm, FGT_ALGORITHM, NULL, FLOW_NULL, t ); + } + static inline void fgt_end_algorithm( void * ) { + itt_task_end( ITT_DOMAIN_FLOW ); + } + static inline void fgt_alg_begin_body( string_index t, void *body, void *algorithm ) { + itt_task_begin( ITT_DOMAIN_FLOW, body, FLOW_BODY, algorithm, FGT_ALGORITHM, t ); + } + static inline void fgt_alg_end_body( void * ) { + itt_task_end( ITT_DOMAIN_FLOW ); + } + +#else // TBB_PREVIEW_ALGORITHM_TRACE + + static inline void fgt_algorithm( string_index /*t*/, void * /*algorithm*/, void * /*parent*/ ) { } + static inline void fgt_begin_algorithm( string_index /*t*/, void * /*algorithm*/ ) { } + static inline void fgt_end_algorithm( void * ) { } + static inline void fgt_alg_begin_body( string_index /*t*/, void * /*body*/, void * /*algorithm*/ ) { } + static inline void fgt_alg_end_body( void * ) { } + +#endif // TBB_PREVIEW_ALGORITHM_TRACEE + + } // namespace internal +} // namespace tbb + +#endif diff --git a/include/tbb/parallel_for.h b/include/tbb/parallel_for.h index 2cab658..19549e1 100644 --- a/include/tbb/parallel_for.h +++ b/include/tbb/parallel_for.h @@ -26,6 +26,7 @@ #include "partitioner.h" #include "blocked_range.h" #include "tbb_exception.h" +#include "internal/_tbb_trace_impl.h" namespace tbb { @@ -57,6 +58,7 @@ namespace internal { my_body(body), my_partition(partitioner) { + tbb::internal::fgt_algorithm(tbb::internal::FGT_PARALLEL_FOR, this, NULL); } //! Splitting constructor used to generate children. /** parent_ becomes left child. Newly constructed object is right child. */ @@ -66,6 +68,7 @@ namespace internal { my_partition(parent_.my_partition, split_obj) { my_partition.set_affinity(*this); + tbb::internal::fgt_algorithm(tbb::internal::FGT_PARALLEL_FOR, this, (void *)&parent_); } //! Construct right child from the given range as response to the demand. /** parent_ remains left child. Newly constructed object is right child. */ @@ -76,6 +79,7 @@ namespace internal { { my_partition.set_affinity(*this); my_partition.align_depth( d ); + tbb::internal::fgt_algorithm(tbb::internal::FGT_PARALLEL_FOR, this, (void *)&parent_); } static void run( const Range& range, const Body& body, Partitioner& partitioner ) { if( !range.empty() ) { @@ -87,19 +91,31 @@ namespace internal { task_group_context context; start_for& a = *new(task::allocate_root(context)) start_for(range,body,partitioner); #endif /* __TBB_TASK_GROUP_CONTEXT && !TBB_JOIN_OUTER_TASK_GROUP */ + // REGION BEGIN + fgt_begin_algorithm( tbb::internal::FGT_PARALLEL_FOR, (void*)&a ); task::spawn_root_and_wait(a); + fgt_end_algorithm( (void*)&a ); + // REGION END } } #if __TBB_TASK_GROUP_CONTEXT static void run( const Range& range, const Body& body, Partitioner& partitioner, task_group_context& context ) { if( !range.empty() ) { start_for& a = *new(task::allocate_root(context)) start_for(range,body,partitioner); + // REGION BEGIN + fgt_begin_algorithm( tbb::internal::FGT_PARALLEL_FOR, (void*)&a ); task::spawn_root_and_wait(a); + fgt_end_algorithm( (void*)&a ); + // END REGION } } #endif /* __TBB_TASK_GROUP_CONTEXT */ //! Run body for range, serves as callback for partitioner - void run_body( Range &r ) { my_body( r ); } + void run_body( Range &r ) { + fgt_alg_begin_body( tbb::internal::FGT_PARALLEL_FOR, (void *)const_cast(&(this->my_body)), (void*)this ); + my_body( r ); + fgt_alg_end_body( (void *)const_cast(&(this->my_body)) ); + } //! spawn right task, serves as callback for partitioner void offer_work(typename Partitioner::split_type& split_obj) { diff --git a/include/tbb/parallel_reduce.h b/include/tbb/parallel_reduce.h index 0596ae0..ab9c9f7 100644 --- a/include/tbb/parallel_reduce.h +++ b/include/tbb/parallel_reduce.h @@ -213,67 +213,71 @@ public: my_left_body.join( my_right_body ); return NULL; } - template + template friend class start_deterministic_reduce; }; //! Task type used to split the work of parallel_deterministic_reduce. /** @ingroup algorithms */ - template + template class start_deterministic_reduce: public task { typedef finish_deterministic_reduce finish_type; Body &my_body; Range my_range; + typename Partitioner::task_partition_type my_partition; task* execute() __TBB_override; //! Constructor used for root task - start_deterministic_reduce( const Range& range, Body& body ) : + start_deterministic_reduce( const Range& range, Body& body, Partitioner& partitioner ) : my_body( body ), - my_range( range ) + my_range( range ), + my_partition( partitioner ) { } //! Splitting constructor used to generate children. /** parent_ becomes left child. Newly constructed object is right child. */ start_deterministic_reduce( start_deterministic_reduce& parent_, finish_type& c ) : my_body( c.my_right_body ), - my_range( parent_.my_range, split() ) + my_range( parent_.my_range, split() ), + my_partition( parent_.my_partition, split() ) { } public: - static void run( const Range& range, Body& body ) { + static void run( const Range& range, Body& body, Partitioner& partitioner ) { if( !range.empty() ) { #if !__TBB_TASK_GROUP_CONTEXT || TBB_JOIN_OUTER_TASK_GROUP - task::spawn_root_and_wait( *new(task::allocate_root()) start_deterministic_reduce(range,&body) ); + task::spawn_root_and_wait( *new(task::allocate_root()) start_deterministic_reduce(range,&body,partitioner) ); #else // Bound context prevents exceptions from body to affect nesting or sibling algorithms, // and allows users to handle exceptions safely by wrapping parallel_for in the try-block. task_group_context context; - task::spawn_root_and_wait( *new(task::allocate_root(context)) start_deterministic_reduce(range,body) ); + task::spawn_root_and_wait( *new(task::allocate_root(context)) start_deterministic_reduce(range,body,partitioner) ); #endif /* __TBB_TASK_GROUP_CONTEXT && !TBB_JOIN_OUTER_TASK_GROUP */ } } #if __TBB_TASK_GROUP_CONTEXT - static void run( const Range& range, Body& body, task_group_context& context ) { + static void run( const Range& range, Body& body, Partitioner& partitioner, task_group_context& context ) { if( !range.empty() ) - task::spawn_root_and_wait( *new(task::allocate_root(context)) start_deterministic_reduce(range,body) ); + task::spawn_root_and_wait( *new(task::allocate_root(context)) start_deterministic_reduce(range,body,partitioner) ); } #endif /* __TBB_TASK_GROUP_CONTEXT */ - }; - template - task* start_deterministic_reduce::execute() { - if( !my_range.is_divisible() ) { - my_body( my_range ); - return NULL; - } else { - finish_type& c = *new( allocate_continuation() ) finish_type( my_body ); - recycle_as_child_of(c); - c.set_ref_count(2); - start_deterministic_reduce& b = *new( c.allocate_child() ) start_deterministic_reduce( *this, c ); - task::spawn(b); - return this; + void offer_work( typename Partitioner::split_type& ) { + task* tasks[2]; + allocate_sibling(static_cast(this), tasks, sizeof(start_deterministic_reduce), sizeof(finish_type)); + new((void*)tasks[0]) finish_type(my_body); + new((void*)tasks[1]) start_deterministic_reduce(*this, *static_cast(tasks[0])); + spawn(*tasks[1]); } + + void run_body( Range &r ) { my_body(r); } + }; + + template + task* start_deterministic_reduce::execute() { + my_partition.execute(*this, my_range); + return NULL; } } // namespace internal //! @endcond @@ -521,44 +525,108 @@ Value parallel_reduce( const Range& range, const Value& identity, const RealBody } #endif /* __TBB_TASK_GROUP_CONTEXT */ -//! Parallel iteration with deterministic reduction and default partitioner. +//! Parallel iteration with deterministic reduction and default simple partitioner. /** @ingroup algorithms **/ template void parallel_deterministic_reduce( const Range& range, Body& body ) { - internal::start_deterministic_reduce::run( range, body ); + internal::start_deterministic_reduce::run(range, body, simple_partitioner()); +} + +//! Parallel iteration with deterministic reduction and simple partitioner. +/** @ingroup algorithms **/ +template +void parallel_deterministic_reduce( const Range& range, Body& body, const simple_partitioner& partitioner ) { + internal::start_deterministic_reduce::run(range, body, partitioner); +} + +//! Parallel iteration with deterministic reduction and static partitioner. +/** @ingroup algorithms **/ +template +void parallel_deterministic_reduce( const Range& range, Body& body, const static_partitioner& partitioner ) { + internal::start_deterministic_reduce::run(range, body, partitioner); } #if __TBB_TASK_GROUP_CONTEXT -//! Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. +//! Parallel iteration with deterministic reduction, default simple partitioner and user-supplied context. /** @ingroup algorithms **/ template void parallel_deterministic_reduce( const Range& range, Body& body, task_group_context& context ) { - internal::start_deterministic_reduce::run( range, body, context ); + internal::start_deterministic_reduce::run( range, body, simple_partitioner(), context ); +} + +//! Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. +/** @ingroup algorithms **/ +template +void parallel_deterministic_reduce( const Range& range, Body& body, const simple_partitioner& partitioner, task_group_context& context ) { + internal::start_deterministic_reduce::run(range, body, partitioner, context); +} + +//! Parallel iteration with deterministic reduction, static partitioner and user-supplied context. +/** @ingroup algorithms **/ +template +void parallel_deterministic_reduce( const Range& range, Body& body, const static_partitioner& partitioner, task_group_context& context ) { + internal::start_deterministic_reduce::run(range, body, partitioner, context); } #endif /* __TBB_TASK_GROUP_CONTEXT */ /** parallel_reduce overloads that work with anonymous function objects (see also \ref parallel_reduce_lambda_req "requirements on parallel_reduce anonymous function objects"). **/ -//! Parallel iteration with deterministic reduction and default partitioner. +//! Parallel iteration with deterministic reduction and default simple partitioner. +// TODO: consider making static_partitioner the default /** @ingroup algorithms **/ template Value parallel_deterministic_reduce( const Range& range, const Value& identity, const RealBody& real_body, const Reduction& reduction ) { + return parallel_deterministic_reduce(range, identity, real_body, reduction, simple_partitioner()); +} + +//! Parallel iteration with deterministic reduction and simple partitioner. +/** @ingroup algorithms **/ +template +Value parallel_deterministic_reduce( const Range& range, const Value& identity, const RealBody& real_body, const Reduction& reduction, const simple_partitioner& partitioner ) { internal::lambda_reduce_body body(identity, real_body, reduction); - internal::start_deterministic_reduce > - ::run(range, body); + internal::start_deterministic_reduce, const simple_partitioner> + ::run(range, body, partitioner); return body.result(); } +//! Parallel iteration with deterministic reduction and static partitioner. +/** @ingroup algorithms **/ +template +Value parallel_deterministic_reduce( const Range& range, const Value& identity, const RealBody& real_body, const Reduction& reduction, const static_partitioner& partitioner ) { + internal::lambda_reduce_body body(identity, real_body, reduction); + internal::start_deterministic_reduce, const static_partitioner> + ::run(range, body, partitioner); + return body.result(); +} #if __TBB_TASK_GROUP_CONTEXT +//! Parallel iteration with deterministic reduction, default simple partitioner and user-supplied context. +/** @ingroup algorithms **/ +template +Value parallel_deterministic_reduce( const Range& range, const Value& identity, const RealBody& real_body, const Reduction& reduction, + task_group_context& context ) { + return parallel_deterministic_reduce(range, identity, real_body, reduction, simple_partitioner(), context); +} + //! Parallel iteration with deterministic reduction, simple partitioner and user-supplied context. /** @ingroup algorithms **/ template Value parallel_deterministic_reduce( const Range& range, const Value& identity, const RealBody& real_body, const Reduction& reduction, - task_group_context& context ) { - internal::lambda_reduce_body body(identity, real_body, reduction); - internal::start_deterministic_reduce > - ::run( range, body, context ); + const simple_partitioner& partitioner, task_group_context& context ) { + internal::lambda_reduce_body body(identity, real_body, reduction); + internal::start_deterministic_reduce, const simple_partitioner> + ::run(range, body, partitioner, context); + return body.result(); +} + +//! Parallel iteration with deterministic reduction, static partitioner and user-supplied context. +/** @ingroup algorithms **/ +template +Value parallel_deterministic_reduce( const Range& range, const Value& identity, const RealBody& real_body, const Reduction& reduction, + const static_partitioner& partitioner, task_group_context& context ) { + internal::lambda_reduce_body body(identity, real_body, reduction); + internal::start_deterministic_reduce, const static_partitioner> + ::run(range, body, partitioner, context); return body.result(); } #endif /* __TBB_TASK_GROUP_CONTEXT */ diff --git a/include/tbb/parallel_scan.h b/include/tbb/parallel_scan.h index faf6b31..d366869 100644 --- a/include/tbb/parallel_scan.h +++ b/include/tbb/parallel_scan.h @@ -32,12 +32,14 @@ namespace tbb { /** @ingroup algorithms */ struct pre_scan_tag { static bool is_final_scan() {return false;} + operator bool() {return is_final_scan();} }; //! Used to indicate that the final scan is being performed. /** @ingroup algorithms */ struct final_scan_tag { static bool is_final_scan() {return true;} + operator bool() {return is_final_scan();} }; //! @cond INTERNAL @@ -227,7 +229,6 @@ namespace internal { if( !range_.empty() ) { typedef internal::start_scan start_pass1_type; internal::sum_node* root = NULL; - typedef internal::final_sum final_sum_type; final_sum_type* temp_body = new(task::allocate_root()) final_sum_type( body_ ); start_pass1_type& pass1 = *new(task::allocate_root()) start_pass1_type( /*my_return_slot=*/root, @@ -297,6 +298,43 @@ namespace internal { } return next_task; } + + template + class lambda_scan_body : no_assign { + Value my_sum; + const Value& identity_element; + const Scan& my_scan; + const ReverseJoin& my_reverse_join; + public: + lambda_scan_body( const Value& identity, const Scan& scan, const ReverseJoin& rev_join) + : my_sum(identity) + , identity_element(identity) + , my_scan(scan) + , my_reverse_join(rev_join) {} + + lambda_scan_body( lambda_scan_body& b, split ) + : my_sum(b.identity_element) + , identity_element(b.identity_element) + , my_scan(b.my_scan) + , my_reverse_join(b.my_reverse_join) {} + + template + void operator()( const Range& r, Tag tag ) { + my_sum = my_scan(r, my_sum, tag); + } + + void reverse_join( lambda_scan_body& a ) { + my_sum = my_reverse_join(a.my_sum, my_sum); + } + + void assign( lambda_scan_body& b ) { + my_sum = b.my_sum; + } + + Value result() const { + return my_sum; + } + }; } // namespace internal //! @endcond @@ -340,6 +378,34 @@ template void parallel_scan( const Range& range, Body& body, const auto_partitioner& partitioner ) { internal::start_scan::run(range,body,partitioner); } + +//! Parallel prefix with default partitioner +/** @ingroup algorithms **/ +template +Value parallel_scan( const Range& range, const Value& identity, const Scan& scan, const ReverseJoin& reverse_join ) { + internal::lambda_scan_body body(identity, scan, reverse_join); + tbb::parallel_scan(range,body,__TBB_DEFAULT_PARTITIONER()); + return body.result(); +} + +//! Parallel prefix with simple_partitioner +/** @ingroup algorithms **/ +template +Value parallel_scan( const Range& range, const Value& identity, const Scan& scan, const ReverseJoin& reverse_join, const simple_partitioner& partitioner ) { + internal::lambda_scan_body body(identity, scan, reverse_join); + tbb::parallel_scan(range,body,partitioner); + return body.result(); +} + +//! Parallel prefix with auto_partitioner +/** @ingroup algorithms **/ +template +Value parallel_scan( const Range& range, const Value& identity, const Scan& scan, const ReverseJoin& reverse_join, const auto_partitioner& partitioner ) { + internal::lambda_scan_body body(identity, scan, reverse_join); + tbb::parallel_scan(range,body,partitioner); + return body.result(); +} + //@} } // namespace tbb diff --git a/include/tbb/partitioner.h b/include/tbb/partitioner.h index d81375c..d7ebdbf 100644 --- a/include/tbb/partitioner.h +++ b/include/tbb/partitioner.h @@ -122,6 +122,7 @@ namespace internal { using namespace tbb::internal; template class start_for; template class start_reduce; +template class start_deterministic_reduce; //! Join task node that contains shared flag for stealing feedback class flag_task: public task { @@ -595,6 +596,7 @@ private: template friend class serial::interface9::start_for; template friend class interface9::internal::start_for; template friend class interface9::internal::start_reduce; + template friend class interface9::internal::start_deterministic_reduce; template friend class internal::start_scan; // backward compatibility class partition_type: public internal::partition_type_base { @@ -640,6 +642,7 @@ private: template friend class serial::interface9::start_for; template friend class interface9::internal::start_for; template friend class interface9::internal::start_reduce; + template friend class interface9::internal::start_deterministic_reduce; template friend class internal::start_scan; // backward compatibility typedef interface9::internal::old_auto_partition_type partition_type; diff --git a/include/tbb/task_arena.h b/include/tbb/task_arena.h index c2b436e..94977ae 100644 --- a/include/tbb/task_arena.h +++ b/include/tbb/task_arena.h @@ -96,6 +96,8 @@ class delegated_function : public delegate_base { public: delegated_function(F& f) : my_func(f) {} void consume_result() const {} + + friend class task_arena_base; }; class task_arena_base { diff --git a/include/tbb/tbb_config.h b/include/tbb/tbb_config.h index 7479717..3ac2b3e 100644 --- a/include/tbb/tbb_config.h +++ b/include/tbb/tbb_config.h @@ -513,16 +513,16 @@ There are four cases that are supported: #define __TBB_TASK_ISOLATION 1 #endif /* __TBB_TASK_ISOLATION */ -#if TBB_PREVIEW_FLOW_GRAPH_TRACE -// Users of flow-graph trace need to explicitly link against the preview library. This -// prevents the linker from implicitly linking an application with a preview version of -// TBB and unexpectedly bringing in other community preview features, which might change -// the behavior of the application. +#if TBB_PREVIEW_FLOW_GRAPH_TRACE || TBB_PREVIEW_ALGORITHM_TRACE +// Users of flow-graph and algorithm trace need to explicitly link against the preview +// library. This prevents the linker from implicitly linking an application with a preview +// version of TBB and unexpectedly bringing in other community preview features, which +// might change the behavior of the application. #define __TBB_NO_IMPLICIT_LINKAGE 1 #endif /* TBB_PREVIEW_FLOW_GRAPH_TRACE */ #ifndef __TBB_ITT_STRUCTURE_API -#define __TBB_ITT_STRUCTURE_API ( !__TBB_DEFINE_MIC && (__TBB_CPF_BUILD || TBB_PREVIEW_FLOW_GRAPH_TRACE) ) +#define __TBB_ITT_STRUCTURE_API ( !__TBB_DEFINE_MIC && (__TBB_CPF_BUILD || TBB_PREVIEW_FLOW_GRAPH_TRACE || TBB_PREVIEW_ALGORITHM_TRACE) ) #endif #if TBB_USE_EXCEPTIONS && !__TBB_TASK_GROUP_CONTEXT diff --git a/include/tbb/tbb_stddef.h b/include/tbb/tbb_stddef.h index 52b0f15..b4ee781 100644 --- a/include/tbb/tbb_stddef.h +++ b/include/tbb/tbb_stddef.h @@ -26,7 +26,7 @@ #define TBB_VERSION_MINOR 0 // Engineering-focused interface version -#define TBB_INTERFACE_VERSION 10000 +#define TBB_INTERFACE_VERSION 10001 #define TBB_INTERFACE_VERSION_MAJOR TBB_INTERFACE_VERSION/1000 // The oldest major interface version still supported diff --git a/src/tbb/arena.cpp b/src/tbb/arena.cpp index 3dac973..abe4d35 100644 --- a/src/tbb/arena.cpp +++ b/src/tbb/arena.cpp @@ -25,6 +25,7 @@ #include "arena.h" #include "itt_notify.h" #include "semaphore.h" +#include "tbb/internal/_flow_graph_impl.h" #include @@ -821,51 +822,73 @@ void task_arena_base::internal_execute(internal::delegate_base& d) const { if (!same_arena) { index1 = my_arena->occupy_free_slot(*s); if (index1 == arena::out_of_arena) { - concurrent_monitor::thread_context waiter; + +#if __TBB_USE_OPTIONAL_RTTI + // Workaround for the bug inside graph. If the thread can not occupy arena slot during task_arena::execute() + // and all aggregator operations depend on this task completion (all other threads are inside arena already) + // deadlock appears, because enqueued task will never enter arena. + // Workaround: check if the task came from graph via RTTI (casting to graph::spawn_functor) + // and enqueue this task with non-blocking internal_enqueue method. + // TODO: have to change behaviour later in next GOLD release (maybe to add new library entry point - try_execute) + typedef tbb::flow::interface10::graph::spawn_functor graph_funct; + internal::delegated_function< graph_funct, void >* deleg_funct = + dynamic_cast< internal::delegated_function< graph_funct, void>* >(&d); + + if (deleg_funct) { + internal_enqueue(*new(task::allocate_root(*my_context)) + internal::function_task< internal::strip< graph_funct >::type > + (internal::forward< graph_funct >(deleg_funct->my_func)), 0); + return; + } else { +#endif + concurrent_monitor::thread_context waiter; #if __TBB_TASK_GROUP_CONTEXT - task_group_context exec_context(task_group_context::isolated, my_version_and_traits & exact_exception_flag); + task_group_context exec_context(task_group_context::isolated, my_version_and_traits & exact_exception_flag); #if __TBB_FP_CONTEXT - exec_context.copy_fp_settings(*my_context); -#endif -#endif - auto_empty_task root(__TBB_CONTEXT_ARG(s, &exec_context)); - root.prefix().ref_count = 2; - my_arena->enqueue_task(*new(task::allocate_root(__TBB_CONTEXT_ARG1(exec_context))) - delegated_task(d, my_arena->my_exit_monitors, &root), - 0, s->my_random); // TODO: priority? - size_t index2 = arena::out_of_arena; - do { - my_arena->my_exit_monitors.prepare_wait(waiter, (uintptr_t)&d); - if (__TBB_load_with_acquire(root.prefix().ref_count) < 2) { - my_arena->my_exit_monitors.cancel_wait(waiter); - break; - } - index2 = my_arena->occupy_free_slot(*s); - if (index2 != arena::out_of_arena) { - my_arena->my_exit_monitors.cancel_wait(waiter); - nested_arena_context scope(s, my_arena, index2, scheduler_properties::master, same_arena); - s->local_wait_for_all(root, NULL); + exec_context.copy_fp_settings(*my_context); +#endif +#endif + auto_empty_task root(__TBB_CONTEXT_ARG(s, &exec_context)); + root.prefix().ref_count = 2; + my_arena->enqueue_task(*new(task::allocate_root(__TBB_CONTEXT_ARG1(exec_context))) + delegated_task(d, my_arena->my_exit_monitors, &root), + 0, s->my_random); // TODO: priority? + size_t index2 = arena::out_of_arena; + do { + my_arena->my_exit_monitors.prepare_wait(waiter, (uintptr_t)&d); + if (__TBB_load_with_acquire(root.prefix().ref_count) < 2) { + my_arena->my_exit_monitors.cancel_wait(waiter); + break; + } + index2 = my_arena->occupy_free_slot(*s); + if (index2 != arena::out_of_arena) { + my_arena->my_exit_monitors.cancel_wait(waiter); + nested_arena_context scope(s, my_arena, index2, scheduler_properties::master, same_arena); + s->local_wait_for_all(root, NULL); #if TBB_USE_EXCEPTIONS - __TBB_ASSERT(!exec_context.my_exception, NULL); // exception can be thrown above, not deferred + __TBB_ASSERT(!exec_context.my_exception, NULL); // exception can be thrown above, not deferred #endif - __TBB_ASSERT(root.prefix().ref_count == 0, NULL); - break; + __TBB_ASSERT(root.prefix().ref_count == 0, NULL); + break; + } + my_arena->my_exit_monitors.commit_wait(waiter); + } while (__TBB_load_with_acquire(root.prefix().ref_count) == 2); + if (index2 == arena::out_of_arena) { + // notify a waiting thread even if this thread did not enter arena, + // in case it was woken by a leaving thread but did not need to enter + my_arena->my_exit_monitors.notify_one(); // do not relax! } - my_arena->my_exit_monitors.commit_wait(waiter); - } while (__TBB_load_with_acquire(root.prefix().ref_count) == 2); - if (index2 == arena::out_of_arena) { - // notify a waiting thread even if this thread did not enter arena, - // in case it was woken by a leaving thread but did not need to enter - my_arena->my_exit_monitors.notify_one(); // do not relax! - } #if TBB_USE_EXCEPTIONS - // process possible exception - if (task_group_context::exception_container_type *pe = exec_context.my_exception) - TbbRethrowException(pe); + // process possible exception + if (task_group_context::exception_container_type *pe = exec_context.my_exception) + TbbRethrowException(pe); #endif - return; - } - } + return; +#if __TBB_USE_OPTIONAL_RTTI + } // if task came from graph +#endif + } // if (index1 == arena::out_of_arena) + } // if (!same_arena) cpu_ctl_env_helper cpu_ctl_helper; cpu_ctl_helper.set_env(__TBB_CONTEXT_ARG1(my_context)); diff --git a/src/tbb/market.cpp b/src/tbb/market.cpp index 58a34a3..3b6efc6 100644 --- a/src/tbb/market.cpp +++ b/src/tbb/market.cpp @@ -140,7 +140,8 @@ market& market::global_market ( bool is_public, unsigned workers_requested, size // The requested number of threads is intentionally not considered in // computation of the hard limit, in order to separate responsibilities // and avoid complicated interactions between global_control and task_scheduler_init. - const unsigned workers_hard_limit = max(factor*governor::default_num_threads(), app_parallelism_limit()); + // The market guarantees that at least 256 threads might be created. + const unsigned workers_hard_limit = max(max(factor*governor::default_num_threads(), 256u), app_parallelism_limit()); const unsigned workers_soft_limit = calc_workers_soft_limit(workers_requested, workers_hard_limit); // Create the global market instance size_t size = sizeof(market); @@ -695,9 +696,9 @@ void market::process( job& j ) { // Workers leave market because there is no arena in need. It can happen earlier than // adjust_job_count_estimate() decreases my_slack and RML can put this thread to sleep. // It might result in a busy-loop checking for my_slack<0 and calling this method instantly. - // first_interval>0 and the pause refines this spinning. + // first_interval>0 and the yield refines this spinning. if( i > 0 ) - prolonged_pause(); + __TBB_Yield(); else #if !__TBB_SLEEP_PERMISSION break; diff --git a/src/test/harness_defs.h b/src/test/harness_defs.h index 1e58a11..26bd905 100644 --- a/src/test/harness_defs.h +++ b/src/test/harness_defs.h @@ -72,6 +72,8 @@ #define __TBB_SCOPED_ENUM_PRESENT ( _MSC_VER >= 1700 ) #endif +#define __TBB_CPP14_GENERIC_LAMBDAS_PRESENT (__cpp_generic_lambdas >= 201304 ) + #define __TBB_TEST_SKIP_LAMBDA (__TBB_ICC_13_0_CPP11_STDLIB_SUPPORT_BROKEN || !__TBB_CPP11_LAMBDAS_PRESENT) #if __GNUC__ && __ANDROID__ diff --git a/src/test/harness_graph.h b/src/test/harness_graph.h index e07af07..1a30a56 100644 --- a/src/test/harness_graph.h +++ b/src/test/harness_graph.h @@ -1024,4 +1024,46 @@ void test_output_ports_return_ref(NodeType& mop_node) { ASSERT(&output_ports1 == &output_ports2, "output_ports() should return reference"); } +template< template class ReservingNodeType, typename DataType, bool DoClear > +class harness_reserving_body : NoAssign { + ReservingNodeType &my_reserving_node; + tbb::flow::buffer_node &my_buffer_node; +public: + harness_reserving_body(ReservingNodeType &reserving_node, tbb::flow::buffer_node &bn) : my_reserving_node(reserving_node), my_buffer_node(bn) {} + void operator()(DataType i) const { + my_reserving_node.try_put(i); + if (DoClear) my_reserving_node.clear(); + my_buffer_node.try_put(i); + my_reserving_node.try_put(i); + } +}; + +template< template class ReservingNodeType, typename DataType > +void test_reserving_nodes() { + const int N = 300; + + tbb::flow::graph g; + + ReservingNodeType reserving_n(g); + + tbb::flow::buffer_node buffering_n(g); + tbb::flow::join_node< tbb::flow::tuple, tbb::flow::reserving > join_n(g); + harness_counting_receiver< tbb::flow::tuple > end_receiver(g); + + tbb::flow::make_edge(reserving_n, tbb::flow::input_port<0>(join_n)); + tbb::flow::make_edge(buffering_n, tbb::flow::input_port<1>(join_n)); + tbb::flow::make_edge(join_n, end_receiver); + + NativeParallelFor(N, harness_reserving_body(reserving_n, buffering_n)); + g.wait_for_all(); + + ASSERT(end_receiver.my_count == N, NULL); + + // Should not hang + NativeParallelFor(N, harness_reserving_body(reserving_n, buffering_n)); + g.wait_for_all(); + + ASSERT(end_receiver.my_count == 2 * N, NULL); +} + #endif diff --git a/src/test/test_allocator_STL.h b/src/test/test_allocator_STL.h index 9874433..ab16f68 100644 --- a/src/test/test_allocator_STL.h +++ b/src/test/test_allocator_STL.h @@ -119,7 +119,7 @@ void TestAllocatorWithSTL(const Allocator &a = Allocator() ) { TestMap, Acii> >(a); TestMap, Acii> >(a); -#if _MSC_VER +#if _MSC_VER && _CPPLIB_VER < 650 // Test compatibility with Microsoft's implementation of std::allocator for some cases that // are undefined according to the ISO standard but permitted by Microsoft. TestSequence >(a); diff --git a/src/test/test_overwrite_node.cpp b/src/test/test_overwrite_node.cpp index 9abff78..2955aeb 100644 --- a/src/test/test_overwrite_node.cpp +++ b/src/test/test_overwrite_node.cpp @@ -18,6 +18,10 @@ */ +#if TBB_PREVIEW_FLOW_GRAPH_FEATURES +#define TBB_PREVIEW_RESERVABLE_OVERWRITE_NODE 1 +#endif + #include "harness_graph.h" #include "tbb/flow_graph.h" @@ -150,6 +154,9 @@ int TestMain() { tbb::task_scheduler_init init(p); parallel_read_write_tests(); parallel_read_write_tests(); +#if TBB_PREVIEW_RESERVABLE_OVERWRITE_NODE + test_reserving_nodes(); +#endif } #if TBB_PREVIEW_FLOW_GRAPH_FEATURES test_extract_on_node(); diff --git a/src/test/test_parallel_reduce.cpp b/src/test/test_parallel_reduce.cpp index 7716001..6040332 100644 --- a/src/test/test_parallel_reduce.cpp +++ b/src/test/test_parallel_reduce.cpp @@ -232,9 +232,21 @@ void ParallelSum () { #include "harness_concurrency_tracker.h" +class RotOp { +public: + typedef int Type; + int operator() ( int x, int i ) const { + return ( x<<1 ) ^ i; + } + int join( int x, int y ) const { + return operator()( x, y ); + } +}; + template struct ReduceBody { - typename Op::Type my_value; + typedef typename Op::Type result_type; + result_type my_value; ReduceBody() : my_value() {} ReduceBody( ReduceBody &, tbb::split ) : my_value() {} @@ -253,49 +265,151 @@ struct ReduceBody { } }; -template -void TestDeterministicReduction () { +//! Type-tag for automatic testing algorithm deduction +struct harness_default_partitioner {}; + +template +struct parallel_deterministic_reduce_invoker { + template + static typename Body::result_type run( const Range& range ) { + Body body; + tbb::parallel_deterministic_reduce(range, body, Partitioner()); + return body.my_value; + } +}; + +template +struct parallel_deterministic_reduce_invoker { + template + static typename Body::result_type run( const Range& range ) { + Body body; + tbb::parallel_deterministic_reduce(range, body); + return body.my_value; + } +}; + +template +struct parallel_deterministic_reduce_lambda_invoker { + template + static ResultType run( const Range& range, Func f, Reduction r ) { + return tbb::parallel_deterministic_reduce(range, ResultType(), f, r, Partitioner()); + } +}; + +template +struct parallel_deterministic_reduce_lambda_invoker { + template + static ResultType run(const Range& range, Func f, Reduction r) { + return tbb::parallel_deterministic_reduce(range, ResultType(), f, r); + } +}; + +//! Define overloads of parallel_deterministic_reduce that accept "undesired" types of partitioners +namespace unsupported { + + template + void parallel_deterministic_reduce(const Range&, Body&, const tbb::auto_partitioner&) { } + + template + void parallel_deterministic_reduce(const Range&, Body&, tbb::affinity_partitioner&) { } + + template + Value parallel_deterministic_reduce(const Range& , const Value& identity, const RealBody& , const Reduction& , const tbb::auto_partitioner&) { + return identity; + } + + template + Value parallel_deterministic_reduce(const Range& , const Value& identity, const RealBody& , const Reduction& , tbb::affinity_partitioner&) { + return identity; + } + +} + +struct Body { + float value; + Body() : value(0) {} + Body(Body&, tbb::split) { value = 0; } + void operator()(const tbb::blocked_range&) {} + void join(Body&) {} +}; + +//! Check that other types of partitioners are not supported (auto, affinity) +//! In the case of "unsupported" API unexpectedly sneaking into namespace tbb, +//! this test should result in a compilation error due to overload resolution ambiguity +static void TestUnsupportedPartitioners() { + using namespace tbb; + using namespace unsupported; + Body body; + parallel_deterministic_reduce(blocked_range(0, 10), body, tbb::auto_partitioner()); + + tbb::affinity_partitioner ap; + parallel_deterministic_reduce(blocked_range(0, 10), body, ap); + +#if __TBB_CPP11_LAMBDAS_PRESENT + parallel_deterministic_reduce( + blocked_range(0, 10), + 0, + [](const blocked_range&, int init)->int { + return init; + }, + [](int x, int y)->int { + return x + y; + }, + tbb::auto_partitioner() + ); + parallel_deterministic_reduce( + blocked_range(0, 10), + 0, + [](const blocked_range&, int init)->int { + return init; + }, + [](int x, int y)->int { + return x + y; + }, + ap + ); +#endif /* LAMBDAS */ +} + +template +void TestDeterministicReductionFor() { const int N = 1000; - typedef typename Op::Type Type; const tbb::blocked_range range(0, N); - ReduceBody body; - tbb::parallel_deterministic_reduce( range,body ); - Type R = body.my_value; + typedef ReduceBody BodyType; + BodyType::result_type R1 = + parallel_deterministic_reduce_invoker::run(range); for ( int i=0; i<100; ++i ) { - ReduceBody body2; - tbb::parallel_deterministic_reduce( range,body2 ); - ASSERT( body2.my_value == R, NULL ); + BodyType::result_type R2 = + parallel_deterministic_reduce_invoker::run(range); + ASSERT( R1 == R2, "parallel_deterministic_reduce behaves differently from run to run" ); #if __TBB_CPP11_LAMBDAS_PRESENT - Type r = tbb::parallel_deterministic_reduce( range, Type(), + typedef RotOp::Type Type; + Type R3 = parallel_deterministic_reduce_lambda_invoker::run( + range, [](const tbb::blocked_range& br, Type value) -> Type { Harness::ConcurrencyTracker ct; for ( int ii = br.begin(); ii != br.end(); ++ii ) { - Op op; + RotOp op; value = op(value, ii); } return value; - }, + }, [](const Type& v1, const Type& v2) -> Type { - Op op; + RotOp op; return op.join(v1,v2); - } - ); - ASSERT( r == R, NULL ); + } + ); + ASSERT( R1 == R3, "lambda-based parallel_deterministic_reduce behaves differently from run to run" ); #endif /* LAMBDAS */ } - ASSERT_WARNING((Harness::ConcurrencyTracker::PeakParallelism() > 1), "no parallel execution\n"); } -class RotOp { -public: - typedef int Type; - int operator() ( int x, int i ) const { - return ( x<<1 ) ^ i; - } - int join( int x, int y ) const { - return operator()( x, y ); - } -}; +void TestDeterministicReduction () { + TestDeterministicReductionFor(); + TestDeterministicReductionFor(); + TestDeterministicReductionFor(); + ASSERT_WARNING((Harness::ConcurrencyTracker::PeakParallelism() > 1), "no parallel execution\n"); +} #include "tbb/task_scheduler_init.h" #include "harness_cpu.h" @@ -342,8 +456,8 @@ void test() { } // interaction_with_range_and_partitioner - int TestMain () { + TestUnsupportedPartitioners(); if( MinThread<0 ) { REPORT("Usage: nthread must be positive\n"); exit(1); @@ -353,7 +467,7 @@ int TestMain () { Flog(p); ParallelSum(); if ( p>=2 ) - TestDeterministicReduction(); + TestDeterministicReduction(); // Test that all workers sleep when no work TestCPUUserTime(p); } diff --git a/src/test/test_parallel_scan.cpp b/src/test/test_parallel_scan.cpp index d61e919..f372fa8 100644 --- a/src/test/test_parallel_scan.cpp +++ b/src/test/test_parallel_scan.cpp @@ -21,6 +21,7 @@ #include "tbb/parallel_scan.h" #include "tbb/blocked_range.h" #include "harness_assert.h" +#include typedef tbb::blocked_range Range; @@ -31,9 +32,18 @@ inline int TriangularSum( int i ) { return i&1 ? ((i>>1)+1)*i : (i>>1)*(i+1); } +#include "harness.h" + //! Verify that sum is init plus sum of integers in closed interval [0..finish_index]. /** line should be the source line of the caller */ -static void VerifySum( int init, long finish_index, int sum, int line ); +void VerifySum( int init, long finish_index, int sum, int line ) { + int expected = init + TriangularSum(finish_index); + if (expected != sum) { + REPORT("line %d: sum[0..%ld] should be = %d, but was computed as %d\n", + line, finish_index, expected, sum); + abort(); + } +} const int MAXN = 2000; @@ -53,6 +63,7 @@ static unsigned char AddendHistory[MAXN]; #include "tbb/atomic.h" #if PRINT_DEBUG #include +#include "harness_report.h" tbb::atomic NextBodyId; #endif /* PRINT_DEBUG */ @@ -63,18 +74,82 @@ struct BodyId { #endif /* PRINT_DEBUG */ }; -tbb::atomic NumberOfLiveAccumulator; +tbb::atomic NumberOfLiveStorage; static void Snooze( bool scan_should_be_running ) { ASSERT( ScanIsRunning==scan_should_be_running, NULL ); } template -class Accumulator: BodyId { +struct Storage { T my_total; - const T* my_array; - T* my_sum; Range my_range; + Storage(T init) : + my_total(init), my_range(-1, -1, 1) { + ++NumberOfLiveStorage; + } + ~Storage() { + --NumberOfLiveStorage; + } + Storage(const Storage& strg) : + my_total(strg.my_total), my_range(strg.my_range) { + ++NumberOfLiveStorage; + } + Storage & operator=(const Storage& strg) { + my_total = strg.my_total; + my_range = strg.my_range; + return *this; + } +}; + +template +void JoinStorages(const Storage& left, Storage& right) { + Snooze(true); + ASSERT(ScanIsRunning, NULL); + ASSERT(left.my_range.end() == right.my_range.begin(), NULL); + right.my_total += left.my_total; + right.my_range = Range(left.my_range.begin(), right.my_range.end(), 1); + ASSERT(ScanIsRunning, NULL); + Snooze(true); + ASSERT(ScanIsRunning, NULL); +} + +template +void Scan(const Range & r, bool is_final, Storage & storage, std::vector & sum, const std::vector & addend) { + ASSERT(!is_final || (storage.my_range.begin() == 0 && storage.my_range.end() == r.begin()) || (storage.my_range.empty() && r.begin() == 0), NULL); + for (long i = r.begin(); i < r.end(); ++i) { + storage.my_total += addend[i]; + if (is_final) { + ASSERT(AddendHistory[i] < USED_FINAL, "addend used 'finally' twice?"); + AddendHistory[i] |= USED_FINAL; + sum[i] = storage.my_total; + VerifySum(42, i, int(sum[i]), __LINE__); + } + else { + ASSERT(AddendHistory[i] == UNUSED, "addend used too many times"); + AddendHistory[i] |= USED_NONFINAL; + } + } + if (storage.my_range.empty()) + storage.my_range = r; + else + storage.my_range = Range(storage.my_range.begin(), r.end(), 1); + Snooze(true); +} + +template +Storage ScanWithInit(const Range & r, T init, bool is_final, Storage & storage, std::vector & sum, const std::vector & addend) { + if (r.begin() == 0) + storage.my_total = init; + Scan(r, is_final, storage, sum, addend); + return storage; +} + +template +class Accumulator: BodyId { + const std::vector &my_array; + std::vector & my_sum; + Storage storage; enum state_type { full, // Accumulator has sufficient information for final scan, // i.e. has seen all iterations to its left. @@ -93,39 +168,36 @@ class Accumulator: BodyId { trash // Accumulator with possibly no useful information. // It was the source for "assign". + }; - //! True if *this was assigned from. mutable state_type my_state; //! Equals this while object is fully constructed, NULL otherwise. /** Used to detect premature destruction and accidental bitwise copy. */ Accumulator* self; - Accumulator( T init, const T array[], T sum[] ) : - my_total(init), my_array(array), my_sum(sum), my_range(-1,-1,1), my_state(full) + Accumulator& operator= (const Accumulator& other); +public: + Accumulator( T init, const std::vector & array, std::vector & sum ) : + my_array(array), my_sum(sum), storage(init), my_state(full) { - ++NumberOfLiveAccumulator; // Set self as last action of constructor, to indicate that object is fully constructed. self = this; } - friend void TestAccumulator( int mode, int nthread ); -public: #if PRINT_DEBUG void print() const { - REPORT("%d [%ld..%ld)\n", id,my_range.begin(),my_range.end() ); + REPORT("%d [%ld..%ld)\n", id, storage.my_range.begin(), storage.my_range.end() ); } #endif /* PRINT_DEBUG */ ~Accumulator() { #if PRINT_DEBUG - REPORT("%d [%ld..%ld) destroyed\n",id,my_range.begin(),my_range.end() ); + REPORT("%d [%ld..%ld) destroyed\n",id, storage.my_range.begin(), storage.my_range.end() ); #endif /* PRINT_DEBUG */ // Clear self as first action of destructor, to indicate that object is not fully constructed. self = 0; - --NumberOfLiveAccumulator; } Accumulator( Accumulator& a, tbb::split ) : - my_total(0), my_array(a.my_array), my_sum(a.my_sum), my_range(-1,-1,1), my_state(partial) + my_array(a.my_array), my_sum(a.my_sum), storage(0), my_state(partial) { ASSERT(a.my_state==full || a.my_state==partial, NULL); - ++NumberOfLiveAccumulator; #if PRINT_DEBUG REPORT("%d forked from %d\n",id,a.id); #endif /* PRINT_DEBUG */ @@ -135,82 +207,151 @@ public: } template void operator()( const Range& r, Tag /*tag*/ ) { - Snooze(true); ASSERT( Tag::is_final_scan() ? my_state==full : my_state==partial, NULL ); #if PRINT_DEBUG - if( my_range.empty() ) + if(storage.my_range.empty() ) REPORT("%d computing %s [%ld..%ld)\n",id,Tag::is_final_scan()?"final":"lookahead",r.begin(),r.end() ); else - REPORT("%d computing %s [%ld..%ld) [%ld..%ld)\n",id,Tag::is_final_scan()?"final":"lookahead",my_range.begin(),my_range.end(),r.begin(),r.end()); + REPORT("%d computing %s [%ld..%ld) [%ld..%ld)\n",id,Tag::is_final_scan()?"final":"lookahead", storage.my_range.begin(), storage.my_range.end(),r.begin(),r.end()); #endif /* PRINT_DEBUG */ - ASSERT( !Tag::is_final_scan() || (my_range.begin()==0 && my_range.end()==r.begin()) || (my_range.empty() && r.begin()==0), NULL ); - for( long i=r.begin(); i & left = left_body.storage; + Storage & right = storage; + ASSERT(my_state==partial, NULL ); + ASSERT(left_body.my_state==full || left_body.my_state==partial, NULL ); + + JoinStorages(left, right); + + ASSERT(left_body.self==&left_body, NULL ); + my_state = left_body.my_state; } void assign( const Accumulator& other ) { ASSERT(other.my_state==full, NULL); ASSERT(my_state==full, NULL); - my_total = other.my_total; - my_range = other.my_range; + storage.my_total = other.storage.my_total; + storage.my_range = other.storage.my_range; ASSERT( self==this, NULL ); ASSERT( other.self==&other, "other Accumulator corrupted or prematurely destroyed" ); my_state = summary; other.my_state = trash; } + T get_total() { + return storage.my_total; + } }; #include "tbb/tick_count.h" -#include "harness.h" -static void VerifySum( int init, long finish_index, int sum, int line ) { - int expected = init + TriangularSum( finish_index ); - if( expected!=sum ) { - REPORT( "line %d: sum[0..%ld] should be = %d, but was computed as %d\n", - line, finish_index, expected, sum ); - abort(); +template +T ParallelScanFunctionalInvoker(const Range& range, T idx, const Scan& scan, const ReverseJoin& reverse_join, int mode) { + switch (mode%3) { + case 0: + return tbb::parallel_scan(range, idx, scan, reverse_join); + break; + case 1: + return tbb::parallel_scan(range, idx, scan, reverse_join, tbb::simple_partitioner()); + break; + default: + return tbb::parallel_scan(range, idx, scan, reverse_join, tbb::auto_partitioner()); + } +} + +template +class ScanBody { + const std::vector &my_addend; + std::vector &my_sum; + const T my_init; + ScanBody& operator= (const ScanBody&); +public: + ScanBody(T init, const std::vector &addend, std::vector &sum) :my_addend(addend), my_sum(sum), my_init(init) {} + template + Storage operator()(const Range& r, Storage storage, Tag) const { + return ScanWithInit(r, my_init, Tag::is_final_scan(), storage, my_sum, my_addend); + } +}; + +template +class JoinBody { +public: + Storage operator()(const Storage& left, Storage& right) const { + JoinStorages(left, right); + return right; + } +}; + +template +T ParallelScanTemplateFunctor(Range range, T init, const std::vector &addend, std::vector &sum, int mode) { + for (long i = 0; i sb(init, addend, sum); + JoinBody jb; + Storage res = ParallelScanFunctionalInvoker(range, Storage(0), sb, jb, mode); + ScanIsRunning = false; + if (range.empty()) + res.my_total = init; + return res.my_total; } +#if __TBB_CPP11_LAMBDAS_PRESENT +template +T ParallelScanLambda(Range range, T init, const std::vector &addend, std::vector &sum, int mode) { + for (long i = 0; i res = ParallelScanFunctionalInvoker(range, Storage(0), + [&addend, &sum, init](const Range& r, Storage storage, bool is_final_scan /*tag*/) -> Storage { + return ScanWithInit(r, init, is_final_scan, storage, sum, addend); + }, + [](const Storage& left, Storage& right) -> Storage { + JoinStorages(left, right); + return right; + }, + mode); + ScanIsRunning = false; + if (range.empty()) + res.my_total = init; + return res.my_total; +} + +#if __TBB_CPP14_GENERIC_LAMBDAS_PRESENT +template +T ParallelScanGenericLambda(Range range, T init, const std::vector &addend, std::vector &sum, int mode) { + for (long i = 0; i res = ParallelScanFunctionalInvoker(range, Storage(0), + [&addend, &sum, init](const Range& rng, Storage storage, auto scan_tag) { + return ScanWithInit(rng, init, scan_tag.is_final_scan(), storage, sum, addend); + }, + [](const Storage& left, Storage& right) { + JoinStorages(left, right); + return right; + }, + mode); + ScanIsRunning = false; + if (range.empty()) + res.my_total = init; + return res.my_total; +} +#endif/* GENERIC_LAMBDAS */ +#endif/* LAMBDAS */ + void TestAccumulator( int mode, int nthread ) { typedef int T; - T* addend = new T[MAXN]; - T* sum = new T[MAXN]; + std::vector addend(MAXN); + std::vector sum(MAXN); for( long n=0; n<=MAXN; ++n ) { for( long i=0; i acc( 42, addend, sum ); tbb::tick_count t0 = tbb::tick_count::now(); #if PRINT_DEBUG @@ -254,18 +396,48 @@ void TestAccumulator( int mode, int nthread ) { used_once_count += AddendHistory[i]==USED_FINAL; } if( n ) - ASSERT( acc.my_total==sum[n-1], NULL ); + ASSERT( acc.get_total()==sum[n-1], NULL ); else - ASSERT( acc.my_total==42, NULL ); + ASSERT( acc.get_total()==42, NULL ); REMARK("time [n=%ld] = %g\tused_once%% = %g\tnthread=%d\n",n,(t1-t0).seconds(), n==0 ? 0 : 100.0*used_once_count/n,nthread); + + + std::vector sum_tmplt(MAXN); + for (long i = 0; i sum_lambda(MAXN); + for (long i = 0; i sum_generic_lambda(MAXN); + for (long i = 0; i c; ForEachArenaEntryBody body(a, c); @@ -483,7 +483,7 @@ void TestArenaEntryConsistency() { a.initialize(); // capture FP settings to arena fp_scope.setNextFPMode(); - for(int i = 0; i < 100; i++) // not less than 32 = 2^5 of entry types + for (int i = 0; i < 100; i++) // not less than 32 = 2^5 of entry types body.test(i); } @@ -528,8 +528,8 @@ public: } }; -void TestArenaConcurrency( int p ) { - for ( int reserved = 0; reserved <= p; ++reserved ) { +void TestArenaConcurrency( int p, int reserved = 0, int step = 1) { + for (; reserved <= p; reserved += step) { REMARK("TestArenaConcurrency: %d slots, %d reserved\n", p, reserved); tbb::task_arena a( p, reserved ); { // Check concurrency with worker & reserved master threads. @@ -944,7 +944,7 @@ namespace TestIsolatedExecuteNS { int &e = myEts.local(); if ( e++ > 0 ) myIsStolen = true; // work imbalance increases chances for stealing - tbb::parallel_for( 0, 10+i, Harness::DummyBody( 10 ) ); + tbb::parallel_for( 0, 10+i, Harness::DummyBody( 100 ) ); --e; } }; @@ -1232,7 +1232,7 @@ namespace TestReturnValueNS { data.push_back(i); } void check() { - ASSERT(data.size() == SIZE, NULL); + ASSERT(data.size() == unsigned(SIZE), NULL); for (int i = 0; i < SIZE; ++i) ASSERT(data[i] == i, NULL); Harness::StateTrackableCounters::counters_t& cnts = Harness::StateTrackableCounters::counters; @@ -1331,22 +1331,73 @@ void TestReturnValue() { #endif } //--------------------------------------------------// +void TestConcurrentFunctionality(int min_thread_num = MinThread, int max_thread_num = MaxThread) { + InitializeAndTerminate(max_thread_num); + for (int p = min_thread_num; p <= max_thread_num; ++p) { + REMARK("testing with %d threads\n", p); + TestConcurrentArenas(p); + TestMultipleMasters(p); + TestArenaConcurrency(p); + } +} +//--------------------------------------------------// +struct DefaultCreatedWorkersAmountBody { + int my_threadnum; + DefaultCreatedWorkersAmountBody(int threadnum) : my_threadnum(threadnum) {} + void operator()(int) const { + ASSERT(my_threadnum == tbb::this_task_arena::max_concurrency(), "concurrency level is not equal specified threadnum"); + ASSERT(tbb::this_task_arena::current_thread_index() < tbb::this_task_arena::max_concurrency(), "amount of created threads is more than specified by default"); + local_id.local() = 1; + Harness::Sleep(1); + } +}; + +struct NativeParallelForBody { + int my_thread_num; + int iterations; + NativeParallelForBody(int thread_num, int multiplier = 100) : my_thread_num(thread_num), iterations(multiplier * thread_num) {} + void operator()(int idx) const { + ASSERT(idx == 0, "more than 1 thread is going to reset TLS"); + ResetTLS(); + tbb::parallel_for(0, iterations, DefaultCreatedWorkersAmountBody(my_thread_num), tbb::simple_partitioner()); + ASSERT(local_id.size() == size_t(my_thread_num), "amount of created threads is not equal to default num"); + } +}; + +void TestDefaultCreatedWorkersAmount() { + NativeParallelFor(1, NativeParallelForBody(tbb::task_scheduler_init::default_num_threads())); +} + +void TestAbilityToCreateWorkers(int thread_num) { + tbb::task_scheduler_init init_market_with_necessary_amount_plus_one(thread_num); + // Checks only some part of reserved-master threads amount: + // 0 and 1 reserved threads are important cases but it is also needed + // to collect some statistic data with other amount and to not consume + // whole test sesion time checking each amount + TestArenaConcurrency(thread_num - 1, 0, int(thread_num / 2.72)); + TestArenaConcurrency(thread_num, 1, int(thread_num / 3.14)); +} + +void TestDefaultWorkersLimit() { + TestDefaultCreatedWorkersAmount(); + // Shared RML might limit the number of workers even if you specify the limits + // by the reason of (default_concurrency==max_concurrency) for shared RML +#ifndef RML_USE_WCRM + TestAbilityToCreateWorkers(256); +#endif +} +//--------------------------------------------------// int TestMain () { #if __TBB_TASK_ISOLATION TestIsolatedExecute(); #endif /* __TBB_TASK_ISOLATION */ TestSmallStackSize(); + TestDefaultWorkersLimit(); // The test uses up to MaxThread workers (in arenas with no master thread), // so the runtime should be initialized appropriately. - tbb::task_scheduler_init init_market_p_plus_one(MaxThread+1); - InitializeAndTerminate(MaxThread); - for( int p=MinThread; p<=MaxThread; ++p ) { - REMARK("testing with %d threads\n", p ); - TestConcurrentArenas( p ); - TestMultipleMasters( p ); - TestArenaConcurrency( p ); - } + tbb::task_scheduler_init init_market_p_plus_one(MaxThread + 1); + TestConcurrentFunctionality(); TestArenaEntryConsistency(); TestAttach(MaxThread); TestConstantFunctorRequirement(); diff --git a/src/test/test_tbb_version.cpp b/src/test/test_tbb_version.cpp index fecff11..bc6606e 100644 --- a/src/test/test_tbb_version.cpp +++ b/src/test/test_tbb_version.cpp @@ -229,7 +229,7 @@ int main(int argc, char *argv[] ) { void initialize_strings_vector(std::vector * vector) { vector->push_back(string_pair("TBB: VERSION\t\t2018.0", required)); // check TBB_VERSION - vector->push_back(string_pair("TBB: INTERFACE VERSION\t10000", required)); // check TBB_INTERFACE_VERSION + vector->push_back(string_pair("TBB: INTERFACE VERSION\t10001", required)); // check TBB_INTERFACE_VERSION vector->push_back(string_pair("TBB: BUILD_DATE", required)); vector->push_back(string_pair("TBB: BUILD_HOST", required)); vector->push_back(string_pair("TBB: BUILD_OS", required)); diff --git a/src/test/test_write_once_node.cpp b/src/test/test_write_once_node.cpp index c71eefd..036717e 100644 --- a/src/test/test_write_once_node.cpp +++ b/src/test/test_write_once_node.cpp @@ -18,6 +18,10 @@ */ +#if TBB_PREVIEW_FLOW_GRAPH_FEATURES +#define TBB_PREVIEW_RESERVABLE_OVERWRITE_NODE 1 +#endif + #include "harness_graph.h" #include "tbb/flow_graph.h" @@ -160,6 +164,9 @@ int TestMain() { tbb::task_scheduler_init init(p); parallel_read_write_tests(); parallel_read_write_tests(); +#if TBB_PREVIEW_RESERVABLE_OVERWRITE_NODE + test_reserving_nodes(); +#endif } #if TBB_PREVIEW_FLOW_GRAPH_FEATURES test_extract_on_node(); -- 2.7.4