Moka kernel
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
attribute.hh
Go to the documentation of this file.
1
/*
2
* lib-gmapkernel : Un noyau de 3-G-cartes et des opérations.
3
* Copyright (C) 2004, Moka Team, Université de Poitiers, Laboratoire SIC
4
* http://www.sic.sp2mi.univ-poitiers.fr/
5
* Copyright (C) 2009, Guillaume Damiand, CNRS, LIRIS,
6
* guillaume.damiand@liris.cnrs.fr, http://liris.cnrs.fr/
7
*
8
* This file is part of lib-gmapkernel
9
*
10
* This program is free software: you can redistribute it and/or modify
11
* it under the terms of the GNU Lesser General Public License as published by
12
* the Free Software Foundation, either version 3 of the License, or
13
* (at your option) any later version.
14
*
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU Lesser General Public License for more details.
19
*
20
* You should have received a copy of the GNU Lesser General Public License
21
* along with this program. If not, see <http://www.gnu.org/licenses/>.
22
*/
23
24
//******************************************************************************
25
#ifndef ATTRIBUTE_HH
26
#define ATTRIBUTE_HH
27
//******************************************************************************
28
#include "
kernel-types.hh
"
29
#include "
inline-macro.hh
"
30
31
#include <iostream>
32
//******************************************************************************
47
class
CAttribute
48
{
49
public
:
50
// @name Constructeurs et destructeur.
51
// @{
52
54
CAttribute
();
55
57
CAttribute
(
const
CAttribute
&
CAttribute
);
58
60
virtual
~CAttribute
();
61
62
// @}
63
// @name Méthodes virtuelles pures à implémenter dans les classes filles.
64
// @{
65
69
virtual
TAttributeId
getType
()
const
= 0;
70
77
virtual
CAttribute*
copy
()
const
= 0;
78
84
virtual
void
destroy
() = 0;
85
93
virtual
void
save
(std::ostream& AStream)
const
= 0;
94
103
virtual
void
load
(std::istream& AStream) = 0;
104
105
// @}
106
// @name Opérateurs de flux.
107
// @{
108
113
friend
std::ostream&
operator<<
(std::ostream& AOS,
114
const
CAttribute& AAttribute);
115
120
friend
std::istream&
operator>>
(std::istream& AIS,
121
CAttribute& AAttribute);
122
123
// @}
124
// @name Méthodes de manipulation de la liste des attributs.
125
// @{
126
132
CAttribute*
getNext
()
const
;
133
139
void
setNext
(CAttribute* ANext);
140
146
CAttribute*
getPrev
()
const
;
147
153
void
setPrev
(CAttribute* APrev);
154
155
// @}
156
157
private
:
158
// @name Champs privés (chaînage des attributs)
159
// @{
160
162
CAttribute* FPrev;
163
165
CAttribute* FNext;
166
167
// @}
168
};
169
//******************************************************************************
170
#include INCLUDE_INLINE("attribute.icc")
171
//******************************************************************************
172
#endif // ATTRIBUTE_HH
173
//******************************************************************************
lib-gmapkernel
g-map
attribute.hh
Generated on Tue Apr 9 2013 09:51:35 for Moka kernel by
1.8.2