MCPcopy Create free account
hub / github.com/cameron314/concurrentqueue / remove_filter

Method remove_filter

benchmarks/tbb/pipeline.cpp:607–631  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

605}
606
607void pipeline::remove_filter( filter& filter_ ) {
608 __TBB_ASSERT( filter_.prev_filter_in_pipeline!=filter::not_in_pipeline(), "filter not part of pipeline" );
609 __TBB_ASSERT( filter_.next_filter_in_pipeline!=filter::not_in_pipeline(), "filter not part of pipeline" );
610 __TBB_ASSERT( !end_counter, "invocation of remove_filter on running pipeline" );
611 if (&filter_ == filter_list)
612 filter_list = filter_.next_filter_in_pipeline;
613 else {
614 __TBB_ASSERT( filter_.prev_filter_in_pipeline, "filter list broken?" );
615 filter_.prev_filter_in_pipeline->next_filter_in_pipeline = filter_.next_filter_in_pipeline;
616 }
617 if (&filter_ == filter_end)
618 filter_end = filter_.prev_filter_in_pipeline;
619 else {
620 __TBB_ASSERT( filter_.next_filter_in_pipeline, "filter list broken?" );
621 filter_.next_filter_in_pipeline->prev_filter_in_pipeline = filter_.prev_filter_in_pipeline;
622 }
623 if( internal::input_buffer* b = filter_.my_input_buffer ) {
624 delete b;
625 filter_.my_input_buffer = NULL;
626 }
627 filter_.next_filter_in_pipeline = filter_.prev_filter_in_pipeline = filter::not_in_pipeline();
628 if ( (filter_.my_filter_mode & filter::version_mask) >= __TBB_PIPELINE_VERSION(5) )
629 filter_.next_segment = NULL;
630 filter_.my_pipeline = NULL;
631}
632
633void pipeline::run( size_t max_number_of_live_tokens
634#if __TBB_TASK_GROUP_CONTEXT

Callers 1

~filterMethod · 0.80

Calls

no outgoing calls

Tested by

no test coverage detected