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