Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parallel algorithms should accept iterator/sentinel pairs #3646

Open
35 of 43 tasks
hkaiser opened this issue Feb 1, 2019 · 4 comments
Open
35 of 43 tasks

Parallel algorithms should accept iterator/sentinel pairs #3646

hkaiser opened this issue Feb 1, 2019 · 4 comments

Comments

@hkaiser
Copy link
Task lists! Give feedback
Member

@hkaiser hkaiser commented Feb 1, 2019

Our parallel algorithms currently expect for the begin/end iterator pairs to be of the same type. This is an unnecessary limitation. We should relax that.

Here is the list of algorithms that need to be adapted:

  • adjacent_difference inner_product
  • adjacent_find (#4996)
  • all_of any_of none_of
  • copy copy_if (#4821)
  • move
  • count count_if
  • equal (#4883) mismatch (#4884)
  • exclusive_scan (#5436)
  • inclusive_scan (#5439)
  • reduce (see #3650, #4836)
  • transform (#4855, #4888, #5051)
  • fill (#4860)
  • find find_end find_first_of find_if find_if_not (#4885)
  • for_each for_each_n (#4867)
  • for_loop for_loop_strided for_loop_n for_loop_strided_n (#4980)
  • generate generate_n (#4896)
  • is_heap is_heap_until (#4965)
  • is_partitioned (#5006)
  • is_sorted is_sorted_until (#5025)
  • lexicographical_compare (#5350)
  • max_element min_element minmax_element (#5241)
  • make_heap (#4964)
  • sort partial_sort partial_sort_copy nth_element
  • stable_sort (see #4803)
  • partition partition_copy stable_partition
  • remove remove_if (#5125)
  • remove_copy remove_copy_if (#5150)
  • replace replace_copy replace_copy_if replace_if (#5192)
  • reverse reverse_copy (#5225)
  • rotate rotate_copy
  • search
  • set_difference set_intersection set_symmetric_difference set_union includes (#4970)
  • merge inplace_merge (#4970)
  • swap_ranges (#5449)
  • uninitialized_copy uninitialized_copy_n (#5371)
  • uninitialized_fill uninitialized_fill_n (#5402)
  • uninitialized_default_construct uninitialized_default_construct_n (#5415)
  • uninitialized_value_construct uninitialized_value_construct_n (#5416)
  • uninitialized_move uninitialized_move_n (#5389)
  • unique unique_copy (#5458)
  • transform_reduce (#4925)
  • transform_exclusive_scan (#5440) transform_inclusive_scan (#5444)
  • destroy destroy_n (#4869)
msimberg added a commit that referenced this issue Apr 26, 2019
count and count_if accepts different iterator types
@gonidelis
Copy link
Contributor

@gonidelis gonidelis commented May 15, 2020

@hkaiser Should we link the related Technical Specification to the description?

@hkaiser
Copy link
Member Author

@hkaiser hkaiser commented May 15, 2020

@hkaiser Should we link the relevant Technical Specification to the description?

Sure, please feel free to do that, thanks!

@gonidelis
Copy link
Contributor

@gonidelis gonidelis commented May 16, 2020

Related TS : The latest Technical Specification that fully describes the changes that need to be made.

@hkaiser hkaiser added this to Open Tickets in Standard Algorithms Jun 10, 2020
@hkaiser hkaiser mentioned this issue Aug 4, 2020
15 of 24 tasks
@hkaiser hkaiser added this to the 1.6.0 milestone Aug 4, 2020
@gonidelis
Copy link
Contributor

@gonidelis gonidelis commented Nov 12, 2020

@hkaiser Please replace the obsolete transform PRs with the new one #5051. Thanks :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Standard Algorithms
  
Open Tickets
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants