This file is indexed.

/usr/include/globjects/Uniform.h is in libglobjects-dev 1.1.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
#pragma once

#include <glbinding/gl/types.h>

#include <globjects/globjects_api.h>
#include <globjects/AbstractUniform.h>


namespace globjects
{


/** \brief Wraps access to typed global GLSL variables.
 *
 * The Uniform class wraps access to typed global GLSL variables (uniforms).
 * These are stored in the OpenGL program objects itself.
 *
 * Supported OpenGL uniform setters are wrapped via specialized template set
 * implementations. Note that unsupported uniform types result in compile time
 * errors due to the default implementation of set.
 *
 * Simple usage of an Uniform:
 * \code{.cpp}
 * Uniform<float> * u = new Uniform<float>("u_ratio");
 * u->set(1.618f);
 *
 * program->addUniform(u);
 * \endcode
 *
 * \see AbstractUniform
 * \see Program
 * \see http://www.opengl.org/wiki/Uniform
 */
template<typename T>
class Uniform : public AbstractUniform
{
public:
    Uniform(gl::GLint location);
    Uniform(gl::GLint location, const T & value);
    Uniform(const std::string & name);
    Uniform(const std::string & name, const T & value);

    void set(const T & value);

    const T & value() const;

protected:
    virtual ~Uniform();

    virtual void updateAt(const Program * program, gl::GLint location) const override;

protected:
    T m_value; ///< The uniforms value, explictly required when relinking programs.
};


} // namespace globjects


#include <globjects/Uniform.inl>