summaryrefslogtreecommitdiff
path: root/TestPrograms/test_cxx17.cxx
blob: ec97fe44de41ed99e79b244e51fa6e81b443541b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// Real C++17 compilers provide 'if constexpr'
#include <type_traits>

template <typename T>
auto get_value(T t)
{
    if constexpr (std::is_pointer_v<T>)
        return t[0];
    else
        return t;
}

int main(int argc, char* argv[])
{
    char c = get_value(argv[0]);
    return 0;
}