This file is indexed.

/usr/include/hocon/config_parse_options.hpp is in libcpp-hocon-dev 0.1.6-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
 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
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#pragma once

#include "types.hpp"
#include "config_syntax.hpp"
#include "export.h"

namespace hocon {
    /**
     * A set of options related to parsing.
     *
     * <p>
     * This object is immutable, so the "setters" return a new object.
     *
     * <p>
     * Here is an example of creating a custom {@code config_parse_options}:
     *
     * <pre>
     *     config_parse_options options = config_parse_options()
     *         .set_syntax(config_syntax.JSON)
     *         .set_allow_missing(false)
     * </pre>
     *
     * ClassLoader is Java-specific, so it was not ported to C++.
     */
    class LIBCPP_HOCON_EXPORT config_parse_options {
    public:
        /**
         * Gets an instance of <code>config_parse_options</code> with all fields
         * set to the default values. Start with this instance and make any
         * changes you need.
         * @return the default parse options
         */
        config_parse_options();

        /**
         * Gets an instance of <code>ConfigParseOptions</code> with all fields
         * set to the default values. Start with this instance and make any
         * changes you need.
         * @return the default parse options
         */
        static config_parse_options defaults();

        /**
         * Set the file format. If set to null, try to guess from any available
         * filename extension; if guessing fails, assume {@link config_syntax#CONF}.
         *
         * @param syntax
         *            a syntax or {@code nullptr} for best guess
         * @return options with the syntax set
         */
        config_parse_options set_syntax(config_syntax syntax) const;

        /**
         * Gets the current syntax option
         */
        config_syntax const& get_syntax() const;

        /**
         * Set a description for the thing being parsed. In most cases this will be
         * set up for you to something like the filename, but if you provide just an
         * input stream you might want to improve on it. Set to null to allow the
         * library to come up with something automatically. This description is the
         * basis for the {@link config_origin} of the parsed values.
         *
         * @param origin_description description to put in the {@link config_origin}
         * @return options with the origin description set
         */
        config_parse_options set_origin_description(shared_string origin_description) const;

        /**
         * Gets the current origin description, which may be null for "automatic".
         * @return the current origin description or null
         */
        shared_string const& get_origin_description() const;

        /**
         * Set to false to throw an exception if the item being parsed (for example
         * a file) is missing. Set to true to just return an empty document in that
         * case.
         *
         * @param allow_missing true to silently ignore missing item
         * @return options with the "allow missing" flag set
         */
        config_parse_options set_allow_missing(bool allow_missing) const;

        /**
         * Gets the current "allow missing" flag.
         * @return whether we allow missing files
         */
        bool get_allow_missing() const;

        /**
         * Set a {@link config_includer} which customizes how includes are handled.
         * null means to use the default includer.
         *
         * @param includer the includer to use or null for default
         * @return new version of the parse options with different includer
         */
        config_parse_options set_includer(shared_includer includer) const;

        /**
         * Prepends a {@link config_includer} which customizes how
         * includes are handled.  To prepend your includer, the
         * library calls {@link config_includer#with_fallback} on your
         * includer to append the existing includer to it.
         *
         * @param includer the includer to prepend (may not be null)
         * @return new version of the parse options with different includer
         */
        config_parse_options prepend_includer(shared_includer includer) const;

        /**
         * Appends a {@link config_includer} which customizes how
         * includes are handled.  To append, the library calls {@link
         * config_includer#with_fallback} on the existing includer.
         *
         * @param includer the includer to append (may not be null)
         * @return new version of the parse options with different includer
         */
        config_parse_options append_includer(shared_includer includer) const;

        /**
         * Gets the current includer (will be null for the default includer).
         * @return current includer or null
         */
        shared_includer const& get_includer() const;

    private:
        config_parse_options(shared_string origin_desc,
                             bool allow_missing, shared_includer includer,
                             config_syntax syntax = config_syntax::UNSPECIFIED);
        config_parse_options with_fallback_origin_description(shared_string origin_description) const;

        config_syntax _syntax;
        shared_string _origin_description;
        bool _allow_missing;
        shared_includer _includer;
    };
}  // namespace hocon