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 <bio/ranges/concept.hpp>
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 BioC++) guarantees that it is safe to call const-qualified functions concurrently.