This file is indexed.

/usr/include/measurement_kit/common/lexical_cast.hpp is in libmeasurement-kit-dev 0.7.1-2build1.

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
// Part of measurement-kit <https://measurement-kit.github.io/>.
// Measurement-kit is free software. See AUTHORS and LICENSE for more
// information on the copying conditions.
#ifndef MEASUREMENT_KIT_COMMON_LEXICAL_CAST_HPP
#define MEASUREMENT_KIT_COMMON_LEXICAL_CAST_HPP

#include <measurement_kit/common/error_or.hpp>

#include <sstream>

namespace mk {

template <typename To, typename From> To lexical_cast(From f) {
    std::stringstream ss;
    To value;
    ss << f;
    ss >> value;
    if (!ss.eof()) {
        throw ValueError(); // Not all input was converted
    }
    if (ss.fail()) {
        throw ValueError(); // Input format was wrong
    }
    return value;
}

template <typename To, typename From>
ErrorOr<To> lexical_cast_noexcept(From f) {
    try {
        return lexical_cast<To, From>(f);
    } catch (Error err) {
        return err;
    }
}

} // namespace mk
#endif