Moka kernel
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
Moka kernel
Todo List
Namespaces
Classes
Files
File List
lib-gmapkernel
g-map
attribute.cc
attribute.hh
attribute.icc
coverage.cc
coverage.hh
coverage.icc
dart.cc
dart.hh
dart.icc
dynamic-coverage.cc
dynamic-coverage.hh
embedding.cc
embedding.hh
embedding.icc
g-map-basic.cc
g-map-basic.hh
g-map-basic.icc
g-map.cc
g-map.hh
g-map.icc
kernel-types.hh
static-coverage.cc
static-coverage.hh
g-map-generic
g-map-vertex
tools
alt-stdint.hh
attributes-id.hh
chrono.hh
inline-macro.hh
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