Regular

For all the standard concepts that are involved in the definition of std::regular we provide supplementary concepts that check whether all the required operations are trivial or nothrow. There are standard type traits for all these requirements, but they weren’t grouped into concepts.

These concepts are especially useful in unit tests.

Reference

Concepts augmenting std::regular:

#include <actl/lifetime/Regular.hpp>
template<typename T>
concept NothrowRegular

Concepts augmenting std::semiregular:

#include <actl/lifetime/SemiRegular.hpp>
template<typename T>
concept TriviallySemiRegular
template<typename T>
concept NothrowSemiRegular

See also