CoreLinux++
0.4.32
corelinux
Map.hpp
1
#if !defined(__MAP_HPP)
2
#define __MAP_HPP
3
4
/*
5
CoreLinux++
6
Copyright (C) 1999 CoreLinux Consortium
7
8
The CoreLinux++ Library is free software; you can redistribute it and/or
9
modify it under the terms of the GNU Library General Public License as
10
published by the Free Software Foundation; either version 2 of the
11
License, or (at your option) any later version.
12
13
The CoreLinux++ Library Library is distributed in the hope that it will
14
be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
15
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16
Library General Public License for more details.
17
18
You should have received a copy of the GNU Library General Public
19
License along with the GNU C Library; see the file COPYING.LIB. If not,
20
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21
Boston, MA 02111-1307, USA.
22
*/
23
24
#if !defined(__COMMON_HPP)
25
#include <Common.hpp>
26
#endif
27
28
// STL includes
29
30
#include <map>
31
32
namespace
corelinux
33
{
43
#define CORELINUX_MAP(key,value,comp,name) \
44
typedef std::map<key,value,comp > name; \
45
typedef name * name ## Ptr; \
46
typedef const name * name ## Cptr; \
47
typedef name & name ## Ref; \
48
typedef const name & name ## Cref; \
49
typedef name::iterator name ## Iterator; \
50
typedef name::iterator& name ## IteratorRef; \
51
typedef name::iterator* name ## IteratorPtr; \
52
typedef name::const_iterator name ## ConstIterator; \
53
typedef name::const_iterator& name ## ConstIteratorRef; \
54
typedef name::const_iterator* name ## ConstIteratorPtr; \
55
typedef name::reverse_iterator name ## Riterator; \
56
typedef name::reverse_iterator& name ## RiteratorRef; \
57
typedef name::reverse_iterator* name ## RiteratorPtr
58
69
#define CORELINUX_MULTIMAP(key,value,comp,name) \
70
typedef std::multimap<key,value,comp > name; \
71
typedef name * name ## Ptr; \
72
typedef const name * name ## Cptr; \
73
typedef name & name ## Ref; \
74
typedef const name & name ## Cref; \
75
typedef name::iterator name ## Iterator; \
76
typedef name::iterator& name ## IteratorRef; \
77
typedef name::iterator* name ## IteratorPtr; \
78
typedef name::const_iterator name ## ConstIterator; \
79
typedef name::const_iterator& name ## ConstIteratorRef; \
80
typedef name::const_iterator* name ## ConstIteratorPtr; \
81
typedef name::reverse_iterator name ## Riterator; \
82
typedef name::reverse_iterator& name ## RiteratorRef; \
83
typedef name::reverse_iterator* name ## RiteratorPtr
84
}
85
86
#endif
87
/*
88
Common rcs information do not modify
89
$Author: prudhomm $
90
$Revision: 1.3 $
91
$Date: 2000/08/31 22:52:20 $
92
$Locker: $
93
*/
94
corelinux
Forward reference the various common classes.
Definition:
AbstractAllocator.hpp:32
This is the
CoreLinux++
reference manual
Provided by
The CoreLinux Consortium