1 //===- PathCache.h --------------------------------------------------------===//
2 //
3 //                     The MCLinker Project
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 #ifndef MCLD_SUPPORT_PATHCACHE_H_
10 #define MCLD_SUPPORT_PATHCACHE_H_
11 
12 #include "mcld/ADT/HashEntry.h"
13 #include "mcld/ADT/HashTable.h"
14 #include "mcld/ADT/StringHash.h"
15 #include "mcld/Support/Path.h"
16 
17 namespace mcld {
18 namespace sys {
19 namespace fs {
20 
21 typedef HashEntry<llvm::StringRef,
22                   mcld::sys::fs::Path,
23                   hash::StringCompare<llvm::StringRef> > HashEntryType;
24 
25 typedef HashTable<HashEntryType,
26                   hash::StringHash<hash::DJB>,
27                   EntryFactory<HashEntryType> > PathCache;
28 
29 }  // namespace fs
30 }  // namespace sys
31 }  // namespace mcld
32 
33 #endif  // MCLD_SUPPORT_PATHCACHE_H_
34