Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::v3::concepts::Swappable Struct Reference

Public Member Functions

template<typename T >
auto requires_ (T &&t) -> decltype(concepts::valid_expr(((void) ranges::swap((T &&) t,(T &&) t), 42)))
 
template<typename T , typename U >
auto requires_ (T &&t, U &&u) -> decltype(concepts::valid_expr(concepts::model_of< Swappable, T >(), concepts::model_of< Swappable, U >(), concepts::model_of< CommonReference, detail::as_cref_t< T >, detail::as_cref_t< U >>(),((void) ranges::swap((T &&) t,(U &&) u), 42),((void) ranges::swap((U &&) u,(T &&) t), 42)))