This file is indexed.

/usr/share/pyshared/Pyste/policies.py is in libboost-python1.58-dev 1.58.0+dfsg-5ubuntu3.

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
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
# Copyright Bruno da Silva de Oliveira 2003. 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)



class Policy(object):
    'Represents one of the call policies of boost.python.'

    def __init__(self):
        if type(self) is Policy:
            raise RuntimeError, "Can't create an instance of the class Policy"


    def Code(self):
        'Returns the string corresponding to a instancialization of the policy.'
        pass
        

    def _next(self):
        if self.next is not None:
            return ', %s >' % self.next.Code()
        else:
            return ' >'


    def __eq__(self, other):
        try:
            return self.Code() == other.Code()
        except AttributeError:
            return False



class return_internal_reference(Policy):
    'Ties the return value to one of the parameters.'

    def __init__(self, param=1, next=None):
        '''
        param is the position of the parameter, or None for "self".
        next indicates the next policy, or None.
        '''
        self.param = param
        self.next=next


    def Code(self):
        c = 'return_internal_reference< %i' % self.param
        c += self._next()
        return c



class with_custodian_and_ward(Policy):
    'Ties lifetime of two arguments of a function.'

    def __init__(self, custodian, ward, next=None):
        self.custodian = custodian
        self.ward = ward
        self.next = next

    def Code(self):
        c = 'with_custodian_and_ward< %i, %i' % (self.custodian, self.ward)
        c += self._next()
        return c



class return_value_policy(Policy):
    'Policy to convert return values.'
    
    def __init__(self, which, next=None):            
        self.which = which
        self.next = next


    def Code(self):
        c = 'return_value_policy< %s' % self.which
        c += self._next()
        return c

class return_self(Policy):

    def Code(self):
        return 'return_self<>'


#  values for return_value_policy
reference_existing_object = 'reference_existing_object'
copy_const_reference = 'copy_const_reference'
copy_non_const_reference = 'copy_non_const_reference'
manage_new_object = 'manage_new_object'        
return_opaque_pointer = 'return_opaque_pointer'
return_by_value = 'return_by_value'