HashEntry.tcc revision d8a752331fe7a30ce41835f139aa8a4c675ad07a
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} 21 22template <typename KeyType, typename ValueType, typename KeyCompare> 23bool HashEntry<KeyType, ValueType, KeyCompare>::compare(const KeyType& pKey) 24{ 25 static KeyCompare comparator; 26 return comparator(m_Key, pKey); 27} 28 29//===--------------------------------------------------------------------===// 30// template implementation of EntryFactory 31template <typename HashEntryTy> 32EntryFactory<HashEntryTy>::EntryFactory() 33{ 34} 35 36template <typename HashEntryTy> 37EntryFactory<HashEntryTy>::~EntryFactory() 38{ 39} 40 41template <typename HashEntryTy> 42void EntryFactory<HashEntryTy>::destroy(HashEntryTy* pEntry) 43{ 44 delete pEntry; 45} 46 47template <typename HashEntryTy> 48HashEntryTy* 49EntryFactory<HashEntryTy>::produce(const typename EntryFactory<HashEntryTy>::key_type& pKey) 50{ 51 return new HashEntryTy(pKey); 52} 53