This file is indexed.

/usr/include/bamtools/api/SamProgram.h is in libbamtools-dev 2.4.1+dfsg-1.

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
// ***************************************************************************
// SamProgram.h (c) 2011 Derek Barnett
// Marth Lab, Department of Biology, Boston College
// ---------------------------------------------------------------------------
// Last modified: 10 October 2011 (DB)
// ---------------------------------------------------------------------------
// Provides direct read/write access to the SAM header program records.
// ***************************************************************************

#ifndef SAM_PROGRAM_H
#define SAM_PROGRAM_H

#include "api/api_global.h"
#include "api/BamAux.h"
#include <string>

namespace BamTools {

class SamProgramChain;

struct API_EXPORT SamProgram {

    // ctor & dtor
    SamProgram(void);
    SamProgram(const std::string& id);
    SamProgram(const SamProgram& other);
    ~SamProgram(void);

    // query/modify entire program record
    void Clear(void);                      // clears all data fields

    // convenience query methods
    bool HasCommandLine(void) const;       // returns true if program record has a command line entry
    bool HasID(void) const;                // returns true if program record has an ID
    bool HasName(void) const;              // returns true if program record has a name
    bool HasPreviousProgramID(void) const; // returns true if program record has a 'previous program ID'
    bool HasVersion(void) const;           // returns true if program record has a version

    // data members
    std::string CommandLine;               // CL:<CommandLine>
    std::string ID;                        // ID:<ID>          *Required for valid SAM header*
    std::string Name;                      // PN:<Name>
    std::string PreviousProgramID;         // PP:<PreviousProgramID>
    std::string Version;                   // VN:<Version>
    std::vector<CustomHeaderTag> CustomTags;   // optional custom tags

    // internal (non-standard) methods & fields
    private:
        bool HasNextProgramID(void) const;
        std::string NextProgramID;
        friend class BamTools::SamProgramChain;
};

/*! \fn bool operator==(const SamProgram& lhs, const SamProgram& rhs)
    \brief tests equality by comparing program IDs
*/
API_EXPORT inline bool operator==(const SamProgram& lhs, const SamProgram& rhs) {
    return lhs.ID == rhs.ID;
}

} // namespace BamTools

#endif // SAM_PROGRAM_H