std::experimental::ranges::Same - cppreference.com (original) (raw)
| Technical Specification |
|---|
| Filesystem library (filesystem TS) |
| Library fundamentals (library fundamentals TS) |
| Library fundamentals 2 (library fundamentals TS v2) |
| Library fundamentals 3 (library fundamentals TS v3) |
| Extensions for parallelism (parallelism TS) |
| Extensions for parallelism 2 (parallelism TS v2) |
| Extensions for concurrency (concurrency TS) |
| Extensions for concurrency 2 (concurrency TS v2) |
| Concepts (concepts TS) |
| Ranges (ranges TS) |
| Reflection (reflection TS) |
| Mathematical special functions (special functions TR) |
| Experimental Non-TS |
| Pattern Matching |
| Linear Algebra |
| std::execution |
| Contracts |
| 2D Graphics |
| Concepts |
|---|
| General utilities |
| Iterators |
| Ranges |
| Algorithms |
| Core language concepts | |||
|---|---|---|---|
| Same DerivedFrom ConvertibleTo | CommonReference Common | Integral SignedIntegral UnsignedIntegral | Assignable SwappableSwappableWith |
| Object concepts | |||
| Destructible Constructible DefaultConstructible | MoveConstructible CopyConstructible | Movable Copyable | Semiregular Regular |
| Comparison concepts | |||
| Boolean | WeaklyEqualityComparableWith | EqualityComparableEqualityComparableWith | StrictTotallyOrderedStrictTotallyOrderedWith |
| Callable concepts | |||
| InvocableRegularInvocable | Predicate | Relation | StrictWeakOrder |
| URNG concept | |||
| UniformRandomNumberGenerator |
| Defined in header <experimental/ranges/concepts> | | | | ----------------------------------------------------------------------------------------------------------------------------------------------- | | ----------- | | template< class T, class U >concept bool Same = std::is_same<T, U>::value; // see below | | (ranges TS) |
The concept Same<T, U> is satisfied if and only if T and U denote the same type.
Despite being specified using it, there need not be any subsumption relationship between Same<T, U> and std::is_same<T, U>::value.
For the purposes of constraint checking, Same<T, U> implies Same<U, T>.
[edit] Notes
The additional requirement on constraint checking differentiates Same from std::is_same.
[edit] See also
| is_same(C++11) | checks if two types are the same (class template) [edit] |
|---|