This file is indexed.

/usr/include/Wt/WLength is in libwt-dev 3.1.10-1ubuntu2.

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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
// This may look like C code, but it's really -*- C++ -*-
/*
 * Copyright (C) 2008 Emweb bvba, Kessel-Lo, Belgium.
 *
 * See the LICENSE file for terms of use.
 */
#ifndef WLENGTH_H_
#define WLENGTH_H_

#include <string>
#include <Wt/WDllDefs.h>

namespace Wt {

/*! \class WLength Wt/WLength Wt/WLength
 *  \brief A class that specifies a CSS length.
 *
 * The class combines a value with a unit. There is a special value
 * <i>auto</i> which has a different meaning depending on the context.
 */
class WT_API WLength
{
public:
  /*! \brief The unit
   */
  enum Unit {FontEm,     //!< The relative font size
	     FontEx,     //!< The height of an 'x' in the font
	     Pixel,      //!< Pixel, relative to canvas resolution
	     Inch,       //!< Inche
	     Centimeter, //!< Centimeter
	     Millimeter, //!< Millimeter
	     Point,      //!< Point (1/72 Inch)
	     Pica,       //!< Pica (12 Point)
	     Percentage  //!< Percentage (meaning context-sensitive)
  };

  /*! \brief An 'auto' length.
   *
   * \sa WLength()
   */
  static WLength Auto;

  /*! \brief Creates an 'auto' length
   *
   * Specifies an 'auto' length.
   *
   * \sa Auto
   */
  WLength();

  /*! \brief Creates a length by parsing the argument as a css length string.
   *
   * Only a combination of a value and a unit is supported.
   * If the string is an illegal css length an exception is thrown.
   */
  WLength(const char* c);

  /*! \brief Creates a length with value and unit.
   *
   * This constructor will also provide the implicit conversion between
   * a double and WLength, using a pixel unit.
   */
  WLength(double value, Unit unit = Pixel);

  /*! \brief Creates a length with value and unit.
   *
   * This constructor will also provide the implicit conversion between
   * an int and WLength, using a pixel unit.
   */
  WLength(int value, Unit unit = Pixel);
  
  /*! \brief Creates a length with value and unit.
   *
   * This constructor will also provide the implicit conversion between
   * a long and WLength, using a pixel unit.
   */
  WLength(long value, Unit unit = Pixel);
  
  /*! \brief Creates a length with value and unit.
   *
   * This constructor will also provide the implicit conversion between
   * an unsigned int and WLength, using a pixel unit.
   */
  WLength(unsigned int value, Unit unit = Pixel);

  /*! \brief Creates a length with value and unit.
   *
   * This constructor will also provide the implicit conversion between
   * an unsigned long and WLength, using a pixel unit.
   */
  WLength(unsigned long value, Unit unit = Pixel);

  /*! \brief Returns whether the length is 'auto'.
   *
   * \sa WLength(), Auto
   */
  bool isAuto() const { return auto_; }

  /*! \brief Returns the value.
   *
   * \sa unit()
   */
  double value() const { return value_; }

  /*! \brief Returns the unit.
   *
   * \sa value()
   */
  Unit unit() const { return unit_; }

  /*! \brief Returns the CSS text.
   */
  const std::string cssText() const;

  /*! \brief Comparison operator.
   */
  bool operator== (const WLength& other) const;

  /*! \brief Comparison operator.
   */
  bool operator!= (const WLength& other) const;

  /*! \brief Returns the (approximate) length in pixels.
   *
   * When the length isAuto(), 0 is returned, otherwise the approximate
   * length in pixels.
   */
  double toPixels(double fontSize = 16.0) const;
  
private:
  bool auto_;
  Unit unit_;
  double value_;
};

inline Wt::WLength operator*(const Wt::WLength &l, double s)
{
  return Wt::WLength(l.value() * s, l.unit());
}

inline Wt::WLength operator*(double s, const Wt::WLength &l)
{
  return l * s;
}

inline Wt::WLength operator/(const Wt::WLength &l, double s)
{
  return l * (1/s);
}

}

#endif // WLENGTH_H_