irange
とcounting_range
は、整数型のランダムアクセス範囲をモデル化します。各範囲の種類は別に差が(より効果的に存在しない
if (CategoryOrTraversal is not use_default)
return CategoryOrTraversal
else if (numeric_limits<Incrementable>::is_specialized)
return iterator-category(random_access_traversal_tag, Incrementable, const Incrementable&)
else
return iterator-category(iterator_traversal<Incrementable>::type, Incrementable, const Incrementable&)
したがって、そのようなboost::irange(0, 10)
とboost::counting_range(0, 10)
ような単純な範囲について:counting_range
のマニュアルが指摘するように、そのイテレータカテゴリには、以下のアルゴリズムに従って決定されますコース!)。しかし、irange
は、異なる刻み幅(例えば、boost::irange(0, 10, 2)
)で反復をサポートし、counting_range
はまた、増分可能であり整数を完全にはモデル化しないタイプもサポートする。
出典
2017-11-07 10:34:59
Joe
これは、誤った情報が権威あるピアレビューされた事実としてどのように提示されるかについて、非常に驚くべき例でした。 –