This file is indexed.

/usr/include/JAGS/compiler/ObsFuncTab.h is in jags 4.2.0-2.

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
#ifndef OBS_FUNC_TAB_H_
#define OBS_FUNC_TAB_H_

#include <list>
#include <string>

#include <function/FunctionPtr.h>
#include <distribution/DistPtr.h>

namespace jags {

/**
 * @short Look-up table for observable functions 
 *
 * Obs functions may behave like either a distribution or a
 * function, depending on the context, so must be represented by both
 * a Distribution object and a Function object. 
 *
 * The ObsFuncTab class provides a means of storing these
 * Distribution/Function pairs and looking up Functions from their
 * matching distribution.
 *
 * @see FuncTab DistTab 
 */
class ObsFuncTab
{
    std::list<std::pair<DistPtr,FunctionPtr> >  _flist;
    FunctionPtr const _nullfun;
public:
    /**
     * Constructs a new empty table
     */
    ObsFuncTab();
    /**
     * Inserts an observable function into the table. The distribution
     * and function must have the same name in the BUGS language.  A
     * given pair can only be inserted into the table once
     *
     * @param dist Polymorphic distribution pointer
     * @param func Polymorphic function pointer
     */
    void insert(DistPtr const &dist, FunctionPtr const &func);
    /**
     * Finds a Function from its matching Distribution.  If a
     * Distribution matches more than one Function, then the Function
     * corresponding to the last pair inserted into the table is
     * returned.
     *
     * @return a polymorphic function pointer. If the function cannot
     * be found, then the pointer is a null FunctionPtr object.
     */
    FunctionPtr const &find(DistPtr const &dist) const;
    /**
     * Removes a distribution/function pair from the table. 
     *
     * @param dist Polymorphic distribution pointer
     * @param func Polymorphic function pointer
     */
    void erase(DistPtr const &dist, FunctionPtr const &func);
};

} /* namespace jags */

#endif /* OBS_FUNC_TAB_H_ */