Lines Matching refs:typename

29     template<typename KeyTraits, typename MappedTraits> struct HashMapValueTraits;
31 template<typename T> struct ReferenceTypeMaker {
34 template<typename T> struct ReferenceTypeMaker<T&> {
39 template<typename T>
40 static const typename T::KeyType& extract(const T& p) { return p.key; }
46 typename KeyArg,
47 typename MappedArg,
48 typename HashArg = typename DefaultHash<KeyArg>::Hash,
49 typename KeyTraitsArg = HashTraits<KeyArg>,
50 typename MappedTraitsArg = HashTraits<MappedArg>,
51 typename Allocator = DefaultAllocator>
60 typedef typename KeyTraits::TraitType KeyType;
61 typedef const typename KeyTraits::PeekInType& KeyPeekInType;
62 typedef typename MappedTraits::TraitType MappedType;
63 typedef typename ValueTraits::TraitType ValueType;
66 typedef typename MappedTraits::PassInType MappedPassInType;
67 typedef typename MappedTraits::PassOutType MappedPassOutType;
68 typedef typename MappedTraits::PeekOutType MappedPeekType;
70 typedef typename ReferenceTypeMaker<MappedPassInType>::ReferenceType MappedPassInReferenceType;
83 typedef typename HashTableType::AddResult AddResult;
91 void swap(typename Allocator::template OtherType<HashMap>::Type other)
131 template<typename Collection>
141 template<typename HashTranslator, typename T> iterator find(const T&);
142 template<typename HashTranslator, typename T> const_iterator find(const T&) const;
143 template<typename HashTranslator, typename T> bool contains(const T&) const;
151 template<typename HashTranslator, typename T> AddResult add(const T&, MappedPassInType);
155 void trace(typename Allocator::Visitor* visitor) { m_impl.trace(visitor); }
163 template<typename KeyArg, typename MappedArg, typename HashArg, typename KeyTraitsArg, typename MappedTraitsArg, typename Allocator>
168 typedef typename HashMapType::iterator::Keys iterator;
169 typedef typename HashMapType::const_iterator::Keys const_iterator;
201 template<typename KeyArg, typename MappedArg, typename HashArg, typename KeyTraitsArg, typename MappedTraitsArg, typename Allocator>
206 typedef typename HashMapType::iterator::Values iterator;
207 typedef typename HashMapType::const_iterator::Values const_iterator;
239 template<typename KeyTraits, typename MappedTraits> struct HashMapValueTraits : KeyValuePairHashTraits<KeyTraits, MappedTraits> {
241 static bool isEmptyValue(const typename KeyValuePairHashTraits<KeyTraits, MappedTraits>::TraitType& value)
247 template<typename ValueTraits, typename HashFunctions>
249 template<typename T> static unsigned hash(const T& key) { return HashFunctions::hash(key); }
250 template<typename T, typename U> static bool equal(const T& a, const U& b) { return HashFunctions::equal(a, b); }
251 template<typename T, typename U, typename V> static void translate(T& location, const U& key, const V& mapped)
258 template<typename ValueTraits, typename Translator>
260 template<typename T> static unsigned hash(const T& key) { return Translator::hash(key); }
261 template<typename T, typename U> static bool equal(const T& a, const U& b) { return Translator::equal(a, b); }
262 template<typename T, typename U, typename V> static void translate(T& location, const U& key, const V& mapped, unsigned hashCode)
269 template<typename T, typename U, typename V, typename W, typename X, typename Y>
275 template<typename T, typename U, typename V, typename W, typename X, typename Y>
281 template<typename T, typename U, typename V, typename W, typename X, typename Y>
287 template<typename T, typename U, typename V, typename W, typename X, typename Y>
288 inline typename HashMap<T, U, V, W, X, Y>::iterator HashMap<T, U, V, W, X, Y>::begin()
293 template<typename T, typename U, typename V, typename W, typename X, typename Y>
294 inline typename HashMap<T, U, V, W, X, Y>::iterator HashMap<T, U, V, W, X, Y>::end()
299 template<typename T, typename U, typename V, typename W, typename X, typename Y>
300 inline typename HashMap<T, U, V, W, X, Y>::const_iterator HashMap<T, U, V, W, X, Y>::begin() const
305 template<typename T, typename U, typename V, typename W, typename X, typename Y>
306 inline typename HashMap<T, U, V, W, X, Y>::const_iterator HashMap<T, U, V, W, X, Y>::end() const
311 template<typename T, typename U, typename V, typename W, typename X, typename Y>
312 inline typename HashMap<T, U, V, W, X, Y>::iterator HashMap<T, U, V, W, X, Y>::find(KeyPeekInType key)
317 template<typename T, typename U, typename V, typename W, typename X, typename Y>
318 inline typename HashMap<T, U, V, W, X, Y>::const_iterator HashMap<T, U, V, W, X, Y>::find(KeyPeekInType key) const
323 template<typename T, typename U, typename V, typename W, typename X, typename Y>
329 template<typename T, typename U, typename V, typename W, typename X, typename Y>
330 template<typename HashTranslator, typename TYPE>
331 inline typename HashMap<T, U, V, W, X, Y>::iterator
337 template<typename T, typename U, typename V, typename W, typename X, typename Y>
338 template<typename HashTranslator, typename TYPE>
339 inline typename HashMap<T, U, V, W, X, Y>::const_iterator
345 template<typename T, typename U, typename V, typename W, typename X, typename Y>
346 template<typename HashTranslator, typename TYPE>
353 template<typename T, typename U, typename V, typename W, typename X, typename Y>
354 typename HashMap<T, U, V, W, X, Y>::AddResult
360 template<typename T, typename U, typename V, typename W, typename X, typename Y>
361 typename HashMap<T, U, V, W, X, Y>::AddResult
372 template<typename T, typename U, typename V, typename W, typename X, typename Y>
373 template<typename HashTranslator, typename TYPE>
374 typename HashMap<T, U, V, W, X, Y>::AddResult
380 template<typename T, typename U, typename V, typename W, typename X, typename Y>
381 typename HashMap<T, U, V, W, X, Y>::AddResult
387 template<typename T, typename U, typename V, typename W, typename X, typename Y>
388 typename HashMap<T, U, V, W, X, Y>::MappedPeekType
397 template<typename T, typename U, typename V, typename W, typename X, typename Y>
403 template<typename T, typename U, typename V, typename W, typename X, typename Y>
409 template<typename T, typename U, typename V, typename W, typename X, typename Y>
415 template<typename T, typename U, typename V, typename W, typename X, typename Y>
416 typename HashMap<T, U, V, W, X, Y>::MappedPassOutType
427 template<typename T, typename U, typename V, typename W, typename X, typename Y>
444 template<typename T, typename U, typename V, typename W, typename X, typename Y>
450 typedef typename HashMap<T, U, V, W, X, Y>::const_iterator const_iterator;
463 template<typename T, typename U, typename V, typename W, typename X, typename Y>
469 template<typename T, typename U, typename V, typename W, typename X, typename Y, typename Z>
472 typedef typename HashMap<T, U, V, W, X, Y>::const_iterator::Keys iterator;
482 template<typename T, typename U, typename V, typename W, typename X, typename Y, typename Z>
485 typedef typename HashMap<T, U, V, W, X, Y>::const_iterator::Values iterator;
496 template<typename T, typename U, typename V, typename W, typename X>