mtc_attributes.h
Go to the documentation of this file.
1/** @file mtc_attributes.h
2
3Color attributes for states
4
5*/
6
7/* FAU Discrete Event Systems Library (libfaudes)
8
9 Copyright (C) 2008 Matthias Singer
10 Exclusive copyright is granted to Klaus Schmidt
11
12 This library is free software; you can redistribute it and/or
13 modify it under the terms of the GNU Lesser General Public
14 License as published by the Free Software Foundation; either
15 version 2.1 of the License, or (at your option) any later version.
16
17 This library is distributed in the hope that it will be useful,
18 but WITHOUT ANY WARRANTY; without even the implied warranty of
19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20 Lesser General Public License for more details.
21
22 You should have received a copy of the GNU Lesser General Public
23 License along with this library; if not, write to the Free Software
24 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
25
26
27#ifndef MTC_ATTRIBUTES_H
28#define MTC_ATTRIBUTES_H
29
30#include "corefaudes.h"
31#include "mtc_colorset.h"
32
33namespace faudes {
34
35/**
36 *
37 * State attributes for multitasking automata
38 *
39 * @ingroup MultitaskingPlugin
40 */
42
44
45
46 public:
47
48 /** Default constructor */
50 mpColorSymbolTable=mColors.SymbolTablep(); };
51
52 virtual ~AttributeColoredState(void) {};
53
54 /**
55 * Test for default value
56 *
57 * @return
58 * True for defaultvalue
59 */
60 bool IsDefault(void) const {return (mColors.Empty() && (mFlags==mDefFlags)); };
61
62 /**
63 * Iterator for first entry in mColors
64 */
65 NameSet::Iterator ColorsBegin() const;
66
67 /**
68 * Iterator for last entry in mColors
69 */
70 NameSet::Iterator ColorsEnd() const;
71
72 /**
73 * Read access to color set
74 *
75 * @return
76 * Reference to attribute data
77 */
78 const ColorSet& Colors(void) const { return mColors;};
79
80
81 /**
82 * Writable access to color set
83 *
84 * @return
85 * Reference to attribute data
86 */
87 ColorSet& Colors(void) { return mColors;};
88
89 /**
90 * Set the color set
91 *
92 * @param rColors
93 * New color set
94 */
95 void Colors(const ColorSet& rColors) { mColors=rColors;};
96
97 /**
98 * Set pointer to color symbol table
99 *
100 * @param pSymTab
101 * New color symbol table
102 */
103 void ColorSymTab(SymbolTable *pSymTab);
104
105 /**
106 * Get pointer to color symbol table
107 *
108 * @return
109 * Pointer to current color symbol table
110 */
111 SymbolTable *ColorSymTabp(void) const;
112
113protected:
114
115 /** Colorset */
117
118 /** Pointer to colorsymboltable */
120
121 /**
122 * Assignment method.
123 *
124 * @param rSrcAttr
125 * Source to assign from
126 */
127 virtual void DoAssign(const AttributeColoredState& rSrcAttr);
128
129
130 /**
131 * Test equality of configuration data.
132 *
133 * @param rOther
134 * Other attribute to compare with.
135 * @return
136 * True on match.
137 */
138 virtual bool DoEqual(const AttributeColoredState& rOther) const;
139
140 /**
141 * Write attributes to tokenwriter
142 *
143 * @param rTw
144 * Tokenreader to write to
145 * @param rLabel
146 * Section to write
147 * @param pContext
148 * Write context to provide contextual information
149 *
150 * @exception Exception
151 * I/O errors
152 */
153 virtual void DoWrite(TokenWriter& rTw, const std::string& rLabel="", const Type* pContext=0) const;
154
155 /**
156 * Write attributes to tokenwriter
157 *
158 * @param rTw
159 * Tokenreader to write to
160 * @param rLabel
161 * Section to write
162 * @param pContext
163 * Write context to provide contextual information
164 *
165 * @exception Exception
166 * I/O errors
167 */
168 virtual void DoXWrite(TokenWriter& rTw, const std::string& rLabel="", const Type* pContext=0) const;
169
170 /**
171 * Read attributes from tokenreader
172 *
173 * @param rTr
174 * Tokenreader to read from
175 * @param rLabel
176 * Section to read
177 * @param pContext
178 * Read context to provide contextual information
179 *
180 * @exception Exception
181 * Thrown on file format errors (ids 50, 51)
182 */
183 virtual void DoRead(TokenReader& rTr,const std::string& rLabel="", const Type* pContext=0);
184
185
186
187}; // class AttributeColoredState
188
189} // namespace faudes
190
191#endif
#define FAUDES_API
#define FAUDES_TYPE_DECLARATION(ftype, ctype, cbase)
Definition cfl_types.h:879
void Colors(const ColorSet &rColors)
const ColorSet & Colors(void) const

libFAUDES 2.33k --- 2025.09.16 --- c++ api documentaion by doxygen