Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(315)

Side by Side Diff: base/files/file_path.h

Issue 165823003: GN: Change gen command syntax, support relative dirs. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Change in build file writing Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // FilePath is a container for pathnames stored in a platform's native string 5 // FilePath is a container for pathnames stored in a platform's native string
6 // type, providing containers for manipulation in according with the 6 // type, providing containers for manipulation in according with the
7 // platform's conventions for pathnames. It supports the following path 7 // platform's conventions for pathnames. It supports the following path
8 // types: 8 // types:
9 // 9 //
10 // POSIX Windows 10 // POSIX Windows
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
182 bool empty() const { return path_.empty(); } 182 bool empty() const { return path_.empty(); }
183 183
184 void clear() { path_.clear(); } 184 void clear() { path_.clear(); }
185 185
186 // Returns true if |character| is in kSeparators. 186 // Returns true if |character| is in kSeparators.
187 static bool IsSeparator(CharType character); 187 static bool IsSeparator(CharType character);
188 188
189 // Returns a vector of all of the components of the provided path. It is 189 // Returns a vector of all of the components of the provided path. It is
190 // equivalent to calling DirName().value() on the path's root component, 190 // equivalent to calling DirName().value() on the path's root component,
191 // and BaseName().value() on each child component. 191 // and BaseName().value() on each child component.
192 //
193 // To make sure this is lossless so we can differentiate absolute and
194 // relative paths, the root slash will be included even though no other
195 // slashes will be. The precise behavior is:
196 //
197 // Posix: "/foo/bar" -> [ "/", "foo", "bar" ]
198 // Windows: "C:\foo\bar" -> [ "C:", "\\", "foo", "bar" ]
192 void GetComponents(std::vector<FilePath::StringType>* components) const; 199 void GetComponents(std::vector<FilePath::StringType>* components) const;
193 200
194 // Returns true if this FilePath is a strict parent of the |child|. Absolute 201 // Returns true if this FilePath is a strict parent of the |child|. Absolute
195 // and relative paths are accepted i.e. is /foo parent to /foo/bar and 202 // and relative paths are accepted i.e. is /foo parent to /foo/bar and
196 // is foo parent to foo/bar. Does not convert paths to absolute, follow 203 // is foo parent to foo/bar. Does not convert paths to absolute, follow
197 // symlinks or directory navigation (e.g. ".."). A path is *NOT* its own 204 // symlinks or directory navigation (e.g. ".."). A path is *NOT* its own
198 // parent. 205 // parent.
199 bool IsParent(const FilePath& child) const; 206 bool IsParent(const FilePath& child) const;
200 207
201 // If IsParent(child) holds, appends to path (if non-NULL) the 208 // If IsParent(child) holds, appends to path (if non-NULL) the
(...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after
455 462
456 inline size_t hash_value(const base::FilePath& f) { 463 inline size_t hash_value(const base::FilePath& f) {
457 return hash_value(f.value()); 464 return hash_value(f.value());
458 } 465 }
459 466
460 #endif // COMPILER 467 #endif // COMPILER
461 468
462 } // namespace BASE_HASH_NAMESPACE 469 } // namespace BASE_HASH_NAMESPACE
463 470
464 #endif // BASE_FILES_FILE_PATH_H_ 471 #endif // BASE_FILES_FILE_PATH_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698