This file is indexed.

/usr/include/ui-utilcpp/Time.hpp is in libui-utilcpp-dev 1.8.3-3.

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
/**
 * @file
 */
#ifndef UI_UTIL_TIME_HPP
#define UI_UTIL_TIME_HPP

// STDC++
#include <string>

// C++ libraries
#include <ui-utilcpp/Exception.hpp>

namespace UI {
namespace Util {

/** @brief Get "sec"-part from gettimeofday(2). */
long int getTimeValSec();

/** @brief Get "usec"-part from gettimeofday(2). */
long int getTimeValUSec();

/** @brief No Signal Sleep: Using POSIX nanosleep(2).
 *
 * @see nanosleep(2), POSIX.1.
 *
 * @return Return values of POSIX nanosleep(2) call (0 for no error).
 *
 */
unsigned int nanosleep(unsigned int seconds, long int nanoseconds);

/** @brief No Signal Seconds Sleep: Using POSIX nanosleep(2).
 *
 * You may use this as drop-in replacement for sleep(3) if you do
 * not want any signals to be raised.
 *
 * @see nanosleep.
 */
unsigned int nssleep(unsigned int seconds);

/** @brief No Signal Nano Sleep.
 *
 * @see nanosleep.
 */
unsigned int nsnsleep(long int nanoseconds);


/** @brief RealTimeStamp class encapsulating "gettimeofday".
 *
 * @see time(2) (POSIX), gettimeofday(2) (BSD).
 */
class RealTimeStamp
{
public:
	/** @brief Error codes for exceptions. */
	enum ErrorCode
	{
		NegativeStamp_=1
	};
	/** @brief This classes exceptions. */
	typedef CodeException<ErrorCode> Exception;

	/** @brief Standard constructor.
	 *
	 * @param sec Seconds since Epoch.
	 * @param usec Micro (10^-6) seconds since Epoch+sec.
	 * @note Values will be "normalised" (make microseconds < 10^6). Altogether, it must not
	 * be a negative date (before Epoch).
	 */
	RealTimeStamp(long int const & sec=0, long int const & usec=0);

	/** @brief Set time stamp manually.
	 *
	 * @param sec Seconds since Epoch.
	 * @param usec Micro (10^-6) seconds since Epoch+sec.
	 * @returns Reference to itself
	 */
	RealTimeStamp & set(long int const & sec, long int const & usec);

	/** @brief Set this stamp to maximum. */
	RealTimeStamp & setMax();
	/** @brief Set this stamp to minimum (Epoch) */
	RealTimeStamp & setMin();

	/** @brief Set time stamp from current time.
	 *
	 * @returns Reference to itself
	 */
	RealTimeStamp & stamp();

	/** @brief Get seconds since Epoch. */
	long int getSec() const;
	/** @brief Get micro seconds since Epoch+sec. */
	long int getUSec() const;
	/** @brief Get seconds (since Epoch) as real number (including micro seconds). */
	long double getSeconds() const;

	/** @brief Standard == operator. */
	bool operator == (RealTimeStamp const & rt) const;
	/** @brief Standard < operator. */
	bool operator < (RealTimeStamp const & rt) const;
	/** @brief Standard <= operator. */
	bool operator <= (RealTimeStamp const & rt) const;
	/** @brief Standard += operator. */
	RealTimeStamp & operator += (RealTimeStamp const & rt);
	/** @brief Standard + operator. */
	RealTimeStamp operator + (RealTimeStamp const & rt) const;
	/** @brief Standard -= operator. */
	RealTimeStamp & operator -= (RealTimeStamp const & rt);
	/** @brief Standard - operator. */
	RealTimeStamp operator - (RealTimeStamp const & rt) const;

private:
	long int sec_;
	long int usec_;
	static long int const tenExpSix_;

	void normalize();
};

/** @brief Streaming operator for RealTimeStamp. */
std::ostream & operator << (std::ostream & os, RealTimeStamp const & rt);

/** @brief Log time used for a scope.
 *
 * - Usage as-is: Automatic logging to out stream (nothing if NULL).
 * - Usage custom logging: Derive class, add custom logging to derived class' destructor, construct w/ out=0.
 */
class ScopeRealTime: private RealTimeStamp
{
private:
	std::ostream * const out_;
public:
	ScopeRealTime(std::ostream * const out);
	~ScopeRealTime();
	RealTimeStamp get() const;
};

}}
#endif