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 namespace {
22   typedef HashEntry<llvm::StringRef,
23                     mcld::sys::fs::Path,
24                     hash::StringCompare<llvm::StringRef> > HashEntryType;
25 } // anonymous namespace
26 
27 typedef HashTable<HashEntryType, hash::StringHash<hash::BKDR>, EntryFactory<HashEntryType> > PathCache;
28 
29 } // namespace of fs
30 } // namespace of sys
31 } // namespace of mcld
32 
33 #endif
34 
35