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

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

Issue 2830093003: Replace uses of hash_map in //base (Closed)
Patch Set: iOS Created 3 years, 7 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
« no previous file with comments | « base/containers/small_map_unittest.cc ('k') | base/files/file_path_watcher_linux.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 #define BASE_FILES_FILE_PATH_H_ 103 #define BASE_FILES_FILE_PATH_H_
104 104
105 #include <stddef.h> 105 #include <stddef.h>
106 106
107 #include <iosfwd> 107 #include <iosfwd>
108 #include <string> 108 #include <string>
109 #include <vector> 109 #include <vector>
110 110
111 #include "base/base_export.h" 111 #include "base/base_export.h"
112 #include "base/compiler_specific.h" 112 #include "base/compiler_specific.h"
113 #include "base/containers/hash_tables.h"
114 #include "base/macros.h" 113 #include "base/macros.h"
115 #include "base/strings/string16.h" 114 #include "base/strings/string16.h"
116 #include "base/strings/string_piece.h" 115 #include "base/strings/string_piece.h"
117 #include "build/build_config.h" 116 #include "build/build_config.h"
118 117
119 // Windows-style drive letter support and pathname separator characters can be 118 // Windows-style drive letter support and pathname separator characters can be
120 // enabled and disabled independently, to aid testing. These #defines are 119 // enabled and disabled independently, to aid testing. These #defines are
121 // here so that the same setting can be used in both the implementation and 120 // here so that the same setting can be used in both the implementation and
122 // in the unit test. 121 // in the unit test.
123 #if defined(OS_WIN) 122 #if defined(OS_WIN)
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after
463 // Macros for string literal initialization of FilePath::CharType[], and for 462 // Macros for string literal initialization of FilePath::CharType[], and for
464 // using a FilePath::CharType[] in a printf-style format string. 463 // using a FilePath::CharType[] in a printf-style format string.
465 #if defined(OS_POSIX) 464 #if defined(OS_POSIX)
466 #define FILE_PATH_LITERAL(x) x 465 #define FILE_PATH_LITERAL(x) x
467 #define PRFilePath "s" 466 #define PRFilePath "s"
468 #elif defined(OS_WIN) 467 #elif defined(OS_WIN)
469 #define FILE_PATH_LITERAL(x) L ## x 468 #define FILE_PATH_LITERAL(x) L ## x
470 #define PRFilePath "ls" 469 #define PRFilePath "ls"
471 #endif // OS_WIN 470 #endif // OS_WIN
472 471
473 // Provide a hash function so that hash_sets and maps can contain FilePath 472 namespace std {
474 // objects.
475 namespace BASE_HASH_NAMESPACE {
476 473
477 template<> 474 template <>
478 struct hash<base::FilePath> { 475 struct hash<base::FilePath> {
479 size_t operator()(const base::FilePath& f) const { 476 typedef base::FilePath argument_type;
477 typedef std::size_t result_type;
478 result_type operator()(argument_type const& f) const {
480 return hash<base::FilePath::StringType>()(f.value()); 479 return hash<base::FilePath::StringType>()(f.value());
481 } 480 }
482 }; 481 };
483 482
484 } // namespace BASE_HASH_NAMESPACE 483 } // namespace std
485 484
486 #endif // BASE_FILES_FILE_PATH_H_ 485 #endif // BASE_FILES_FILE_PATH_H_
OLDNEW
« no previous file with comments | « base/containers/small_map_unittest.cc ('k') | base/files/file_path_watcher_linux.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698