Design Philosophy
cauliyang opened this issue · comments
Design Philosophy
Quick ideas about all I will do
Revise VcfReader
- Add operator*, operator++ , operator !=, and return VcfRecord
- Change VcfRecord as iterator VS Change VcfRecord as a Generator
- Use sentinel as end_iterator
- Change VcfReader's iterator tag to input_itrator
- Support standard algorithm library
- ⭐ Adopt C++20 standards to use concepts and support ranges operations
- Add Error message when one vcf_reader has been consumed and call being() again
Build Interval Tree
- Build a Interval Tree based on RB Tree
- Move Shareptr
- Adopt async to find overlaps concurrently
- Using Google Benchmark to benchmark interval tree, brute force , method by index