[concept.same]

# 18 Concepts library [[concepts]](./#concepts)

## 18.4 Language-related concepts [[concepts.lang]](concepts.lang#concept.same)

### 18.4.2 Concept same_as [concept.same]

[ð](#itemdecl:1)

`template<class T, class U>
  concept [same-as-impl](#concept:same-as-impl "18.4.2 Concept same_­as [concept.same]") = [is_same_v](meta.type.synop#lib:is_same_v "21.3.3 Header <type_­traits> synopsis [meta.type.synop]")<T, U>;       // exposition only

template<class T, class U>
  concept [same_as](#concept:same_as "18.4.2 Concept same_­as [concept.same]") = [same-as-impl](#concept:same-as-impl "18.4.2 Concept same_­as [concept.same]")<T, U> && [same-as-impl](#concept:same-as-impl "18.4.2 Concept same_­as [concept.same]")<U, T>;
`

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/concepts.tex#L309)

[*Note [1](#note-1)*:

[same_as](#concept:same_as "18.4.2 Concept same_­as [concept.same]")<T, U> subsumes [same_as](#concept:same_as "18.4.2 Concept same_­as [concept.same]")<U, T> and
vice versa[.](#1.sentence-1)

â *end note*]
