cpp/memory/ranges/nothrow concepts

These exposition-only concepts specify that no exceptions are thrown from operations required by algorithms on iterators, sentinels, and ranges.

@1@ The concept requires that dereferencing the iterator yields an lvalue, like  and.

Semantic requirements
Like all standard concepts, every concept listed here is modeled only if all concepts it subsumes are modeled.

@1@ A type models  only if no exceptions are thrown from increment, copy construction, move construction, copy assignment, move assignment, or indirection through valid iterators.

@3@ Types and  model  only if no exceptions are thrown from copy construction, move construction, copy assignment, move assignment, or comparisons between valid values of type  and.

@4@ A type models  only if no exceptions are thrown from calls to  and  on an object of type.