This file is indexed.

/usr/include/wibble/mixin.test.h is in libwibble-dev 1.1-1build1.

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
// -*- C++ -*- (c) 2007 Petr Rockai <me@mornfall.net>

#include <wibble/test.h>
#include <wibble/mixin.h>
#include <vector>

namespace {

using namespace std;

class Integer : public wibble::mixin::Comparable<Integer>
{
	int val;
public:
	Integer(int val) : val(val) {}
	bool operator<=( const Integer& o ) const { return val <= o.val; }
};

class Discard : public wibble::mixin::OutputIterator<Discard>
{
public:
	Discard& operator=(const int&)
	{
		return *this;
	}
};

struct TestMixin {

// Test Comparable mixin
    Test comparable() {
        Integer i10(10);
        Integer i10a(10);
        Integer i20(20);

// Test the base method first
        assert(i10 <= i10a);
        assert(i10a <= i10);
        assert(i10 <= i20);
        assert(! (i20 <= i10));
        
// Test the other methods
        assert(i10 != i20);
        assert(!(i10 != i10a));
        
        assert(i10 == i10a);
        assert(!(i10 == i20));
        
        assert(i10 < i20);
        assert(!(i20 < i10));
        assert(!(i10 < i10a));
        
        assert(i20 > i10);
        assert(!(i10 > i20));
        assert(!(i10 > i10a));
        
        assert(i10 >= i10a);
        assert(i10a >= i10);
        assert(i20 >= i10);
        assert(! (i10 >= i20));
    }
    
    Test output() {
        vector<int> data;
        data.push_back(1);
        data.push_back(2);
        data.push_back(3);
        
        std::copy(data.begin(), data.end(), Discard());
    }

};

}