File: concepts_test_code.cpp

package info (click to toggle)
range-v3 0.12.0-1.1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 5,620 kB
  • sloc: cpp: 76,839; xml: 226; sh: 89; python: 34; makefile: 16; perl: 15
file content (29 lines) | stat: -rw-r--r-- 406 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#if !defined(__cpp_concepts) || __cpp_concepts == 0
#error "Sorry, Charlie. No concepts"
#else
#if __cpp_concepts <= 201507L
#define concept concept bool
#endif

template<class>
concept True = true;

template<class T>
constexpr bool test(T)
{
    return false;
}

template<class T>
    requires True<T>
constexpr bool test(T)
{
    return true;
}

int main()
{
    static_assert(::test(42), "");
}

#endif