CoreLinux++  0.4.32
Set.hpp
1 #if !defined(__SET_HPP)
2 #define __SET_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 <set>
31 
32 namespace corelinux
33 {
42  #define CORELINUX_SET(key,comp,name) \
43  typedef set<key, comp > name; \
44  typedef name * name ## Ptr; \
45  typedef const name * name ## Cptr; \
46  typedef name & name ## Ref; \
47  typedef const name & name ## Cref; \
48  typedef name::iterator name ## Iterator; \
49  typedef name::iterator& name ## IteratorRef; \
50  typedef name::iterator* name ## IteratorPtr; \
51  typedef name::const_iterator name ## ConstIterator; \
52  typedef name::const_iterator& name ## ConstIteratorRef; \
53  typedef name::const_iterator* name ## ConstIteratorPtr; \
54  typedef name::reverse_iterator name ## Riterator; \
55  typedef name::reverse_iterator& name ## RiteratorRef; \
56  typedef name::reverse_iterator* name ## RiteratorPtr
57 
66  #define CORELINUX_MULTISET(key,comp,name) \
67  typedef multiset<key, comp > name; \
68  typedef name * name ## Ptr; \
69  typedef const name * name ## Cptr; \
70  typedef name & name ## Ref; \
71  typedef const name & name ## Cref; \
72  typedef name::iterator name ## Iterator; \
73  typedef name::iterator& name ## IteratorRef; \
74  typedef name::iterator* name ## IteratorPtr; \
75  typedef name::const_iterator name ## ConstIterator; \
76  typedef name::const_iterator& name ## ConstIteratorRef; \
77  typedef name::const_iterator* name ## ConstIteratorPtr; \
78  typedef name::reverse_iterator name ## Riterator; \
79  typedef name::reverse_iterator& name ## RiteratorRef; \
80  typedef name::reverse_iterator* name ## RiteratorPtr
81 
82 }
83 
84 
85 #endif
86 /*
87  Common rcs information do not modify
88  $Author: prudhomm $
89  $Revision: 1.2 $
90  $Date: 2000/08/31 22:52:20 $
91  $Locker: $
92 */
93 
94 
Forward reference the various common classes.
Definition: AbstractAllocator.hpp:32

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