Range-v3: concepts::defs::common_with_ Concept Reference

Range-v3 Range algorithms, views, and actions for the Standard Library |

concepts::defs::common_with_ Concept Reference

The `common_with_` concept. More...

`#include <concepts/concepts.hpp>`

## Concept definition

template<typename T, typename U>
concept concepts::defs::common_with_ = same_as<common_type_t<T U>, common_type_t<U, T>> &&
convertible_to<T, common_type_t<T, U>> &&
convertible_to<U, common_type_t<T, U>> &&
common_reference_with<
std::add_lvalue_reference_t<T const>,
std::add_lvalue_reference_t<U const>> &&
common_reference_with<
std::add_lvalue_reference_t<common_type_t<T, U>>,
common_reference_t<
std::add_lvalue_reference_t<T const>,
std::add_lvalue_reference_t<U const>>>
)
concepts::defs::common_reference_with
The common_reference_with concept.
Definition: concepts.hpp:915
concepts::defs::common_with_
The common_with_ concept.
Definition: concepts.hpp:920
concepts::defs::convertible_to
The convertible_to concept.
Definition: concepts.hpp:891
concepts::defs::same_as
The same_as concept.
Definition: concepts.hpp:853

## Detailed Description

The `common_with_` concept.