File: bug1633.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 (34 lines) | stat: -rw-r--r-- 878 bytes parent folder | download | duplicates (2)
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
30
31
32
33
34
// Range v3 library
//
//  Use, modification and distribution is subject to the
//  Boost Software License, Version 1.0. (See accompanying
//  file LICENSE_1_0.txt or copy at
//  http://www.boost.org/LICENSE_1_0.txt)
//
// Project home: https://github.com/ericniebler/range-v3

#include <cstddef>
#include <iterator>
#include <range/v3/iterator.hpp>

struct X { };

namespace std {
    template<> struct iterator_traits<X> { };
}

struct Y {
    using difference_type = std::ptrdiff_t;
    using value_type = int;
    using pointer = int*;
    using reference = int&;
    using iterator_category = std::forward_iterator_tag;
};

static_assert(ranges::detail::is_std_iterator_traits_specialized_v<X>, "");
static_assert(!ranges::detail::is_std_iterator_traits_specialized_v<Y>, "");
static_assert(!ranges::detail::is_std_iterator_traits_specialized_v<int*>, "");

int main()
{
}