##### cppreference.com

##### Search

Create account

##### Namespaces

- Page
- Discussion

##### Variants

##### Views

- View
- Edit
- History

##### Actions

# std::experimental::ranges::Common

From cppreference.com
< cpp‎ | experimental‎ | ranges

Defined in header `<experimental/ranges/concepts>` |  |
template <class T, class U> concept bool Common() { return ranges::CommonReference<const T&, const U&>() && requires(T (&t)(), U (&u)()) { typename std::common_type_t<T, U>; typename std::common_type_t<U, T>; requires ranges::Same<std::common_type_t<U, T>, std::common_type_t<T, U>>(); std::common_type_t<T, U>(t()); std::common_type_t<T, U>(u()); requires ranges::CommonReference< std::add_lvalue_reference_t<std::common_type_t<T, U>>, std::common_reference_t<std::add_lvalue_reference_t<const T>, std::add_lvalue_reference_t<const U>>>(); }; } |  | (ranges TS)

| This section is incomplete Reason: add description and extra caveats

Retrieved from "http://en.cppreference.com/mwiki/index.php?title=cpp/experimental/ranges/concepts/Common&oldid=89703"
Category:

- Todo with reason