Moka libraries
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
ineq-use-att.hh
Go to the documentation of this file.
1 /*
2  * lib-spamod : Visualisation des objets en discret.
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-spamod
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  * Fichier : Ineq_Use_Att.h *
26  * Auteur : DEXET Martine *
27  *----------------------------------------------------------------------------*
28  * Ce fichier contient la spécification de la classe Ineq_Use_Att. Cette *
29  * classe permet de stocker un objet de la classe Ineq_Use en tant *
30  * qu'attribut. *
31  * *
32  *****************************************************************************/
33 
34 
35 #ifndef INEQ_USE_ATT_H
36 #define INEQ_USE_ATT_H
37 
38 #include "ineq-use.hh"
39 #include "attribute.hh"
40 
41 
42 /******************************************************************************
43  * Classe Ineq_Use_Att *
44  *****************************************************************************/
45 
46 class Ineq_Use_Att : public CAttribute {
47 
48  public:
49 
50  // Constructeur.
51  Ineq_Use_Att();
52 
53  // Destructeur.
54  virtual ~Ineq_Use_Att();
55 
56  // Surcharge des méthodes de la classe CAttribute.
57  TAttributeId getType() const;
58  Ineq_Use * Get_Data();
59  CAttribute * copy() const;
60  void destroy();
61  void save(std::ostream &fd) const;
62  void load(std::istream &fd);
63 
64  private:
65 
66  // Pointeur sur un objet de la classe Ineq_Use.
67  Ineq_Use * tab;
68 };
69 
70 /******************************************************************************
71  * Fichier : Ineq_Use_Att.inl *
72  * Auteur : DEXET Martine *
73  *----------------------------------------------------------------------------*
74  * Ce fichier contient l'implémentation des méthodes de la classe *
75  * Ineq_Use_Att. *
76  * *
77  *****************************************************************************/
78 
79 // Constructeur.
80 inline
82 {
83  tab = new Ineq_Use();
84 }
85 
86 
87 // Destructeur.
88 inline
90 {
91  delete tab;
92 }
93 
94 
95 // Surcharge des méthodes de la classe CAttribute.
96 inline
97 TAttributeId Ineq_Use_Att::getType() const
98 {
99  return USE_ATTRIBUTE_ID;
100 }
101 
102 inline
104 {
105  return tab;
106 }
107 
108 inline
109 CAttribute * Ineq_Use_Att::copy() const
110 {
111  Ineq_Use_Att* i = new Ineq_Use_Att();
112 
113  for (int j=0; j<6; j++)
114  i->tab->Set_Use(j, tab->Get_Use(j));
115 
116  return i;
117 }
118 
119 
120 inline
122 {
123  delete this;
124 }
125 
126 
127 inline
128 void Ineq_Use_Att::save(std::ostream &fd) const
129 {
130  for (int i=0; i<6; i++)
131  fd << tab->Get_Use(i) << " ";
132 
133  fd << std::endl;
134 }
135 
136 inline
137 void Ineq_Use_Att::load(std::istream &fd)
138 {
139 }
140 
141 #endif