mirror of
https://github.com/boostorg/algorithm.git
synced 2025-07-29 12:07:18 +02:00
Implement copy_if_while and copy_if_until
Problem: - There is no way to signal that a copy should proceed, selecting elements by a predicate until some condition is met. This is useful for patterns along the lines of "copy selected elements until there are n total elements in the output". Solution: - Introduce `copy_if_while()` and `copy_if_until()`.
This commit is contained in:
@ -206,14 +206,24 @@ See below
|
||||
|
||||
[section:copy_until copy_until ]
|
||||
[*[^[link header.boost.algorithm.cxx11.copy_if_hpp copy_until] ] ]
|
||||
Copy all the elements at the start of the input range that do not satisfy the predicate to the output range
|
||||
Copy all the elements from the start of the input range to the output range until the predicate is satisfied
|
||||
[endsect:copy_until]
|
||||
|
||||
[section:copy_while copy_while ]
|
||||
[*[^[link header.boost.algorithm.cxx11.copy_if_hpp copy_while] ] ]
|
||||
Copy all the elements at the start of the input range that satisfy the predicate to the output range
|
||||
Copy all the elements from the start of the input range to the output range while the predicate is satisfied
|
||||
[endsect:copy_while]
|
||||
|
||||
[section:copy_if_until copy_if_until ]
|
||||
[*[^[link header.boost.algorithm.cxx11.copy_if_hpp copy_if_until ] ]
|
||||
Copy all elements that satisfy the element predicate from the start of the input range to the output range until the termination predicate is satisfied
|
||||
[endsect:copy_if_until]
|
||||
|
||||
[section:copy_if_while copy_if_while ]
|
||||
[*[^[link header.boost.algorithm.cxx11.copy_if_hpp copy_if_while ] ]
|
||||
Copy all elements that satisfy the element predicate from the start of the input range to the output range while the termination predicate is satisfied
|
||||
[endsect:copy_if_while]
|
||||
|
||||
[section:iota_n iota_n ]
|
||||
[*[^[link boost.algorithm.iota_n iota_n] ] ]
|
||||
Write a sequence of n increasing values to an output iterator
|
||||
|
Reference in New Issue
Block a user