This file is indexed.

/usr/include/svncpp/path.hpp is in libsvncpp-dev 0.12.1dfsg-2ubuntu1.

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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
/*
 * ====================================================================
 * Copyright (c) 2002-2009 The RapidSvn Group.  All rights reserved.
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program (in the file GPL.txt.
 * If not, see <http://www.gnu.org/licenses/>.
 *
 * This software consists of voluntary contributions made by many
 * individuals.  For exact contribution history, see the revision
 * history and logs, available at http://rapidsvn.tigris.org/.
 * ====================================================================
 */

#ifndef _SVNCPP_PATH_HPP_
#define _SVNCPP_PATH_HPP_

// stl
#include "svncpp/string_wrapper.hpp"
#include "svncpp/vector_wrapper.hpp"

namespace svn
{
  /**
   * Encapsulation for Subversion Path handling
   */
  class Path
  {
  private:
    std::string m_path;
    bool m_pathIsUrl;

    /**
     * initialize the class
     *
     * @param path Path string
     */
    void init(const char * path);

  public:
    /**
     * Constructor that takes a string as parameter.
     * The string is converted to subversion internal
     * representation. The string is copied.
     *
     * @param path Path string
     */
    Path(const std::string & path = "");

    /**
     * Constructor
     *
     * @see Path::Path (const std::string &)
     * @param path Path string
     */
    Path(const char * path);

    /**
     * Copy constructor
     *
     * @param path Path to be copied
     */
    Path(const Path & path);

    /**
     * Assignment operator
     */
    Path& operator= (const Path&);

    /**
     * Comparison operator
     */
    bool
    operator== (const Path&) const;

    /**
     * @return Path string
     */
    const std::string &
    path() const;

    /**
     * @return Path string as c string
     */
    const char *
    c_str() const;

    /**
     * check whether a path is set. Right now
     * this checks only if the string is non-
     * empty.
     *
     * @note This is the successor of @a isset which had to be removed
     *       since there was a name conflict with system headers on
     *       some systems (see issue 676)
     * @since 0.12
     *
     * @return true if there is a path set
     */
    bool
    isSet() const;

    /**
     * shows whether we have a path or url
     *
     * @return true if the path is a valid url
     */
    bool
    isUrl() const;

    /**
     * adds a new URL component to the path
     *
     * @param component new component to add
     */
    void
    addComponent(const char * component);

    /**
     * adds a new URL component to the path
     *
     * @param component new component to add
     */
    void
    addComponent(const std::string & component);

    /**
     * split path in its components
     *
     * @param dirpath directory/path component
     * @param basename filename
     */
    void
    split(std::string & dirpath, std::string & basename) const;

    /**
     * split path in its components including
     * file extension
     *
     * @param dir directory component
     * @param filename filename
     * @param ext extension (including leading dot ".")
     */
    void
    split(std::string & dir, std::string & filename, std::string & ext) const;

    /**
     * get a basename of a file
     *
     * @return basename filename without path
     */
    std::string
    basename() const;

    /**
     * get a name of directory containing file
     *
     * @return dirpath path of directory
     */
    std::string
    dirpath() const;

    /**
     * get a substring of a path, starting at index
     *
     * @param index
     * @return substr substring
     */
    std::string
    substr(const size_t index) const;

    /**
     * return path as a string with unescaped special characters
     *
     * @return unescaped path
     */
    std::string
    unescape() const;

    /**
     * returns the temporary directory
     */
    static Path
    getTempDir();

    /** return the length of the path-string */
    size_t
    length() const;

    /** returns the path with native separators */
    std::string
    native() const;
  };

  typedef std::vector<Path> PathVector;

  extern const PathVector EmptyPathVector;
}

#endif
/* -----------------------------------------------------------------
 * local variables:
 * eval: (load-file "../../rapidsvn-dev.el")
 * end:
 */