This file is indexed.

/usr/include/vigra/inspector_passes.hxx is in libvigraimpex-dev 1.10.0+git20160211.167be93+dfsg-2+b5.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#ifndef VIGRA_INSPECTOR_PASSES_HXX
#define VIGRA_INSPECTOR_PASSES_HXX

#include "metaprogramming.hxx"

namespace vigra {

// test and accomodate for functors that require extra passes over arrays / etc.

namespace detail {

template <bool>
struct extra_passes_selector
{
    template <class Inspector, class Functor>
    static void
    call(Inspector, Functor &) {}
};
template <>
struct extra_passes_selector<true>
{
    template <class Inspector, class Functor_n>
    static void
    call_n(Inspector g, Functor_n f_n)
    {
        g(f_n);
    }
    template <class Inspector, class Functor>
    static void
    call(Inspector g, Functor & f)
    {
        for (unsigned n = 2; n <= Functor::max_passes; ++n)
        {
            f.calc_sync();
            call_n(g, f.pass_n(n));
        }
    }
};

template <class T>
struct has_extra_passes : public sfinae_test<T, has_extra_passes>
{
    template <class U> has_extra_passes(U*, typename U::extra_passes* = 0);
};

template <class Functor, bool extra = has_extra_passes<Functor>::value>
struct get_extra_passes
    : public VigraFalseType
{
    void sync(Functor &) {}
};

template <class Functor>
struct get_extra_passes<Functor, true>
{
    typedef get_extra_passes extra_passes;
    static const unsigned max_passes = Functor::max_passes;
    static const bool value = Functor::max_passes >= 2;

    void sync(Functor & f)
    {
        f.calc_sync();
    }
};

template <class Inspector, class Functor>
inline
void
extra_passes_select(Inspector g, Functor & f)
{
    g(f);
    extra_passes_selector<get_extra_passes<Functor>::value>::call(g, f);
}

} // namespace detail

} // namespace vigra

#endif // VIGRA_INSPECTOR_PASSES_HXX