This file is indexed.

/usr/include/Wt/WStringUtil 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
// 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 WSTRING_UTIL_H_
#define WSTRING_UTIL_H_

#include <string>
#include <Wt/WDllDefs.h>
#ifndef WT_NO_STD_LOCALE
#include <locale>
#endif

namespace Wt {
#ifndef WT_NO_STD_WSTRING
  /*! \brief Convert a narrow to a wide string.
   *
   * Convert a narrow string to a wide string. This method will interpret
   * the input string as being encoded in the given locale (by default the
   * currently configured global C++ locale).
   *
   * \sa narrow(const std::wstring&), fromUTF8(const std::string& s)
   *
   * \relates WString
   */
#ifndef WT_NO_STD_LOCALE
  extern WT_API std::wstring widen(const std::string& s,
      const std::locale &loc = std::locale());
#else
  extern WT_API std::wstring widen(const std::string& s);
#endif // WT_NO_STD_LOCALE
#endif // WT_NO_STD_WSTRING

#ifndef WT_NO_STD_WSTRING
  /*! \brief Convert a wide to a narrow string.
   *
   * Convert a wide string to a narrow string. This method will encode
   * the characters in the given locale, if possible.
   *
   * In general this will lead to a loss of information. If you wish to
   * preserve all information, you should us toUTF8() instead.
   *
   * \sa widen(const std::string&), toUTF8(const std::wstring& s)
   *
   * \relates WString
   */
#ifndef WT_NO_STD_LOCALE
  extern WT_API std::string narrow(const std::wstring& s,
      const std::locale &loc = std::locale());
#else
  extern WT_API std::string narrow(const std::wstring& s);
#endif // WT_NO_STD_LOCALE
#endif // WT_NO_STD_WSTRING

#ifndef WT_NO_STD_WSTRING
  /*! \brief Decode a UTF8 string a wide string.
   *
   * Decode a UTF8 string to a wide string. In a UTF8 encoded unicode string,
   * some unicode characters are represented in more than one byte.
   * This method will decode to extract the proper unicode characters from
   * the string. The resulting string may thus be shorter (has less characters)
   * than the original, but does not lead to a loss of information.
   *
   * \sa toUTF8(const std::string& s), narrow(const std::wstring&)
   *
   * \relates WString
   */
  extern WT_API std::wstring fromUTF8(const std::string& s);
#endif // WT_NO_STD_WSTRING

  /*! \brief Decode a UTF8 string into a (narrow) string.
   *
   * Decode a UTF8 string to a normal string.
   * Not all Unicode characters can be represented in a narrow string,
   * and quite a lot characters will have no equivalent in the target
   * character set, so you may loose information.
   *
   * To distinguish from the other fromUTF8() function, that returns a
   * wstring, the locale is not an optional argument, as in most other
   * locale-conversing functions. You may choose to use the
   * default-constructed std::locale().
   *
   * \sa toUTF8(const std::string& s, const std::locale &),
   *     fromUTF8(const std::string& s)
   *
   * \relates WString
   */
#ifndef WT_NO_STD_LOCALE
  extern WT_API std::string fromUTF8(const std::string& s,
      const std::locale &loc);
#else
  // in order to be unambiguous with the fromUTF8 function that returns a
  // wstring, this version takes an extra CharEncoding parameter.
  extern WT_API std::string fromUTF8(const std::string& s,
      CharEncoding encoding);
#endif

#ifndef WT_NO_STD_WSTRING
  /*! \brief Encode a wide string to UTF8.
   *
   * Convert a wide string to UTF8. This method will encode the given
   * wide string in UTF8. This may result in a string that is possibly
   * longer (has more characters), but does not lead to a loss of
   * information.
   *
   * \sa fromUTF8(const std::string& s), narrow(const std::wstring&) 
   *
   * \relates WString
   */
  extern WT_API std::string toUTF8(const std::wstring& s);
#endif // WT_NO_STD_WSTRING

  /*! \brief Encode an character string (encoding known) to UTF8.
   *
   * Convert a char * string to UTF8. This method will encode the given
   * string in UTF8, assuming that the original string was encoded in the
   * given locale. This conversion does not lead to a loss of information.
   *
   * The reverse operation is in principle narrow(fromUTF8(str), locale).
   *
   * Do not call this function multiple times: toUTF8(toUTF8(str)) is
   * meaningless.
   *
   * \sa toUTF8(const std::wstring& s), fromUTF8(const std::string &),
   * narrow(const std::wstring&) 
   *
   * \relates WString
   */
#ifndef WT_NO_STD_LOCALE
  extern WT_API std::string toUTF8(const std::string& s,
      const std::locale &loc = std::locale());
#else
  extern WT_API std::string toUTF8(const std::string& s);
#endif

  // Following is WT_API for testing
  std::string WT_API UTF8Substr(const std::string &s, int begin, int length);
}

#endif // WSTRING_UTIL_H_