OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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 #ifndef TOOLS_GN_TARGET_H_ | 5 #ifndef TOOLS_GN_TARGET_H_ |
6 #define TOOLS_GN_TARGET_H_ | 6 #define TOOLS_GN_TARGET_H_ |
7 | 7 |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 297 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
308 // Toolchain used by this target. Null until target is resolved. | 308 // Toolchain used by this target. Null until target is resolved. |
309 const Toolchain* toolchain_; | 309 const Toolchain* toolchain_; |
310 | 310 |
311 // Output files. Null until the target is resolved. | 311 // Output files. Null until the target is resolved. |
312 OutputFile link_output_file_; | 312 OutputFile link_output_file_; |
313 OutputFile dependency_output_file_; | 313 OutputFile dependency_output_file_; |
314 | 314 |
315 DISALLOW_COPY_AND_ASSIGN(Target); | 315 DISALLOW_COPY_AND_ASSIGN(Target); |
316 }; | 316 }; |
317 | 317 |
318 namespace BASE_HASH_NAMESPACE { | |
319 | |
320 #if defined(COMPILER_GCC) | |
321 template<> struct hash<const Target*> { | |
322 std::size_t operator()(const Target* t) const { | |
323 return reinterpret_cast<std::size_t>(t); | |
324 } | |
325 }; | |
326 #elif defined(COMPILER_MSVC) | |
327 inline size_t hash_value(const Target* t) { | |
328 return reinterpret_cast<size_t>(t); | |
329 } | |
330 #endif // COMPILER... | |
331 | |
332 } // namespace BASE_HASH_NAMESPACE | |
333 | |
334 #endif // TOOLS_GN_TARGET_H_ | 318 #endif // TOOLS_GN_TARGET_H_ |
OLD | NEW |