| /oneTBB/test/tbb/ |
| H A D | test_intrusive_list.cpp | 83 Iterator it = il.begin(); in check_list_nodes() local 88 for ( i = value_step - 1; it != il.end(); ++it, i += value_step ) { in check_list_nodes() 94 it = il.end(); in check_list_nodes() 96 for ( i = NumElements - 1, it--; it != il.end(); --it, i -= value_step ) { in check_list_nodes() 113 iterator it = il.begin(); in test_list_operations() local 115 for (;it != il.end(); ++it) { in test_list_operations() 116 Item& item = *it; in test_list_operations() 117 it = il.erase(it); // also advances the iterator in test_list_operations() 122 for (it = il.begin(); it != il.end(); ++it) { in test_list_operations() 123 Item& item = *it; in test_list_operations() [all …]
|
| H A D | test_flow_graph.cpp | 97 for (tbb::flow::graph::iterator it = g.begin(); it != g.end(); ++it) { in test_iterator() local 105 for (tbb::flow::graph::iterator it = g.begin(); it != g.end(); ++it) { in test_iterator() local 113 for (tbb::flow::graph::iterator it = g.begin(); it != g.end(); ++it) { in test_iterator() local 134 for (tbb::flow::graph::iterator it = g.begin(); it != g.end(); ++it) { in operator ()() local 143 for (tbb::flow::graph::iterator it = g.begin(); it != g.end(); ++it) { in operator ()() local 357 for(auto it = g.cbegin(); it != g.cend(); it++) variable
|
| H A D | test_tbb_fork.cpp | 168 int it; in TestSchedulerMemLeaks() local 170 for (it=0; it<ITERS; it++) { in TestSchedulerMemLeaks() 197 ASSERT(it < ITERS, "Memory consumption has not stabilized. Memory Leak?"); in TestSchedulerMemLeaks() 281 for (TidTableType::const_iterator it = tidTable.begin(); in main() local 282 it != tidTable.end(); ++it) { in main() 283 if (masterTid != it->first) { in main() 284 ASSERT(threadTerminated(it->second.h), nullptr); in main()
|
| H A D | test_parallel_for_each.cpp | 53 auto it = *this; in operator ++() local 55 return it; in operator ++() 68 auto it = *this; in operator --() local 70 return it; in operator --() 214 concept can_call_parallel_for_each_with_iterator = requires( Iterator it, const Body& body, tbb::ta… 215 tbb::parallel_for_each(it, it, body); 216 tbb::parallel_for_each(it, it, body, ctx);
|
| H A D | test_concurrent_hash_map.cpp | 110 for ( Iterator it = i; it != j; ) { in do_test_range() local 111 Iterator it_prev = it++; in do_test_range() 269 std::initializer_list<Value> il = { *it++, *it++, *it++ }; in TypeTester() 271 c2.insert( it, lst.end() ); in TypeTester() 276 c3.insert( it, lst.end() ); in TypeTester() 281 c4.insert( it, lst.end()); in TypeTester() 335 for ( std::list<int_int_t>::iterator it = arrIntInt.begin(); it != arrIntInt.end(); ++it ) in TestSpecificTypes() local 336 arrRefInt.push_back( ref_int_t( it->first, it->second ) ); in TestSpecificTypes() 341 for ( std::list<int_int_t>::iterator it = arrIntInt.begin(); it != arrIntInt.end(); ++it ) in TestSpecificTypes() local 342 arrIntRef.push_back( int_ref_t( it->first, it->second ) ); in TestSpecificTypes() [all …]
|
| /oneTBB/test/conformance/ |
| H A D | conformance_parallel_sort.cpp | 46 for(auto it = test_vector.begin(); it != test_vector.end() - 1; ++it) variable 47 REQUIRE_MESSAGE(*it <= *(it+1), "Testing data not sorted"); 60 for(auto it = test_vector.begin(); it != test_vector.end() - 1; ++it) variable 61 REQUIRE_MESSAGE(*it >= *(it+1), "Testing data not sorted"); 74 for(auto it = test_vector.begin(); it != test_vector.end() - 1; ++it) variable 75 REQUIRE_MESSAGE(*it <= *(it+1), "Testing data not sorted"); 88 for(auto it = test_vector.begin(); it != test_vector.end() - 1; ++it) variable 89 REQUIRE_MESSAGE(*it >= *(it+1), "Testing data not sorted");
|
| /oneTBB/test/common/ |
| H A D | iterator.h | 43 InputIterator( const InputIterator& it ) { in InputIterator() argument 44 …REQUIRE_MESSAGE(it.my_current_epoch == it.my_shared_epoch->epoch, "Copying an invalidated iterator… in InputIterator() 45 my_ptr = it.my_ptr; in InputIterator() 46 my_shared_epoch = it.my_shared_epoch; in InputIterator() 47 my_current_epoch = it.my_current_epoch; in InputIterator() 52 …REQUIRE_MESSAGE(it.my_current_epoch == it.my_shared_epoch->epoch, "Assigning an invalidated iterat… 53 my_ptr = it.my_ptr; 58 my_shared_epoch = it.my_shared_epoch; 77 InputIterator it = *this; variable 79 return it; [all …]
|
| H A D | concurrent_unordered_common.h | 143 for (Iterator it = begin; it != end; ++it) { in equal() local 174 for (auto it = lst.begin(); it != lst.end();) { in CustomExamine() local 176 auto prev_it = it++; in CustomExamine() 219 auto it = lst.begin(); in TypeTester() local 220 Table c2({*it++, *it++, *it++}); in TypeTester() 224 it = lst.begin(); in TypeTester() 226 Table c2_alloc({*it++, *it++, *it++}, initial_bucket_number, allocator); in TypeTester() 230 it = lst.begin(); in TypeTester() 232 Table c2_hash_alloc({*it++, *it++, *it++}, initial_bucket_number, hasher, allocator); in TypeTester() 291 it = lst.begin(); in TypeTester() [all …]
|
| H A D | concurrent_ordered_common.h | 62 for (auto it = cont.begin(); std::next(it) != cont.end();) { in check_container_order() local 63 auto pr_it = it++; in check_container_order() 89 for (auto it = eq_range.first; it != eq_range.second; ++it) in test_ordered_methods() local 95 for (auto it = cont.begin(); it != cont.end(); ++it){ in test_ordered_methods() local 97 l_bound_check = it; in test_ordered_methods() 100 u_bound_check = it; in test_ordered_methods() 187 for (Iterator it = begin; it != end; ++it) { in equal() local 224 auto it = lst.begin(); 225 auto init = {*it++, *it++, *it++}; 229 c2.insert(it, lst.end()); [all …]
|
| H A D | concurrent_associative_common.h | 124 for(typename MultiMap::iterator it = range.first; it != range.second; ++it) { 509 for (; it != range.second; it++) 604 for (; it != range.second; it++) { 612 for (; it != range.second; it++) { 880 for (auto it = arr_int.begin(); it != arr_int.end(); ++it) { 1122 for (Iterator it = i; it != j;) { 1305 for (auto it = key.begin(); it != key.end(); ++it) { 1398 for (auto it = keys.begin(); it != keys.end(); ++it) { 1407 for (auto it = keys.begin(); it != keys.end(); ++it) { 1415 for (auto it = keys.begin(); it != keys.end(); ++it) { [all …]
|
| H A D | node_handling_support.h | 167 for (auto it = table.begin(); it != table.end(); ++it) { variable 168 if (it == result) return; 305 for (auto it : table2) { in test_merge_basic() local 311 for (auto it : table1_backup) { in test_merge_basic() local 312 table1.unsafe_extract(Value<Container1>::key(it)); in test_merge_basic() 315 for (auto it : table2) { in test_merge_basic() local 320 for (auto it : table2_backup) { in test_merge_basic() local 361 for (auto it : start_data) { in check_concurrent_merge() local 378 for (auto it : start_data) { in check_concurrent_merge() local 391 for (auto it : expected_result) { in check_concurrent_merge() local [all …]
|
| H A D | concurrent_priority_queue_common.h | 113 for (auto it = vec.begin() + 3; it != vec.end(); ++it) in type_tester() local 114 q2.push(*it); in type_tester() 120 for (auto it = vec.begin() + 3; it != vec.end(); ++it) in type_tester() local 121 q3.push(*it); in type_tester() 173 for (auto it = vec.begin() + 3; it != vec.end(); ++it) in type_tester() local 174 q14.push(*it); in type_tester() 178 for (auto it = vec.begin() + 3; it != vec.end(); ++it) in type_tester() local 179 q15.push(*it); in type_tester()
|
| H A D | concurrent_lru_cache_common.h | 73 map_iter it = my_map_ref.find(k); in operator() local 74 if (it == my_map_ref.end()) in operator() 75 it = my_map_ref.insert(it, std::make_pair(k, ValueType())); in operator() 77 return it->second; in operator() 239 objects_map_type::iterator it = objects_map.find(key); in is_evicted() local 242 it != objects_map.end(), in is_evicted() 245 return it->second.instances_count() == 1; in is_evicted()
|
| /oneTBB/doc/main/tbb_userguide/ |
| H A D | appendix_A.rst | 10 it relinquishes the physical thread until it gets another turn. This 16 registers for the previous logical thread that it was executing, and 17 load its registers for the next logical thread that it runs. 22 compared to main memory. When the processor runs out of cache memory, it 24 Typically, it chooses the least recently used items in the cache. (The 26 not a cache primer.) When a logical thread gets its time slice, as it 28 into cache, taking hundreds of cycles. If it is referenced frequently 29 enough to not be evicted, each subsequent reference will find it in 34 data. When thread A gets its next time slice, it will need to reload 41 lock on a resource, and its time slice runs out before it releases the [all …]
|
| H A D | When_Not_to_Use_Queues.rst | 13 - A queue is inherently a bottle neck, because it must maintain 21 - A queue is a passive data structure. If a thread pushes a value, it 22 could take time until it pops the value, and in the meantime the 23 value (and whatever it references) becomes "cold" in cache. Or worse 24 yet, another thread pops the value, and the value (and whatever it 29 threading is implicit, it optimizes use of worker threads so that they
|
| H A D | destroy_graphs_outside_main_thread.rst | 9 wait_for_all(). However, it is safest to call wait_for_all on a graph 10 before destroying it. A common solution is to enqueue a task to build 13 Instead you can enqueue a task that creates the graph and waits for it: 40 it's not clear when. If you need to use the results of the enqueued 41 task, or even ensure that it completes before the program ends, you will
|
| H A D | Which_Dynamic_Libraries_to_Use.rst | 15 use the scalable allocator library if it is present otherwise it reverts 39 …- Uses the scalable allocator library if it is present, otherwise it reverts to using ``mal…
|
| H A D | How_Task_Scheduler_Works.rst | 8 it was designed to work efficiently for fork-join parallelism with lots of forks. 24 …Also, if they can be completed, tasks that depend on it can continue executing, and though not the… 29 …of nodes, but only a linear number can exists at the same time, since it creates a stack of other … 33 thread spawns a task, it pushes it onto the bottom of its deque. 35 When a thread participates in the evaluation of tasks, it constantly executes 43 selected deque is empty, the thread tries again to execute this rule until it succeeds.
|
| H A D | Predefined_Node_Types.rst | 8 class sender and class receiver but it is likely that you can create 26 …When activated, it executes a user body to generate its output. Its body is invoked if downstream … 27 …Otherwise, the previous output is temporarily buffered until it is accepted downstream and then th… 31 …continue_msg and has a generic output type. It executes a user body when it receives N continue_… 43 …last message received, so it is available to any future successor. A write_once_node will only a… 45 …ts an internal counter when it broadcasts a message. If the increment causes it to reach its u… 49 … nodes together and maintains a tuple of references to ports that border it. This allows for t… 51 …al activity can use a special interface to return a generic type and put it to all successors …
|
| H A D | UpgradeDowngrade.rst | 35 before it can upgrade. Otherwise, deadlock might ensue, as discussed in 37 that is true if it successfully upgraded the lock without releasing it, 42 keys are never removed. Because of these assumptions, it does not have 50 though in practice there are few reasons to use it.
|
| H A D | create_token_based_system.rst | 10 the graph until it can be paired with an available token. When a message 38 internally buffering, but instead to consume inputs only when it can 39 first reserve an input on each port from an upstream source. If it 40 can reserve an input at each port, it gets those inputs and joins 49 ``token_t`` can be anything, for example it could be ``typedef int token_t;``. 51 The ``input_node`` will only generate an input when one is pulled from it 53 the input from the ``input_node`` when it knows there is also an item to 120 dummy type; it could for example be a buffer or other object that is 130 ``buffer_node``, and it could generate the tokens. In addition, our 140 system as it is executing, thereby having dynamic control of the allowed
|
| /oneTBB/src/tbb/ |
| H A D | thread_dispatcher.cpp | 67 for (auto& it : my_client_list[priority]) { in try_unregister_client() local 68 if (client == &it) { in try_unregister_client() 69 if (it.get_aba_epoch() == aba_epoch) { in try_unregister_client() 141 client_list_type::iterator it = hint; in client_in_need() local 143 __TBB_ASSERT(it != clients[curr_priority_level].end(), nullptr); in client_in_need() 145 thread_dispatcher_client& t = *it; in client_in_need() 146 if (++it == clients[curr_priority_level].end()) { in client_in_need() 150 it = clients[curr_priority_level].begin(); in client_in_need() 155 } while (it != hint); in client_in_need()
|
| H A D | market.cpp | 61 auto it = std::find(clients.begin(), clients.end(), &c); in unregister_and_destroy_client() local 62 __TBB_ASSERT(it != clients.end(), "Destroying of an unregistered client"); in unregister_and_destroy_client() 63 clients.erase(it); in unregister_and_destroy_client() 84 for (auto it = my_clients[list_idx].rbegin(); it != my_clients[list_idx].rend(); ++it) { in update_allotment() local 85 tbb_permit_manager_client& client = static_cast<tbb_permit_manager_client&>(**it); in update_allotment()
|
| H A D | intrusive_list.h | 65 iterator_impl it(*this); 67 return it; 76 iterator_impl it(*this); 78 return it; 157 iterator erase ( iterator it ) { in erase() argument 158 T& val = *it; in erase() 159 ++it; in erase() 161 return it; in erase()
|
| /oneTBB/examples/common/utility/ |
| H A D | utility.hpp | 268 if (it != args_map.end()) { in parse() 269 pa = &((*it).second); in parse() 278 args_map_type::iterator it = args_map.find(argv[j]); in parse() local 279 if (it != args_map.end()) { in parse() 280 pa = &((*it).second); in parse() 321 it != args_display_order.end(); in usage_string() 322 ++it) { in usage_string() 323 const bool is_bool = (0 != bool_args_names.count((*it))); in usage_string() 339 it != positional_arg_names.end(); in usage_string() 340 ++it) { in usage_string() [all …]
|