1//===- HashEntry.tcc ------------------------------------------------------===// 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 10//===--------------------------------------------------------------------===// 11// template implementation of HashEntry 12template <typename KeyType, typename ValueType, typename KeyCompare> 13HashEntry<KeyType, ValueType, KeyCompare>::HashEntry(const KeyType& pKey) 14 : m_Key(pKey) { 15} 16 17template <typename KeyType, typename ValueType, typename KeyCompare> 18HashEntry<KeyType, ValueType, KeyCompare>::~HashEntry() { 19} 20 21template <typename KeyType, typename ValueType, typename KeyCompare> 22bool HashEntry<KeyType, ValueType, KeyCompare>::compare(const KeyType& pKey) { 23 static KeyCompare comparator; 24 return comparator(m_Key, pKey); 25} 26 27//===--------------------------------------------------------------------===// 28// template implementation of EntryFactory 29template <typename HashEntryTy> 30EntryFactory<HashEntryTy>::EntryFactory() { 31} 32 33template <typename HashEntryTy> 34EntryFactory<HashEntryTy>::~EntryFactory() { 35} 36 37template <typename HashEntryTy> 38void EntryFactory<HashEntryTy>::destroy(HashEntryTy* pEntry) { 39 delete pEntry; 40} 41 42template <typename HashEntryTy> 43HashEntryTy* EntryFactory<HashEntryTy>::produce( 44 const typename EntryFactory<HashEntryTy>::key_type& pKey) { 45 return new HashEntryTy(pKey); 46} 47