CoreLinux++
0.4.32
Main Page
Namespaces
Classes
Files
File List
File Members
corelinux
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
corelinux
Forward reference the various common classes.
Definition:
AbstractAllocator.hpp:32
This is the
CoreLinux++
reference manual
Provided by
The CoreLinux Consortium