|
SeqAn3 3.4.1-rc.1
The Modern C++ library for sequence analysis.
|
Specifies requirements of an input range type for which the const version of that type satisfies the same strength input range concept as the non-const version.
More...
#include <seqan3/utility/range/concept.hpp>
Inheritance diagram for const_iterable_range:Specifies requirements of an input range type for which the const version of that type satisfies the same strength input range concept as the non-const version.
For a type t it usually holds that if t is a range, t const is also a range with similar properties, but there are cases where this does not hold:
const range is usually not writable so std::ranges::output_range is lost; pure output ranges (those that are not also input ranges) are therefore not const-iterable;const-iterable, because "single-pass-ness" implies that there is something in the range that changes on every iterator increment (and const ranges can't change);begin() is called or an iterator is incremented; these may be not be const-iterable, because the standard library (and also SeqAn) guarantees that it is safe to call const-qualified functions concurrently.