CoreLinux++  0.4.32
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 
Forward reference the various common classes.
Definition: AbstractAllocator.hpp:32

This is the CoreLinux++ reference manual
Provided by The CoreLinux Consortium