gitextract_9l0su0ff/ ├── .cirrus.yml ├── .gitattributes ├── .gitignore ├── .travis.yml ├── CMakeLists.txt ├── LICENSE.txt ├── README.md ├── config/ │ ├── ci/ │ │ └── Dockerfile │ └── cmake/ │ └── FindSanitizer.cmake ├── examples/ │ ├── CMakeLists.txt │ └── simple.cpp ├── include/ │ ├── experimental/ │ │ └── ranges/ │ │ ├── algorithm │ │ ├── concepts │ │ ├── functional │ │ ├── iterator │ │ ├── memory │ │ ├── random │ │ ├── range │ │ ├── ranges │ │ ├── type_traits │ │ └── utility │ ├── meta/ │ │ ├── meta.hpp │ │ └── meta_fwd.hpp │ └── stl2/ │ ├── algorithm.hpp │ ├── concepts.hpp │ ├── detail/ │ │ ├── algorithm/ │ │ │ ├── adjacent_find.hpp │ │ │ ├── all_of.hpp │ │ │ ├── any_of.hpp │ │ │ ├── binary_search.hpp │ │ │ ├── copy.hpp │ │ │ ├── copy_backward.hpp │ │ │ ├── copy_if.hpp │ │ │ ├── copy_n.hpp │ │ │ ├── count.hpp │ │ │ ├── count_if.hpp │ │ │ ├── equal.hpp │ │ │ ├── equal_range.hpp │ │ │ ├── fill.hpp │ │ │ ├── fill_n.hpp │ │ │ ├── find.hpp │ │ │ ├── find_end.hpp │ │ │ ├── find_first_of.hpp │ │ │ ├── find_if.hpp │ │ │ ├── find_if_not.hpp │ │ │ ├── for_each.hpp │ │ │ ├── generate.hpp │ │ │ ├── generate_n.hpp │ │ │ ├── heap_sift.hpp │ │ │ ├── includes.hpp │ │ │ ├── inplace_merge.hpp │ │ │ ├── is_heap.hpp │ │ │ ├── is_heap_until.hpp │ │ │ ├── is_partitioned.hpp │ │ │ ├── is_permutation.hpp │ │ │ ├── is_sorted.hpp │ │ │ ├── is_sorted_until.hpp │ │ │ ├── lexicographical_compare.hpp │ │ │ ├── lower_bound.hpp │ │ │ ├── make_heap.hpp │ │ │ ├── max.hpp │ │ │ ├── max_element.hpp │ │ │ ├── merge.hpp │ │ │ ├── min.hpp │ │ │ ├── min_element.hpp │ │ │ ├── minmax.hpp │ │ │ ├── minmax_element.hpp │ │ │ ├── mismatch.hpp │ │ │ ├── move.hpp │ │ │ ├── move_backward.hpp │ │ │ ├── next_permutation.hpp │ │ │ ├── none_of.hpp │ │ │ ├── nth_element.hpp │ │ │ ├── partial_sort.hpp │ │ │ ├── partial_sort_copy.hpp │ │ │ ├── partition.hpp │ │ │ ├── partition_copy.hpp │ │ │ ├── partition_point.hpp │ │ │ ├── pop_heap.hpp │ │ │ ├── prev_permutation.hpp │ │ │ ├── push_heap.hpp │ │ │ ├── remove.hpp │ │ │ ├── remove_copy.hpp │ │ │ ├── remove_copy_if.hpp │ │ │ ├── remove_if.hpp │ │ │ ├── replace.hpp │ │ │ ├── replace_copy.hpp │ │ │ ├── replace_copy_if.hpp │ │ │ ├── replace_if.hpp │ │ │ ├── results.hpp │ │ │ ├── reverse.hpp │ │ │ ├── reverse_copy.hpp │ │ │ ├── rotate.hpp │ │ │ ├── rotate_copy.hpp │ │ │ ├── sample.hpp │ │ │ ├── search.hpp │ │ │ ├── search_n.hpp │ │ │ ├── set_difference.hpp │ │ │ ├── set_intersection.hpp │ │ │ ├── set_symmetric_difference.hpp │ │ │ ├── set_union.hpp │ │ │ ├── shuffle.hpp │ │ │ ├── sort.hpp │ │ │ ├── sort_heap.hpp │ │ │ ├── stable_partition.hpp │ │ │ ├── stable_sort.hpp │ │ │ ├── swap_ranges.hpp │ │ │ ├── transform.hpp │ │ │ ├── unique.hpp │ │ │ ├── unique_copy.hpp │ │ │ └── upper_bound.hpp │ │ ├── cached_position.hpp │ │ ├── cheap_storage.hpp │ │ ├── concepts/ │ │ │ ├── callable.hpp │ │ │ ├── compare.hpp │ │ │ ├── core.hpp │ │ │ ├── function.hpp │ │ │ ├── fundamental.hpp │ │ │ ├── object/ │ │ │ │ ├── assignable.hpp │ │ │ │ ├── movable.hpp │ │ │ │ ├── move_constructible.hpp │ │ │ │ ├── regular.hpp │ │ │ │ └── semiregular.hpp │ │ │ ├── object.hpp │ │ │ └── urng.hpp │ │ ├── construct_destruct.hpp │ │ ├── ebo_box.hpp │ │ ├── functional/ │ │ │ ├── comparisons.hpp │ │ │ ├── invoke.hpp │ │ │ └── not_fn.hpp │ │ ├── fwd.hpp │ │ ├── hash.hpp │ │ ├── iostream/ │ │ │ └── concepts.hpp │ │ ├── iterator/ │ │ │ ├── any_iterator.hpp │ │ │ ├── basic_iterator.hpp │ │ │ ├── common_iterator.hpp │ │ │ ├── concepts.hpp │ │ │ ├── counted_iterator.hpp │ │ │ ├── default_sentinel.hpp │ │ │ ├── increment.hpp │ │ │ ├── insert_iterators.hpp │ │ │ ├── istream_iterator.hpp │ │ │ ├── istreambuf_iterator.hpp │ │ │ ├── move_iterator.hpp │ │ │ ├── operations.hpp │ │ │ ├── ostream_iterator.hpp │ │ │ ├── ostreambuf_iterator.hpp │ │ │ ├── reverse_iterator.hpp │ │ │ └── unreachable.hpp │ │ ├── memory/ │ │ │ ├── concepts.hpp │ │ │ ├── construct_at.hpp │ │ │ ├── destroy.hpp │ │ │ ├── uninitialized_copy.hpp │ │ │ ├── uninitialized_default_construct.hpp │ │ │ ├── uninitialized_fill.hpp │ │ │ ├── uninitialized_move.hpp │ │ │ └── uninitialized_value_construct.hpp │ │ ├── meta.hpp │ │ ├── non_propagating_cache.hpp │ │ ├── randutils.hpp │ │ ├── range/ │ │ │ ├── access.hpp │ │ │ ├── concepts.hpp │ │ │ ├── dangling.hpp │ │ │ ├── nth_iterator.hpp │ │ │ └── primitives.hpp │ │ ├── raw_ptr.hpp │ │ ├── semiregular_box.hpp │ │ ├── span.hpp │ │ ├── swap.hpp │ │ ├── temporary_vector.hpp │ │ ├── tuple_like.hpp │ │ ├── variant.hpp │ │ └── view/ │ │ └── view_closure.hpp │ ├── functional.hpp │ ├── iterator.hpp │ ├── memory.hpp │ ├── random.hpp │ ├── ranges.hpp │ ├── type_traits.hpp │ ├── utility.hpp │ └── view/ │ ├── all.hpp │ ├── common.hpp │ ├── counted.hpp │ ├── drop.hpp │ ├── drop_while.hpp │ ├── empty.hpp │ ├── filter.hpp │ ├── generate.hpp │ ├── indirect.hpp │ ├── iota.hpp │ ├── istream.hpp │ ├── join.hpp │ ├── move.hpp │ ├── ref.hpp │ ├── repeat.hpp │ ├── repeat_n.hpp │ ├── reverse.hpp │ ├── single.hpp │ ├── split.hpp │ ├── subrange.hpp │ ├── take.hpp │ ├── take_exactly.hpp │ ├── take_while.hpp │ ├── transform.hpp │ └── view_interface.hpp └── test/ ├── CMakeLists.txt ├── algorithm/ │ ├── CMakeLists.txt │ ├── adjacent_find.cpp │ ├── all_of.cpp │ ├── any_of.cpp │ ├── binary_search.cpp │ ├── copy.cpp │ ├── copy_backward.cpp │ ├── copy_if.cpp │ ├── copy_n.cpp │ ├── count.cpp │ ├── count_if.cpp │ ├── equal.cpp │ ├── equal_range.cpp │ ├── fill.cpp │ ├── fill_n.cpp │ ├── find.cpp │ ├── find_end.cpp │ ├── find_first_of.cpp │ ├── find_if.cpp │ ├── find_if_not.cpp │ ├── for_each.cpp │ ├── generate.cpp │ ├── generate_n.cpp │ ├── includes.cpp │ ├── inplace_merge.cpp │ ├── is_heap.hpp │ ├── is_heap1.cpp │ ├── is_heap2.cpp │ ├── is_heap3.cpp │ ├── is_heap4.cpp │ ├── is_heap_until.hpp │ ├── is_heap_until1.cpp │ ├── is_heap_until2.cpp │ ├── is_heap_until3.cpp │ ├── is_heap_until4.cpp │ ├── is_partitioned.cpp │ ├── is_permutation.cpp │ ├── is_sorted.cpp │ ├── is_sorted_until.cpp │ ├── lexicographical_compare.cpp │ ├── lower_bound.cpp │ ├── make_heap.cpp │ ├── max.cpp │ ├── max_element.cpp │ ├── merge.cpp │ ├── min.cpp │ ├── min_element.cpp │ ├── minmax.cpp │ ├── minmax_element.cpp │ ├── mismatch.cpp │ ├── move.cpp │ ├── move_backward.cpp │ ├── next_permutation.cpp │ ├── none_of.cpp │ ├── nth_element.cpp │ ├── partial_sort.cpp │ ├── partial_sort_copy.cpp │ ├── partition.cpp │ ├── partition_copy.cpp │ ├── partition_point.cpp │ ├── pop_heap.cpp │ ├── prev_permutation.cpp │ ├── push_heap.cpp │ ├── remove.cpp │ ├── remove_copy.cpp │ ├── remove_copy_if.cpp │ ├── remove_if.cpp │ ├── replace.cpp │ ├── replace_copy.cpp │ ├── replace_copy_if.cpp │ ├── replace_if.cpp │ ├── reverse.cpp │ ├── reverse_copy.cpp │ ├── rotate.cpp │ ├── rotate_copy.cpp │ ├── sample.cpp │ ├── search.cpp │ ├── search_n.cpp │ ├── set_difference.hpp │ ├── set_difference1.cpp │ ├── set_difference2.cpp │ ├── set_difference3.cpp │ ├── set_difference4.cpp │ ├── set_difference5.cpp │ ├── set_difference6.cpp │ ├── set_intersection.hpp │ ├── set_intersection1.cpp │ ├── set_intersection2.cpp │ ├── set_intersection3.cpp │ ├── set_intersection4.cpp │ ├── set_intersection5.cpp │ ├── set_intersection6.cpp │ ├── set_symmetric_difference.hpp │ ├── set_symmetric_difference1.cpp │ ├── set_symmetric_difference2.cpp │ ├── set_symmetric_difference3.cpp │ ├── set_symmetric_difference4.cpp │ ├── set_symmetric_difference5.cpp │ ├── set_symmetric_difference6.cpp │ ├── set_union.hpp │ ├── set_union1.cpp │ ├── set_union2.cpp │ ├── set_union3.cpp │ ├── set_union4.cpp │ ├── set_union5.cpp │ ├── set_union6.cpp │ ├── shuffle.cpp │ ├── sort.cpp │ ├── sort_heap.cpp │ ├── stable_partition.cpp │ ├── stable_sort.cpp │ ├── swap_ranges.cpp │ ├── transform.cpp │ ├── unique.cpp │ ├── unique_copy.cpp │ └── upper_bound.cpp ├── all_public_headers.hpp ├── common-libcxx.hpp ├── common-libstdcxx.hpp ├── common.cpp ├── concepts/ │ ├── CMakeLists.txt │ ├── compare.cpp │ ├── core.cpp │ ├── fundamental.cpp │ ├── iterator.cpp │ ├── object.cpp │ ├── range.cpp │ └── swap.cpp ├── detail/ │ ├── CMakeLists.txt │ ├── raw_ptr.cpp │ └── temporary_vector.cpp ├── functional/ │ ├── CMakeLists.txt │ ├── invoke.cpp │ └── not_fn.cpp ├── headers1.cpp ├── headers2.cpp ├── iterator/ │ ├── CMakeLists.txt │ ├── any_iterator.cpp │ ├── basic_iterator.cpp │ ├── common_iterator.cpp │ ├── counted_iterator.cpp │ ├── incomplete.cpp │ ├── istream_iterator.cpp │ ├── istreambuf_iterator.cpp │ ├── iterator.cpp │ ├── make_range.cpp │ ├── move_iterator.cpp │ ├── operations.cpp │ ├── ostream_iterator.cpp │ ├── ostreambuf_iterator.cpp │ ├── reverse_iterator.cpp │ └── unreachable.cpp ├── memory/ │ ├── CMakeLists.txt │ ├── common.hpp │ ├── destroy.cpp │ ├── uninitialized_copy.cpp │ ├── uninitialized_default_construct.cpp │ ├── uninitialized_fill.cpp │ ├── uninitialized_move.cpp │ └── uninitialized_value_construct.cpp ├── meta.cpp ├── move_only_string.hpp ├── range_access.cpp ├── simple_test.hpp ├── test_iterators.hpp ├── test_utils.hpp └── view/ ├── CMakeLists.txt ├── common_view.cpp ├── counted_view.cpp ├── drop_view.cpp ├── drop_while_view.cpp ├── empty_view.cpp ├── filter_view.cpp ├── generate_view.cpp ├── indirect_view.cpp ├── istream_view.cpp ├── join_view.cpp ├── move_view.cpp ├── ref_view.cpp ├── repeat_n_view.cpp ├── repeat_view.cpp ├── reverse_view.cpp ├── single_view.cpp ├── span.cpp ├── split_view.cpp ├── subrange.cpp ├── take_exactly_view.cpp ├── take_view.cpp ├── take_while_view.cpp └── transform_view.cpp