阅读背景:

为什么SFINAE在此示例中不能按预期工作?

来源:互联网 
#include <iostream>
#include <type_traits>

using namespace std;

template<typename T>
constexpr auto is_pure_input_iterator(int) ->
conditional_t
<
    is_convertible_v
    <
    iterator_traits<T>::iterator_category,
    input_iterator_tag
    >,
    true_type, false_type
>;

template<typename>
constexpr false_type is_pure_input_iterator(...);

int main()
{
    cout << boolalpha 
        << decltype(is_pure_input_iterator<istream_iterator<int>>(0))::value
        << endl;

    return {};
}
#include <iostream>
#include <type_traits>

usi



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: