You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Make all views as similar as possible to the C++20 standard, since this gives us the highest chance that they will work together in composable view definitions and are stable for the future. It is also a good practice, since the standard documents how they are implemented and every developer can follow these guidelines.
change behaviour of take/drop according to P1739/P1664 Core meeting 2020-12-07:
Declare take/drop view as experimental; The reason is that the standard take/drop view seems to have the same properties.
TODO: This should be benchmarked and if there is a regression this should be backported to the standard.
view::persist should downgrage ContiguousIterator/Range to RandomAccessIterator/Range because contiguous suggests you can directly access the memory whose lifetime might end, if not access via view::persist. Should we still offer view::persist or remove it entirely Core meeting 2020-12-07: We remove this as discussed already here https://github.com/orgs/seqan/projects/4#card-41487782
rename to views::all_pairs -> we decided against this
make view factory instead of adaptor
have single param interface (like now)
add two-param interface where all pairs between the sets are generated
change the tuple-type to be (seq1, seq2, id1, id2) where id1 and id2 are numbers that indicate the original IDs of the sequences
Acceptance Criteria
Tasks
Definition of Done
Implementation and design approved
Unit tests pass
Test coverage = 100%
Microbenchmarks added and/or affected microbenchmarks < 5% performance drop
API documentation added
Tutorial/teaching material added
Test suite compiles in less than 30 seconds (on travis)
Changelog entry added
The text was updated successfully, but these errors were encountered:
rrahn
changed the title
C++20 like views
!! C++20 like views
Oct 22, 2020
rrahn
added
the
needs refinement
A story that was not discussed and/or estimated by the team yet but is planned for upcoming sprints.
label
Dec 7, 2020
Description !!!
Make all views as similar as possible to the C++20 standard, since this gives us the highest chance that they will work together in composable view definitions and are stable for the future. It is also a good practice, since the standard documents how they are implemented and every developer can follow these guidelines.
Already discussed:
Core meeting 2020-12-07: Everything is done already
Core meeting 2020-12-07: Yes, they should be explicit if only one argument is given, e.g. http://eel.is/c++draft/range.join which does the same.
TODO: Make an issue for this. (Old issue is being re-used; I reopened)
Core meeting 2020-12-07:
Declare take/drop view as experimental; The reason is that the standard take/drop view seems to have the same properties.
TODO: This should be benchmarked and if there is a regression this should be backported to the standard.
Core meeting 2020-12-07: We remove this as discussed already here https://github.com/orgs/seqan/projects/4#card-41487782
Core meeting 2020-12-07: This is done, see: Simplify seqan3/std/concepts #190
views::pairwise_combine
:views::all_pairs
-> we decided against this(seq1, seq2, id1, id2)
where id1 and id2 are numbers that indicate the original IDs of the sequencesAcceptance Criteria
Tasks
Definition of Done
The text was updated successfully, but these errors were encountered: