CACAO
unordered_map.hpp
Go to the documentation of this file.
1 /* src/vm/jit/compiler2/alloc/unordered_map.hpp - custom allocator unordered_map
2 
3  Copyright (C) 2013
4  CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
5 
6  This file is part of CACAO.
7 
8  This program is free software; you can redistribute it and/or
9  modify it under the terms of the GNU General Public License as
10  published by the Free Software Foundation; either version 2, or (at
11  your option) any later version.
12 
13  This program is distributed in the hope that it will be useful, but
14  WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16  General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with this program; if not, write to the Free Software
20  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21  02110-1301, USA.
22 
23 */
24 
25 #ifndef _JIT_COMPILER2_ALLOC_UNORDERED_MAP
26 #define _JIT_COMPILER2_ALLOC_UNORDERED_MAP
27 
28 #include <unordered_map>
29 
31 
32 namespace cacao {
33 namespace jit {
34 namespace compiler2 {
35 namespace alloc {
36 
37 template<
38  class Key,
39  class T,
40  class Hash = std::hash<Key>,
41  class KeyEqual = std::equal_to<Key>
42 > struct unordered_map {
43  typedef std::unordered_map<Key, T, Hash, KeyEqual, Allocator<std::pair<const Key, T> > > type;
44 };
45 
46 template<
47  class Key,
48  class T,
49  class Hash = std::hash<Key>,
50  class KeyEqual = std::equal_to<Key>
52  typedef std::unordered_multimap<Key, T, Hash, KeyEqual, Allocator<std::pair<const Key, T> > > type;
53 };
54 
55 } // end namespace alloc
56 } // end namespace compiler2
57 } // end namespace jit
58 } // end namespace cacao
59 
60 #endif /* _JIT_COMPILER2_ALLOC_UNORDERED_MAP */
61 
62 
63 /*
64  * These are local overrides for various environment variables in Emacs.
65  * Please do not remove this and leave it at the end of the file, where
66  * Emacs will automagically detect them.
67  * ---------------------------------------------------------------------
68  * Local variables:
69  * mode: c++
70  * indent-tabs-mode: t
71  * c-basic-offset: 4
72  * tab-width: 4
73  * End:
74  * vim:noexpandtab:sw=4:ts=4:
75  */
std::unordered_multimap< Key, T, Hash, KeyEqual, Allocator< std::pair< const Key, T > > > type
std::unordered_map< Key, T, Hash, KeyEqual, Allocator< std::pair< const Key, T > > > type