header:
- name: ['Name', ['rowname']]
- Inp: ['Input ranges*', ['Inp']]
- Acc: ['Accumulator', ['Acc']]
- Ret: ['Output ranges', ['Ret']]
- Ops: ['Operations†', ['Ops']]
- Def: ['Default operations', ['Def']]
- Cpx: ['Complexity', ['Cpx']]
- Dir: ['Order‡', ['Dir']]
- Cmp: ['Compare to', ['Cmp']]
- Family: ['Family', ['Family', 'hidden']]
data:
- name: '{std:transform_@inclusive_@scan}'
Inp: '1'
Acc: 'First, Arg'
Ret: '1'
Ops: 'aR, uT'
Def: ''
Cpx: 'O(N)'
Dir: '{^∥|FN:par}'
Cmp: ''
Family: '20'
- name: '{std:transform_@exclusive_@scan}'
Inp: '1'
Acc: 'Arg'
Ret: '1'
Ops: 'aR, uT'
Def: ''
Cpx: 'O(N)'
Dir: '{^∥|FN:par}'
Cmp: ''
Family: '20'
- name: '{std:partial_@sum}'
Inp: '1'
Acc: 'First'
Ret: '1'
Ops: 'A'
Def: '{std:plus}'
Cpx: 'O(N), =(N - 1)'
Dir: 'Fwd.'
Cmp: ''
Family: '30'
- name: '{std:inclusive_@scan}'
Inp: '1'
Acc: 'First, Arg'
Ret: '1'
Ops: 'aR'
Def: '{std:plus}'
Cpx: 'O(N)'
Dir: '{^∥|FN:par}'
Cmp: ''
Family: '30'
- name: '{std:exclusive_@scan}'
Inp: '1'
Acc: 'Arg'
Ret: '1'
Ops: 'aR'
Def: '{std:plus}'
Cpx: 'O(N)'
Dir: '{^∥|FN:par}'
Cmp: ''
Family: '30'
- name: '{std:adjacent_@difference}'
Inp: '1s'
Acc: 'Quasi'
Ret: '1'
Ops: 'fD'
Def: '{std:minus}'
Cpx: 'O(N), =(N - 1)'
Dir: 'Fwd.{^∥|FN:par}'
Cmp: '{CH:adjacent_@transform}'
Family: '40'
- name: '{CH:adjacent_@transform}{▸|YT:sEvYmb3eKsw?t=}'
Inp: '1s'
Acc: 'Quasi'
Ret: '1'
Ops: 'D'
Def: ''
Cpx: 'O(N), =(N - 1)'
Dir: 'Fwd.{^∥|FN:par}'
Cmp: '{std:adjacent_@difference}'
Family: '40'
- name: '{CH:adjacent_@inclusive_@scan}{▸|YT:sEvYmb3eKsw?t=51m}'
Inp: '1s'
Acc: 'First'
Ret: '1'
Ops: 'A, D'
Def: ''
Cpx: 'O(N)'
Dir: 'Fwd.'
Cmp: ''
Family: '50'
- name: '{std:transform}'
Inp: '1 / 2'
Acc: ''
Ret: '1'
Ops: 'uT / bT'
Def: ''
Cpx: '=(N)'
Dir: '{^∥|FN:par}'
Cmp: ''
Family: '60'
- name: '{std:copy}'
Inp: '1'
Acc: ''
Ret: '1'
Ops: ''
Def: ''
Cpx: '=(N)'
Dir: 'Fwd.{^∥|FN:par}'
Cmp: '{std:transform}'
Family: '60'
- name: '{std:copy_@backward}'
Inp: '1'
Acc: ''
Ret: '1'
Ops: ''
Def: ''
Cpx: '=(N)'
Dir: 'Rev.'
Cmp: ''
Family: '60'
- name: '{std:copy_n}'
Inp: '1'
Acc: ''
Ret: '1'
Ops: ''
Def: ''
Cpx: '=(N)'
Dir: 'Unspc.{^∥|FN:par}'
Cmp: '{std:transform}'
Family: '60'
- name: '{std:move (algorithm)}'
Inp: '1'
Acc: ''
Ret: '1'
Ops: ''
Def: ''
Cpx: '=(N)'
Dir: 'Fwd.{^∥|FN:par}'
Cmp: '{std:shift_left}'
Family: '60'
- name: '{std:move_@backward}'
Inp: '1'
Acc: ''
Ret: '1'
Ops: ''
Def: ''
Cpx: '=(N)'
Dir: 'Rev.'
Cmp: '{std:shift_@right}'
Family: '60'
- name: '{std:replace_@copy}'
Inp: '1+Value'
Acc: 'Arg'
Ret: '1'
Ops: ''
Def: '{std:equal_to}'
Cpx: '=(N)'
Dir: 'Fwd.{^∥|FN:par}'
Cmp: '{std:transform}'
Family: '60'
- name: '{std:replace_@copy_if}'
Inp: '1'
Acc: 'Arg'
Ret: '1'
Ops: 'uP'
Def: ''
Cpx: '=(N)'
Dir: 'Fwd.{^∥|FN:par}'
Cmp: '{std:transform}'
Family: '60'
- name: '{std:reverse_@copy}'
Inp: '1'
Acc: ''
Ret: '1'
Ops: ''
Def: ''
Cpx: '=(N)'
Dir: '{^∥|FN:par}'
Cmp: '{std:transform}'
Family: '60'
- name: '{std:rotate_@copy}'
Inp: '1d'
Acc: ''
Ret: '1'
Ops: ''
Def: ''
Cpx: 'O(N)'
Dir: '{^∥|FN:par}'
Cmp: ''
Family: '60'
- name: '{std:sample}'
Inp: '1'
Acc: 'Arg'
Ret: '1'
Ops: ''
Def: ''
Cpx: 'O(N)'
Dir: 'Fwd.'
Cmp: ''
Family: '60'
- name: '{std:partial_@sort_@copy}'
Inp: '1'
Acc: ''
Ret: '1'
Ops: 'bP'
Def: '{std:less}'
Cpx: 'O(N log(min(D,N))'
Dir: '{^∥|FN:par}'
Cmp: ''
Family: '60'
- name: '{std:partition_@copy}'
Inp: '1'
Acc: ''
Ret: '2'
Ops: 'uP'
Def: ''
Cpx: '=(N)'
Dir: 'Fwd.{^∥|FN:par}'
Cmp: ''
Family: '63'
- name: '{kblib:transform_if}'
Inp: '1'
Acc: ''
Ret: '1'
Ops: 'uP, uT'
Def: ''
Cpx: 'O(N)'
Dir: 'Fwd.'
Cmp: ''
Family: '65'
- name: '{std:copy_if}, {std:remove_@copy_if}'
Inp: '1'
Acc: ''
Ret: '1'
Ops: 'uP'
Def: ''
Cpx: 'O(N)'
Dir: 'Fwd.{^∥|FN:par}'
Cmp: '{kblib:transform_if}'
Family: '65'
- name: '{std:remove_@copy}'
Inp: '1+Value'
Acc: ''
Ret: '1'
Ops: ''
Def: '{std:equal_to}'
Cpx: '=(N)'
Dir: 'Fwd.{^∥|FN:par}'
Cmp: '{kblib:transform_if}'
Family: '65'
- name: '{std:unique_@copy}'
Inp: '1'
Acc: 'First'
Ret: '1'
Ops: 'bP'
Def: '{std:equal_to}'
Cpx: 'O(N)'
Dir: 'Fwd.{^∥|FN:par}'
Cmp: ''
Family: '65'
- name: '{std:set_@difference}, {std:set_@intersection}, {std:set_@symmetric_@difference}, {std:set_@union}'
Inp: '2'
Acc: ''
Ret: '1'
Ops: 'bP'
Def: '{std:less}'
Cpx: 'O(N+M), ≤(2â‹…(N+M)−1)'
Dir: 'Fwd.{^∥|FN:par}'
Cmp: ''
Family: '67'
- name: '{std:merge}'
Inp: '2'
Acc: ''
Ret: '1'
Ops: 'bP'
Def: '{std:less}'
Cpx: 'O(N+M)'
Dir: 'Fwd.{^∥|FN:par}'
Cmp: ''
Family: '67'
- name: '{std:regex_@replace}{^⧫|FN:re}'
Inp: '2'
Acc: ''
Ret: '1'
Ops: 'Regex{^⧫|FN:re}'
Def: ''
Cpx: 'Unspc.'
Dir: ''
Cmp: 'See note{^⧫|FN:re}'
Family: '68'
- name: '{kblib:search_@replace_@copy}'
Inp: '3'
Acc: ''
Ret: '1'
Ops: 'bP'
Def: '{std:equal_to}'
Cpx: 'O(N×(S+R))'
Dir: ''
Cmp: '{std:regex_@replace}{^⧫|FN:re}'
Family: '68'
- name: '{std:generate}, {std:generate_n}'
Inp: '0'
Acc: ''
Ret: '1'
Ops: 'G'
Def: ''
Cpx: '=(N)'
Dir: 'Fwd.{^∥|FN:par}'
Cmp: ''
Family: '100'
- name: '{std:iota}'
Inp: '0'
Acc: 'Arg'
Ret: '1'
Ops: ''
Def: '{$:++}'
Cpx: '=(N)'
Dir: 'Fwd.'
Cmp: '{std:generate}'
Family: '100'
- name: '{kblib:iota}'
Inp: '0'
Acc: 'Arg'
Ret: '1'
Ops: 'uT'
Def: '{:++}'
Cpx: '=(N)'
Dir: 'Fwd.'
Cmp: '{std:generate}'
Family: '100'
- name: '{std:fill}, {std:fill_n}'
Inp: '0'
Acc: 'Arg'
Ret: '1'
Ops: ''
Def: ''
Cpx: '=(N)'
Dir: 'Fwd.{^∥|FN:par}'
Cmp: '{std:generate}, {std:generate_n}'
Family: '100'
- name: '{std:for_@each}, {std:for_@each_n}'
Inp: '1'
Acc: ''
Ret: '0{^∅|FN:for-each}'
Ops: 'muT'
Def: ''
Cpx: '=(N)'
Dir: 'Fwd.{^∥|FN:par}'
Cmp: ''
Family: '140'
- name: '{kblib:for_@each}, {kblib:for_@each_n}'
Inp: '1 / 2'
Acc: ''
Ret: '0{^∅|FN:for-each}'
Ops: 'muT / mbT'
Def: ''
Cpx: '=(N)'
Dir: 'Fwd.'
Cmp: ''
Family: '140'
- name: '{std:swap_@ranges}'
Inp: '2'
Acc: ''
Ret: 'Self'
Ops: ''
Def: '{$std:swap}'
Cpx: 'O(N)'
Dir: 'Fwd.{^∥|FN:par}'
Cmp: '{kblib:for_@each}'
Family: '140'
- name: '{%remove|std:remove ()}'
Inp: '1+Value'
Acc: ''
Ret: 'Self'
Ops: ''
Def: '{std:equal_to}'
Cpx: 'O(N)'
Dir: 'Fwd.{^∥|FN:par}'
Cmp: ''
Family: '150'
- name: '{std:remove_if}'
Inp: '1'
Acc: ''
Ret: 'Self'
Ops: 'uP'
Def: ''
Cpx: 'O(N)'
Dir: 'Fwd.{^∥|FN:par}'
Cmp: ''
Family: '150'
- name: '{std:unique}'
Inp: '1'
Acc: ''
Ret: 'Self'
Ops: 'bP'
Def: '{std:equal_to}'
Cpx: 'O(N)'
Dir: 'Fwd.{^∥|FN:par}'
Cmp: ''
Family: '150'
- name: '{std:replace}'
Inp: '1+Value'
Acc: ''
Ret: 'Self'
Ops: ''
Def: '{std:equal_to}'
Cpx: '=(N)'
Dir: 'Fwd.{^∥|FN:par}'
Cmp: '{std:transform}'
Family: '160'
- name: '{std:replace_if}'
Inp: '1'
Acc: ''
Ret: 'Self'
Ops: 'uP'
Def: ''
Cpx: '=(N)'
Dir: 'Fwd.{^∥|FN:par}'
Cmp: '{std:transform}'
Family: '160'
- name: '{std:reverse}'
Inp: '1'
Acc: ''
Ret: 'Self'
Ops: ''
Def: ''
Cpx: 'O(N), =(N/2)'
Dir: 'Yes{^∥|FN:par}'
Cmp: '{std:swap_ranges}'
Family: '170'
- name: '{std:rotate}'
Inp: '1d'
Acc: ''
Ret: 'Self'
Ops: ''
Def: ''
Cpx: 'O(N)'
Dir: 'Yes{^∥|FN:par}'
Cmp: ''
Family: '170'
- name: '{std:shift_@left}'
Inp: '1d'
Acc: ''
Ret: 'Self'
Ops: ''
Def: ''
Cpx: '"≤(N-n)"'
Dir: 'Fwd.{^∥|FN:par}'
Cmp: '{std:move (algorithm)}'
Family: '170'
- name: '{std:shift_@right}'
Inp: '1d'
Acc: ''
Ret: 'Self'
Ops: ''
Def: ''
Cpx: '"≤(N-n)"'
Dir: 'Yes{^∥|FN:par}'
Cmp: '{std:move_@backward}'
Family: '170'
- name: '{std:shuffle}'
Inp: '1+URBG'
Acc: ''
Ret: 'Self'
Ops: ''
Def: ''
Cpx: 'O(N)'
Dir: ''
Cmp: ''
Family: '170'
- name: '{std:next_@permutation}, {std:prev_@permutation}'
Inp: '1'
Acc: ''
Ret: 'Self'
Ops: ''
Def: ''
Cpx: 'O(N), ≤(N/2)'
Dir: ''
Cmp: ''
Family: '170'
- name: '{std:partition}'
Inp: '1'
Acc: ''
Ret: 'Self'
Ops: 'uP'
Def: ''
Cpx: 'O(N); O(N log N){^↓∥|FN:raccess}'
Dir: '{^∥|FN:par}'
Cmp: ''
Family: '170'
- name: '{std:stable_@partition}'
Inp: '1'
Acc: ''
Ret: 'Self'
Ops: 'uP'
Def: ''
Cpx: 'O(N) w/ memory, else O(N log N); O(N log N){^↓∥|FN:raccess}'
Dir: '{^∥|FN:par}'
Cmp: ''
Family: '170'
- name: '{std:sort}'
Inp: '1'
Acc: ''
Ret: 'Self'
Ops: 'bP'
Def: '{std:less}'
Cpx: 'O(N log N)'
Dir: '{^∥|FN:par}'
Cmp: ''
Family: '170'
- name: '{std:partial_@sort}'
Inp: '1d'
Acc: ''
Ret: 'Self'
Ops: 'bP'
Def: '{std:less}'
Cpx: 'O(N log M)'
Dir: '{^∥|FN:par}'
Cmp: ''
Family: '170'
- name: '{std:stable_@sort}'
Inp: '1'
Acc: ''
Ret: 'Self'
Ops: 'bP'
Def: '{std:less}'
Cpx: 'O(N log N) w/ memory, else O(N log(N)2)'
Dir: '{^∥|FN:par}'
Cmp: ''
Family: '170'
- name: '{std:nth_@element}'
Inp: '1d'
Acc: ''
Ret: 'Self'
Ops: 'bP'
Def: '{std:less}'
Cpx: 'O(N); O(N log N){^↓∥|FN:raccess}'
Dir: '{^∥|FN:par}'
Cmp: ''
Family: '170'
- name: '{%nth_elements|wg21:p2375}'
Inp: '1+positions'
Acc: ''
Ret: 'Self'
Ops: 'bP'
Def: '{std:less}'
Cpx: 'O(N log M)'
Dir: ''
Cmp: '{std:nth_@element}'
Family: '170'
- name: '{std:make_@heap}'
Inp: '1'
Acc: ''
Ret: 'Self'
Ops: 'bP'
Def: '{std:less}'
Cpx: 'O(N), ≤(3N)'
Dir: ''
Cmp: ''
Family: '170'
- name: '{std:push_@heap}, {std:pop_@heap}'
Inp: '1'
Acc: ''
Ret: 'Self'
Ops: 'bP'
Def: '{std:less}'
Cpx: 'O(log N)'
Dir: ''
Cmp: ''
Family: '170'
- name: '{std:sort_@heap}'
Inp: '1'
Acc: ''
Ret: 'Self'
Ops: 'bP'
Def: '{std:less}'
Cpx: 'O(N log N)'
Dir: ''
Cmp: ''
Family: '170'
- name: '{std:inplace_@merge}'
Inp: '1d'
Acc: ''
Ret: 'Self'
Ops: 'bP'
Def: '{std:less}'
Cpx: '=(N-1) w/ memory, O(N log N); O(N log N){^↓∥|FN:raccess}'
Dir: '{^∥|FN:par}'
Cmp: ''
Family: '170'