ChangeLog 30.9 KB
Newer Older
Roland Levillain's avatar
Roland Levillain committed
1
2
3
4
5
6
2006-09-25  Roland Levillain  <roland@lrde.epita.fr>

	Fix the distribution.

	* oln/Makefile.am (nobase_oln_HEADERS): Add morpher/tags.hh.

7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2006-09-24  Roland Levillain  <roland@lrde.epita.fr>

	Restore the compatibility of morphers with G++ 4.0.

	* oln/core/macros.hh (oln_direct_type_of, oln_direct_type_of_):
	New macros.
	* oln/morpher/internal/image_extension.hh (oln): Use
	`oln_direct_type_of(Exact, ...)' instead of
	`oln_type_of(self_t, ...)'.
	* tests/morphers.cc (main): Add more static assertions.
	* tests/identity_morpher.cc: More documentation.
	* tests/add_neighborhood_morpher.cc: New test.
	* tests/Makefile.am (check_PROGRAMS): Add
	add_neighborhood_morpher.
	(add_neighborhood_morpher_SOURCES): New.

23
24
25
26
27
28
29
30
31
32
33
34
35
36
2006-09-22  Thierry GERAUD  <theo@tegucigalpa.lrde.epita.fr>

	Add image point iterators parameterized by the image topology;
	factor code into an internal class.
	
	* oln/core/gen/bbox_fwd_piter.hh: Change inheritance and move
	methods into...
	* oln/core/internal/bbox_fwd_piter.hh: ...this new class.
	* oln/core/gen/bbox_bkd_piter.hh: Change inheritance and move
	methods into...
	* oln/core/internal/bbox_bkd_piter.hh: ...this new class.
	* oln/core/gen/fwd_piter_bbox.hh: New.
	* oln/core/gen/bkd_piter_bbox.hh: New.
	
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
2006-09-20  Roland Levillain  <roland@lrde.epita.fr>

	Fix the identity and neighborhood addition morphers.

	* oln/automatic/image_having_neighborhood.hh: Add a forward
	declaration of oln::abstract::image_having_neighborhood.
	(impl<abstract::image_having_neighborhood, morpher::tag::identity, E>):
	Inherit from abstract::image<E>.
	(impl_neighborhood): Make it const.
	Get the exact type before calling delegate().
	* oln/core/abstract/image_having_neighborhood.hh
	(oln/automatic/image_having_neighborhood.hh): Include it.
	(oln::abstract::image_having_neighborhood::neighborhood): New.
	(case_<image_hierarchy_wrt_neighborhood, E, 1>): Only inherit from
	oln::abstract::image_having_neighborhood if neighborhood is
	different from mlc::not_found.
	(oln::ext_vtype<image_entry<E>, typedef_::neighborhood_type>):
	Remove.
	* oln/core/image_entry.hh
	(single_vtype<image_entry<E>, typedef_::morpher_type>): Remove.
	Instead, defined the `morpher' virtual type...
	(vtypes< image_entry<E> >): ...here.

	* oln/morpher/internal/image_extension.hh (image_extension):
	Fix the inheritance: derive from `oln::image_entry<Exact>' instead
	of `oln::image_entry< image_extension<Image, Exact> >'.
	* oln/morpher/identity.hh (oln/morpher/tags.hh): Include it.
	(oln::single_vtype<morpher::identity<Image>, typedef_::morpher_type>):
	Remove.
	Instead, defined the `morpher' virtual type...
	(oln::vtypes< morpher::identity<Image> >): ...here
	(oln::morpher::tag::identity): Move...
	* oln/morpher/tags.hh: ...here (new file).
	* oln/morpher/add_neighborhood.hh (oln/morpher/tags.hh)
	(oln/core/2d/aliases.hh): Include them.
	(oln::single_vtype<morpher::add_neighborhood<Image>,
	 typedef_::morpher_type>): Remove.
	Instead, defined the `morpher' virtual type...
	(oln::vtypes< morpher::add_neighborhood<Image> >): ...here
	(oln::morpher::add_neighborhood::neighborhood_t): Fix the virtual
	type retrieval: get it from `self_t', not from `Image'.
	(ext_vtype<morpher::add_neighborhood< oln::image2d<T> >,
	 typedef_::neighborhood_type>): Remove.
	Remove corresponding forward declarations as well.
	(oln::morpher::tag::add_neighborhood): Move...
	* oln/morpher/tags.hh: ...here.
	* tests/identity_morpher.cc, tests/morphers.cc: Fix the test.
	Add more static assertions.

	* oln/Makefile.am (nobase_oln_HEADERS): Add core/2d/neighb2d.hh,
	core/abstract/neighborhood.hh, core/gen/neighb.hh and
	core/neighborhood_entry.hh.
	* oln/core/2d/image2d.hh: Fix copyright header.

91
92
93
2006-09-20  Thierry GERAUD  <theo@tegucigalpa.lrde.epita.fr>

	Add classes for classical 2d neighborhood.
94

95
96
97
98
99
100
	* oln/core/neighborhood_entry.hh: New.
	* oln/core/abstract/neighborhood.hh: New.
	* oln/core/2d/neighb2d.hh: New.
	* oln/core/gen/neighb.hh: New.
	* oln/core/2d/aliases.hh (neighb2d): New.
	* oln/basics2d.hh: Update.
101

102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
2006-09-18  Roland Levillain  <roland@lrde.epita.fr>

	Add the first two morphers: identity and neighborhood addition.

	* oln/core/typedefs.hh (morpher_type, neighborhood_type): New
	typedef declarations.
	(neighb_type, image_neighbness_type, image_constness_type)
	(image_dimension_type, image_typeness_type)
	(image_valuedness_type, image_rawness_type): Remove typedef
	declarations.
	* oln/core/image_entry.hh
	(single_vtype<image_entry<E>, typedef_::morpher_type>): New
	virtual type.
	* oln/core/abstract/image.hh: Check it.

	* oln/core/abstract/image_hierarchies.hh
	(image_dimension_hierarchy, image_type_hierarchy): Rename as...
	(image_hierarchy_wrt_dimension, image_hierarchy_wrt_type):
	...this.
	(image_neighborhood_hierarchy): Make it the third image hierarchy.
	Rename as...
	(image_hierarchy_wrt_neighborhood).
	(image_value_hierarchy, image_rawness_hierarchy): Adjust and
	rename as...
	(image_hierarchy_wrt_value, image_hierarchy_wrt_data_retrieval):
	...this.	
	(oln/core/abstract/image_having_neighborhood.hh): Include it.
	* oln/core/abstract/image_dimension.hh:
	s/image_dimension_hierarchy/image_hierarchy_wrt_dimension/.
	(oln::abstract::image1d, oln::abstract::image2d)
	(oln::abstract::image3d): Inherit from automatic::impl.
	* oln/core/abstract/image_type.hh,
	* oln/core/abstract/image_type_integre.hh:
	s/image_type_hierarchy/image_hierarchy_wrt_type/.
	* oln/core/abstract/image_having_neighborhood.hh: New
	abstraction.
	* oln/automatic/image_having_neighborhood.hh: New automatic
	implementation.

	* oln/morpher/internal/image_extension.hh: New abstract
	class.
	* oln/morpher/identity.hh,
	* oln/morpher/add_neighborhood.hh: New morphers.
	* tests/morphers.cc, tests/identity_morpher.cc: New tests.

	* oln/Makefile.am (nobase_oln_HEADERS): Catch up with renamings
	from the previous patches.
	Add automatic/image_having_neighborhood.hh,
	core/abstract/image_having_neighborhood.hh,
	morpher/internal/image_extension.hh,
	morpher/add_neighborhood.hh and
	morpher/identity.hh.
	* tests/Makefile.am (check_PROGRAMS): Add identity_morpher and
	morphers.
	(identity_morpher_SOURCES, morphers_SOURCES): New.
	* oln/core/abstract/topology_hierarchies.hh: Aesthetic changes.

159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
2006-09-18  Thierry GERAUD  <theo@tegucigalpa.lrde.epita.fr>

	Rename bbox point iterators.
	
	* oln/core/abstract/iterator_on_points.hh
	(p_): Remove.  Abstract classes should not have attributes.
	(to_point): Turn abstract.
	(point_adr): New.
	* oln/core/gen/fwd_piter.hh: Update and rename as...
	* oln/core/gen/bbox_fwd_piter.hh: ...this.
	* oln/core/gen/bkd_piter.hh: Update and rename as...
	* oln/core/gen/bbox_bkd_piter.hh: ...this.
	* oln/core/2d/aliases.hh: Update.
	* oln/core/gen/bbox.hh: Update.
	* oln/basics2d.hh: Update.

175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
2006-09-18  Thierry GERAUD  <theo@tegucigalpa.lrde.epita.fr>

	Move some abstract classes below entries into internal.
	
	* oln/core/abstract/point_nd.hh: Update and rename as...
	* oln/core/internal/point_nd.hh: ...this.
	* oln/core/abstract/dpoint_nd.hh: Update and rename as...
	* oln/core/internal/dpoint_nd.hh: ...this.
	* oln/core/point_set_entry.hh (is_connected_type): Add in vtypes.
	* oln/core/abstract/bbox.hh: Change super class from point_set_entry
	to point_set_having_bbox.
	(vtypes): Remove.
	(set_super_type): Remove.
	* oln/core/abstract/point_set_hierarchies.hh (include): Update.
	* oln/core/abstract/point_set_having_bbox.hh (case_): Move to...
	* oln/core/abstract/bbox.hh: ...this file.
	(case_): Refine for abstract::bbox.
	* oln/core/2d/dpoint2d.hh: Update.
	* oln/core/2d/point2d.hh: Update.
	* oln/core/gen/bbox.hh: Update.
	
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
2006-09-18  Thierry GERAUD  <theo@tegucigalpa.lrde.epita.fr>

	Rename point set related classes.
	
	* oln/core/pset_entry.hh: Update and rename as...
	* oln/core/point_set_entry.hh: ...this.
	* oln/core/abstract/pset_fixed.hh: Update and rename as...
	* oln/core/abstract/point_set_having_known_size.hh: ...this.
	* oln/core/abstract/pset_ra.hh: Update and rename as...
	* oln/core/abstract/point_set_being_random_accessible.hh: ...this.
	* oln/core/abstract/pset_bboxed.hh: Update and rename as...
	* oln/core/abstract/point_set_having_bbox.hh: ...this.
	* oln/core/abstract/pset.hh: Update and rename as...
	* oln/core/abstract/point_set.hh: ...this.
	* oln/core/abstract/pset_hierarchies.hh: Update and rename as...
	* oln/core/abstract/point_set_hierarchies.hh: ...this.
	* oln/core/abstract/pset_cnx.hh: Update and rename as...
	* oln/core/abstract/point_set_being_connected.hh: ...this.
	* oln/core/abstract/piter.hh: Update and rename as...
	* oln/core/abstract/iterator_on_points.hh: ...this.
	* oln/core/abstract/iter.hh: Update and rename as...
	* oln/core/abstract/iterator.hh: ...this.
	* oln/core/typedefs.hh
	(fixed_type, ra_type, cnx_type): Rename as...
	(has_known_size_type, is_random_accessible_type): ...these and...
	(is_connected_type): ....this.
	* oln/core/abstract/bbox.hh: Update.
	* oln/core/gen/fwd_piter.hh: Update.
	* oln/core/gen/bkd_piter.hh: Update.

226
227
228
229
230
231
232
233
2006-09-18  Thierry GERAUD  <theo@tegucigalpa.lrde.epita.fr>

	Add oln topology class for enlarged bbox.
	
	* oln/core/gen/topo_lbbox.hh: New.
	* oln/core/abstract/dpoint_nd.hh (set_all): New.
	* oln/core/gen/topo_bbox.hh (impl_has_large): New.

234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
2006-09-15  Thierry GERAUD  <theo@tegucigalpa.lrde.epita.fr>

	Adapt topology hierarchy to new naming convention.
	
	* oln/core/topo_entry.hh: Rename into...
	* oln/core/topology_entry.hh: ...this.
	* oln/core/abstract/topo.hh: Rename into...
	* oln/core/abstract/topology.hh: ...this.
	* oln/core/abstract/topo_with_bbox.hh: Rename into...
	* oln/core/abstract/topology_having_bbox.hh: ...this.
	* oln/core/abstract/topo_hierarchies.hh: Rename into...
	* oln/core/abstract/topology_hierarchies.hh: ...this.
	* oln/core/abstract/topo_ra.hh: Rename into...
	* oln/core/abstract/topology_being_random_accessible.hh: ...this.
	* oln/core/gen/bbox_topo.hh: Rename into...
	* oln/core/gen/topo_bbox.hh: ...this.
	* oln/core/typedefs.hh (is_random_accessible_type): New.
	* oln/core/2d/aliases.hh: Update.
	* oln/basics2d.hh: Update.
	* oln/Makefile.am: Update.

255
256
257
258
259
260
261
262
263
264
2006-09-15  Thierry GERAUD  <theo@tegucigalpa.lrde.epita.fr>

	Add operator- to n-dimensional dpoint types.
	
	* oln/core/traits_id.hh (op_uminus_dpointnd): New.
	* oln/core/abstract/dpoint_nd.hh (operator-): New.
	(impl_less): New.
	(case_): New case for operator-.
	* oln/core/2d/dpoint2d.hh (dpoint2d_): New ctor.

265
266
267
268
269
270
2006-09-15  Roland Levillain  <roland@lrde.epita.fr>

	Add a missing file to the distribution.

	* oln/Makefile.am (nobase_oln_HEADERS): Add core/abstract/piter.

271
272
273
274
2006-09-14  Roland Levillain  <roland@lrde.epita.fr>

	* oln/Makefile.am (nobase_oln_HEADERS): Typo.

275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
2006-09-14  Roland Levillain  <roland@lrde.epita.fr>

	Use the new entry/hierarchy system for images.

	* oln/core/abstract/image_entry.hh: Remove.
	* oln/core/abstract/image_hierarchies.hh: New.
	* oln/core/abstract/image.hh
	(oln/core/abstract/image_hierarchies.hh): Include it.
	* oln/core/image_entry.hh: Aesthetic change.

	* oln/core/abstract/image_dimension.hh:
	Update the documentation.
	(oln::ERROR::UNKNOWN_GRID_TYPE): Remove error message.
	(oln::grid_dim_tag): Remove tag.
	(stc::set_entry_node<I, oln::abstract::dimension_tag>): Remove
	switch.
	(case_<grid_dim_tag, grid_type, 1>)
	(case_<grid_dim_tag, grid_type, 2>)
	(case_<grid_dim_tag, grid_type, 3>): Update and rename as...
	(case_<image_dimension_hierarchy, E, 1>)
	(case_<image_dimension_hierarchy, E, 2>)
	(case_<image_dimension_hierarchy, E, 3>): ...this.
	(default_case_<grid_dim_tag, grid_type>): Remove.
	(oln::ext_vtype<abstract::image<I>, typedef_::image_dimension_type>):
	Remove external vtype.

	* oln/core/abstract/image_typeness.hh: Rename as...
	* oln/core/abstract/image_type.hh: ...this.
	Adjust header guards.
	Update the documentation.
	(oln::value_type_tag): Remove tag.
	(stc::set_entry_node<I, oln::abstract::typeness_tag>): Remove
	switch.
	(case_<value_type_tag, value_type, 1>)
	(case_<value_type_tag, value_type, 2>)
	(default_case_<value_type_tag, value_type>): Update and rename
	as...
	(case_<image_type_hierarchy, E, 1>)
	(case_<image_type_hierarchy, E, 2>)
	(default_case_<image_type_hierarchy, E>): ...this.
	No longer provide an `image_typeness_type' typedef.
	(oln::ext_vtype<abstract::image<I>, typedef_::image_typeness_type>):
	Remove external vtype.

	* oln/core/abstract/image_typeness_integre.hh: Rename as...
	* oln/core/abstract/image_type_integre.hh: ...this.
	Adjust header guards.
	(case_<value_type_tag, value_type, 3>)
	(case_<value_type_tag, value_type, 4>)
	(case_<value_type_tag, value_type, 5>)
	(case_<value_type_tag, value_type, 6>): Update and rename as...
	(case_<image_type_hierarchy, E, 3>)
	(case_<image_type_hierarchy, E, 4>)
	(case_<image_type_hierarchy, E, 5>)
	(case_<image_type_hierarchy, E, 6>): ...this.
	No longer provide an `image_typeness_type' typedef.

	* tests/image_entry.cc (my::image): Set
	oln::image_entry<my::image> as super type.
	(oln::vtypes<my::image>::psite_type)
	(oln::vtypes<my::image>::rvalue_type)
	(oln::vtypes<my::image>::piter_type): Remove these typedefs, as
	they are already defined as single typedefs in
	oln/core/image_entry.hh.
	(my::image::grid_type, my::image::value_type): Rename as...
	(my::image::grid_t, my::image::value_t): ...this.
	(my::image::image_dimension_type, my::image::image_typeness_type):
	Remove.
	(main): Adjust, and remove irrelevant assertions.

345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
2006-09-14  Roland Levillain  <roland@lrde.epita.fr>

	Add missing files to Olena's distribution.

	* oln/Makefile.am (nobase_oln_HEADERS): Add core/2d/aliases.hh,
	core/2d/dpointd2.hh, core/2d/grid2d.hh, core/2d/image2d.hh,
	core/2d/point2d.hh, core/abstract/bbox.hh,
	core/abstract/dpoint.hh, core/abstract/dpoint_nd.hh,
	core/abstract/entry.hh, core/abstract/image_hierarchies.hh,
	core/abstract/image_type.hh, core/abstract/image_type_integre.hh,
	core/abstract/iter.hh, core/abstract/point.hh,
	core/abstract/point_nd.hh, core/abstract/pset_bboxed.hh,
	core/abstract/pset_cnx.hh, core/abstract/pset_fixed.hh,
	core/abstract/pset.hh, core/abstract/pset_hierarchies.hh,
	core/abstract/pset_ra.hh, core/abstract/topo.hh,
	core/abstract/topo_hierarchies.hh, core/abstract/topo_ra.hh,
	core/abstract/topo_with_bbox.hh, core/gen/bbox.hh,
	core/gen/bbox_topo.hh, core/gen/bkd_piter.hh,
	core/gen/fwd_piter.hh, core/image_entry.hh, core/pset_entry.hh,
	core/traits.hh, core/traits_id.hh, core/topo_entry.hh,
	core/type.hh and basics2d.hh
	Remove core/abstract/image_abstractions.hh,
	core/abstract/image_entry.hh, core/abstract/image_typeness.hh, and
	core/abstract/image_typeness_integre.hh.
	* oln/basics2d.hh: Fix copyright header.

371
372
373
374
375
376
377
378
379
380
381
2006-09-13  Roland Levillain  <roland@lrde.epita.fr>

	No longer categories nor packed_vtypes.

	* oln/core/abstract/image.hh (oln::category::grid): Remove
	declaration.
	* oln/core/abstract/grid.hh
	(oln::packed_vtypes_in_category<category::grid, G>): 
	(oln::grid::~grid): Remove dtor.
	(oln::category::grid): Remove declaration.

382
383
384
385
386
387
388
389
390
391
2006-09-12  Roland Levillain  <roland@lrde.epita.fr>

	Fix the current implementation of image_entry, as well as some
	tests.

	* oln/core/abstract/internal/image_impl.hh (oln::category::image):
	Move this declaration...
	* oln/core/abstract/image.hh: ...here.
	* oln/core/case.hh: New file.
	* oln/core/abstract/image_abstractions.hh,
392
	* oln/core/abstract/entry.hh,
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
	* oln/core/traits.hh: Use it.
	* oln/Makefile.am (nobase_oln_HEADERS): Add core/case.hh.

	* oln/core/abstract/image_dimension.hh
	(oln::ERROR::UNKNOWN_GRID_TYPE): New.
	(oln::default_case_<grid_dim_tag, grid_type): Use it.
	(ext_vtype_in_category): Turn into...
	(ext_vtype): ...this.
	* oln/core/abstract/image_typeness.hh (ext_vtype_in_category):
	Turn into...
	(ext_vtype): ...this.

	* oln/core/typedefs.hh (oln_type_of, oln_type_of_): Move
	these macros...
	* oln/core/abstract/macros.hh: ...here, and replace the previous
	ones.
	Rename file as...
	* oln/core/macros.hh: ...this.
	Adjust header guards.
	* oln/core/abstract/internal/image_impl.hh: Adjust users.
	* oln/Makefile.am (nobase_oln_HEADERS): Remove
	core/abstract/macros.hh.
	Add core/macros.hh

	* oln/core/abstract/grid.hh (oln_grd_type_of, oln_grd_type_of_):
	Remove macros.
	(vtypes_in_category< category::grid, abstract::grid<G> >): Turn
	into...
	(vtypes< abstract::grid<G> >): ...this.
	(packed_vtypes_in_category<category::grid, G>):
	s/oln_grd_type_of/oln_type_of/g.
	* oln/core/1d/grid1d.hh, oln/core/2d/grid2d.hh,
	* oln/core/3d/grid3d.hh (vtypes_in_category): Turn into...
	(vtypes): ...this.

	* tests/grid.cc: s/oln_grd_type_of_/oln_type_of_/g
	* tests/image_entry.cc (my::dummy): New declaration.
	(vtypes_in_category<category::image, my::image>): Turn into...
	(vtypes<my::image>): ...this.
	Add missing virtual types.
	(my::image): Fix base class.
	(main): Remove any references to
	packed_vtypes_in_category<oln::category::image, my::image>, since
	it no longer exists.
	* tests/Makefile.am (AM_CPPFLAGS): Add -I$(top_srcdir)/extended.

439
440
441
442
2006-09-07  Thierry GERAUD  <theo@tegucigalpa.lrde.epita.fr>

	Add image2d and fix topo-related classes.
	
Roland Levillain's avatar
Roland Levillain committed
443
444
445
446
447
	* tests/npoints.cc: New.
	* tests/Makefile.am: Update.
	* oln/core/image_entry.hh: New.
	* oln/core/2d/image2d.hh: New.
	* oln/basics2d.hh: Force instantiation and include
448
	oln/core/2d/image2d.hh.
Roland Levillain's avatar
Roland Levillain committed
449
	* oln/core/typedefs.hh: Include mlc/assert.hh and
450
451
452
453
454
455
456
	mlc/to_string.hh.
	(piter_type): Uncomment.
	(rvalue_type): New.
	(psite_type): New.
	(concrete_type): Uncomment.
	(size_type): Add comment.
	(topo_type): New.
Roland Levillain's avatar
Roland Levillain committed
457
	* oln/core/abstract/topo.hh (bbox): Remove this method which
458
	is redundant with the one of topo_with_bbox.
Roland Levillain's avatar
Roland Levillain committed
459
460
	* oln/core/abstract/topo_with_bbox.hh (bbox): Fix typo.
	* oln/core/abstract/entry.hh (next_entry_node): New
461
462
	specialization to handle the specific and rare case of having no
	sub-hierarchy.
Roland Levillain's avatar
Roland Levillain committed
463
464
465
	* oln/core/abstract/topo_ra.hh: Fix cut n paste errors.
	* oln/core/abstract/pset.hh (piter): New vtype decl.
	* oln/core/gen/fwd_piter.hh (fwd_piter_): Add commented
466
	forthcoming ctors.
Roland Levillain's avatar
Roland Levillain committed
467
468
469
	* oln/core/gen/bbox_topo.hh: Cosmetics.
	* oln/core/pset_entry.hh (piter_type): New.
	* oln/core/abstract/image.hh: Update.
470

471
472
473
474
475
476
477
478
479
480
481
482
2006-09-07  Thierry GERAUD  <theo@tegucigalpa.lrde.epita.fr>

	Start the topology hierarchy.
	
	* oln/core/topo_entry.hh: New.
	* oln/core/abstract/topo.hh: New.
	* oln/core/abstract/topo_hierarchies.hh: New.
	* oln/core/abstract/topo_with_bbox.hh: New.
	* oln/core/abstract/topo_ra.hh: New.
	* oln/core/gen/bbox_topo.hh: New.
	* oln/core/2d/aliases.hh (topo2d): New.

483
484
	Add a new sub-hierarchy to abstract::pset.
	
485
486
487
488
489
490
	* oln/core/abstract/pset_cnx.hh: New.
	* oln/core/typedefs.hh (cnx_type): New.
	* oln/core/abstract/pset_hierarchies.hh (pset_cnx_hierarchy): New.
	* oln/core/abstract/bbox.hh (cnx_type): New.
	* oln/core/abstract/pset_bboxed.hh (is_valid): Move this method into...
	* oln/core/abstract/pset.hh (pset): ...this class.
491
492
493
	(dim): New vtype.
	* oln/core/pset_entry.hh (single_vtype): Add vtype dim.
	* oln/basics2d.hh: Include oln/core/gen/bbox_topo.hh.
494

495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
2006-09-06  Thierry GERAUD  <theo@tegucigalpa.lrde.epita.fr>

	Update abstract::pset hierarchy to final SCOOP-2 design.
	
	* oln/core/pset_entry.hh: New.
	* oln/core/typedefs.hh: Include oln/core/abstract/entry.hh.
	* oln/core/abstract/bbox.hh: Clean includes.
	(set_super_type): Change from abstract::pset<E> to pset_entry<E>.
	(bbox): Update.
	* oln/core/abstract/entry.hh (set_super_type): New specialization.
	* oln/core/abstract/pset.hh (Copyright): Fix years.
	(vtypes, ext_vtype): Remove.
	(fixed_pset, ra_pset, bboxed_pset): Move and dispatch to...
	* oln/core/abstract/pset_fixed.hh: ...this new file.
	* oln/core/abstract/pset_ra.hh: ...this new file.
	* oln/core/abstract/pset_bboxed.hh: ...this new file.
	* oln/core/abstract/pset.hh
	(pset_fixed_hierarchy, pset_ra_hierarchy, pset_bboxed_hierarchy)
	(case_): Move to...
	* oln/core/abstract/pset_hierarchies.hh: ...this new file.
	
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
2006-09-05  Thierry GERAUD  <theo@tegucigalpa.lrde.epita.fr>

	Test on abstract::pset alternative code for static inheritance. 
	
	* oln/core/abstract/entry.hh: New proposition for entry class in
	static hierarchies.  This is a test file that should be removed
	after stc update.
	* oln/core/typedefs.hh (fixed_type, ra_type, bbox_type): New
	typedef declarations.
	* oln/core/abstract/bbox.hh (fwd_piter_, bkd_piter_): Remove
	these forward declarations.
	(ext_vtype): Remove.
	(vtypes): New.
	(ra_type, fixed_type, bbox_type): New associated types.
	(bbox): Change inheritance from abstract::pset to an entry class.
	(bbox): Remove all methods except print from this class; the
	methods are dispatched into abstract::bboxed_pset and
	gen::bbox_<P>.
	(bbox): Likewise for attributes.
	(print): Reject code to subclasses.
	(impl_bbox): New method.
	* oln/core/abstract/pset.hh: Include entry.hh.
	(fwd_piter_type, bkd_piter_type): New associated types.
	(bbox_type, ra_type, fixed_type): Likewise
	(pset): Add virtual to inheritance.
	(~pset): Extend check code.
	(fixed_pset, ra_pset, bboxed_pset): New sub-abstractions.
	(pset_fixed_hierarchy, pset_ra_hierarchy, pset_bboxed_hierarchy):
	New hierarchy tags.
	* oln/core/gen/bbox.hh: Update.
	(operator=): New.
	
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
2006-09-04  Roland Levillain  <roland@lrde.epita.fr>

	Adjust virtual types class names.

	* oln/core/abstract/image.hh,
	* oln/core/abstract/image_dimension.hh,
	* oln/core/abstract/image_typeness.hh,
	* oln/core/abstract/grid.hh, oln/core/1d/grid1d.hh,
	* oln/core/2d/grid2d.hh, oln/core/3d/grid3d.hh,
	* tests/image_entry.cc (vtypes): Rename as...
	(vtypes_in_category): ...this.
	* oln/core/abstract/image.hh, oln/core/abstract/grid.hh,
	* tests/image_entry.cc (packed_vtypes): Rename as...
	(packed_vtypes_in_category): ...this.

	* oln/core/abstract/point.hh, oln/core/abstract/dpoint.hh,
	* oln/core/abstract/piter.hh, oln/core/abstract/pset.hh,
	* oln/core/gen/bbox.hh,
	* oln/core/gen/bkd_piter.hh, oln/core/gen/fwd_piter.hh,
	* oln/core/2d/point2d.hh, oln/core/2d/dpoint2d.hh (vtypes_):
	Rename as...
	(vtypes).
	* oln/core/abstract/pset.hh, oln/core/abstract/bbox.hh
	(ext_vtype_): Rename as...
	(ext_vtype): ...this.

574
575
576
577
578
579
580
581
582
583
584
585
586
2006-09-04  Thierry GERAUD  <theo@tegucigalpa.lrde.epita.fr>

	Test how to define derived associated types in bbox hierarchy.

	* oln/core/abstract/bbox.hh (ext_vtype_): New definitions of
	fwd_piter_type and bkd_piter_type.
	(~bbox): Comment possible recursive code.
	* oln/core/gen/bbox.hh (vtypes_): Comment former definitions of
	fwd_piter_type and bkd_piter_type.
	* oln/core/abstract/pset.hh (ext_vtype_): New definition for grid.
	(fwd_piter_type, bkd_piter_type): Comment because they are now
	externally defined.

587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
2006-09-01  Thierry GERAUD  <theo@tegucigalpa.lrde.epita.fr>

	* oln/core/abstract/piter.hh (to_point): New.
	* oln/core/abstract/bbox.hh (pmin, pmax): New overloaded methods.
	(is_valid, print, operator<<): New.
	* oln/core/abstract/iter.hh (iter): Change inheritance from
	any__simple to any__best_memory to fix trouble with multiple
	inheritance.
	(ctor): Remove dangerous call to invalidate.
	* oln/core/abstract/point_nd.hh (operator<<): New.
	(impl_less): Update.
	* oln/core/abstract/pset.hh (coord_type): New.
	* oln/core/2d/point2d.hh (coord_t): Move to public so that this
	associated type is directly accessible from...
	* oln/core/gen/bbox.hh (vtypes): ...this set of types.
	* oln/core/gen/fwd_piter.hh (psup_): Remove.
	(bbox): New accessor.
	(impl_next): Rewrite.
	(print, operator<<): New.
	(invariant): Strengthen.
	* oln/core/gen/bkd_piter.hh: Likewise.

609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
2006-09-01  Thierry GERAUD  <theo@tegucigalpa.lrde.epita.fr>

	Add bboxes and iterators.
	
	* oln/core/abstract/piter.hh: New.
	* oln/core/abstract/bbox.hh: New.
	* oln/core/abstract/iter.hh: New.
	* oln/core/abstract/pset.hh: New.
	* oln/core/2d/aliases.hh: New.
	* oln/core/gen/fwd_piter.hh: New.
	* oln/core/gen/bkd_piter.hh: New.
	* oln/core/gen/bbox.hh: New.
	* oln/core/2d/point2d.hh (point2d_): New ctor.
	(point2d, dpoint2d, point2df, dpoint2df): Move typedefs to...
	* oln/basics2d.hh: ...this new file.
	* oln/core/typedefs.hh (oln_type_of_): New macro.
	(include): Update.
	(fwd_piter_type, bkd_piter_type): New decls.
	* oln/core/abstract/point.hh (include): Update.
	(vtypes_): New specialization.
	* oln/core/abstract/dpoint.hh: Likewise.
	* oln/core/abstract/point_nd.hh (include): Update.
	(set_super_type): New specialization.
	* oln/core/abstract/dpoint_nd.hh: Likewise.

634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
2006-08-31  Thierry GERAUD  <theo@tegucigalpa.lrde.epita.fr>

	Add dpoint, oln traits, and operators on point/dpoint.
	
	* oln/core/type.hh: New.
	* oln/core/traits_id.hh: New.
	* oln/core/abstract/dpoint.hh: New.
	* oln/core/abstract/dpoint_nd.hh: New.
	* oln/core/traits.hh: New.
	* oln/core/2d/dpoint2d.hh: New.
	* oln/core/abstract/point.hh (point): Add inheritance to
	oln::type.
	(operators): New.
	* oln/core/abstract/point_nd.hh (point_): New meta-function.
	(impl_eq): Rename as...
	(impl_equal): ...this.
	(coord): Rename as...
	(coord_t): ...this.
	(impl_less): New.
	(impl_plus_equal, impl_plus): New.
	(impl_minus_equal, impl_minus, impl_minus): New.
	(vec): New.
	(case_): New specializations.
	(point_nd): New ctor.
	* oln/core/2d/point2d.hh: Update forward declarations.
	(point_, dpoint_): New specializations.
	(point2d): New ctor.
	(coord): Rename as...
	(coord_t): ...this.
	
664
665
2006-08-30  Thierry GERAUD  <theo@tegucigalpa.lrde.epita.fr>

666
667
	Start point hierarchy.
	
668
669
670
671
672
673
	* oln/core/typedefs.hh (oln_type_of): New macro.
	(dim_type): New typedef decl.
	* oln/core/abstract/point.hh: New.
	* oln/core/abstract/point_nd.hh: New.
	* oln/core/2d/point2d.hh: New.

674
675
676
677
678
679
680
681
682
2006-06-05  Roland Levillain  <roland@lrde.epita.fr>

	Catch up with Static's support for multiple inheritance.

	* oln/core/1d/grid1d.hh, oln/core/2d/grid2d.hh,
	* oln/core/3d/grid3d.hh: s/stc_super_/stc_get_supers/.
	* tests/image_entry.cc: Add a missing `public' qualifier for
	exported types.

683
684
685
686
687
688
689
690
2006-05-02  Roland Levillain  <roland@lrde.epita.fr>

	Fix a duplicate where-clause and perform some aesthetic changes in
	image abstractions.

	* oln/core/abstract/image_dimension.hh: Move the static switch
	statement before the cases.
	Aesthetic changes.
Roland Levillain's avatar
Roland Levillain committed
691
	* oln/core/abstract/image_typeness.hh: Likewise.
692
693
694
695
696
697
	(case_<value_type_tag, value_type, 2>): Fix a copy-and-paste bug:
	remove a duplicate `unsigned char' type in the where-clause and
	replace it with `signed char'.
	* oln/core/abstract/image_typeness_integre.hh,
	* tests/image_entry.cc: Aesthetic changes.

698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
2006-04-27  Roland Levillain  <roland@lrde.epita.fr>

	Add image ``typeness'' abstraction hierarchy.

	* tests/image_entry.cc (my): Check image_typeness_type vtype and
	inheritance.
	* oln/core/typedefs.hh (value_type, image_typeness_type): Enable
	typedef.
	* oln/core/abstract/image.hh (vtypes::value_type): Enable typedef.
	(packed_vtypes::value_type): New typedef.
	(packed_vtypes::echo): Print value_type and image_typeness_type.
	(packed_vtypes::ensure): Check value_type and image_typeness_type.
	(image::value_type): Enable typedef.
	* oln/core/abstract/image_entry.hh: Include images abstractions
	headers.
	Don't include mlc/case.hh nor oln/core/abstract/image.hh.
	(mlc_case_equipment_for_namespace(oln))
	(abstraction_tags): Move...
	* oln/core/abstract/image_abstractions.hh: ...here (new file).
	* oln/core/abstract/image_dimension.hh: Include it.
	Include stc/entry.hh.
	Aesthetic changes.
	* oln/core/abstract/image_typeness.hh: New file (imported from
	Olena proto-1.0, and modified).
	* oln/core/abstract/image_typeness_integre.hh: New file
	* oln/Makefile.am (nobase_oln_HEADERS): Add
	core/abstract/image_abstractions.hh,
	core/abstract/image_typeness.hh and
	core/abstract/image_typeness_integre.hh.

728
729
730
731
732
2006-04-25  Roland Levillain  <roland@lrde.epita.fr>

	* oln/core/abstract/image_dimension.hh: Add some more
	documentation.

733
734
735
736
737
738
739
740
741
742
743
744
2006-04-25  Roland Levillain  <roland@lrde.epita.fr>

	Re-enable exact_type vtype.

	* oln/core/typedefs.hh (oln_super_of_, oln_super2_of_)
	(oln_super3_of_, oln_super_of): Remove macros.
	(exact_type): Enable this typedef.
	* oln/core/abstract/image.hh (packed_vtypes::exact_type): New
	typedef.
	(packed_vtypes::echo): Print exact_type.
	(packed_vtypes::ensure): Check exact_type.

745
746
747
748
2006-04-25  Roland Levillain  <roland@lrde.epita.fr>

	* oln/core/typedefs.hh: s/properties/vtypes/.

749
750
751
752
753
754
755
756
757
758
759
760
761
762
2006-04-25  Roland Levillain  <roland@lrde.epita.fr>

	Catch up with the latest name changes in Static.

	* oln/core/abstract/image_dimension.hh
	(case_<grid_dim_tag, grid_type, 1>)
	(case_<grid_dim_tag, grid_type, 2>)
	(case_<grid_dim_tag, grid_type, 3>):
	s/stc::is_a/stc::abstraction_as_type/.
	* oln/core/abstract/macros.hh (oln_type_of, oln_type_of_)
	* oln/core/abstract/grid.hh (oln_grd_type_of, oln_grd_type_of_):
	Catch up with the new names of Static macros.
	* tests/image_entry.cc: Adjust test.

763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
2006-04-25  Roland Levillain  <roland@lrde.epita.fr>

	Plug image_entry's inheritance to the right image dimension
	abstraction according to the grid type of the exact image type.

	* oln/core/abstract/image_entry.hh: Add switch/case equipment in
	the oln namespace.
	* oln/core/abstract/image_dimension.hh
	(grid_dim_tag)
	(case_<grid_dim_tag, grid_type, 1>)
	(case_<grid_dim_tag, grid_type, 2>)
	(case_<grid_dim_tag, grid_type, 3>)
	(default_case_<grid_dim_tag, grid_type>): New Metalic switch/case
	on grid type, returning the corresponding image dimension type.
	(set_entry_node<I, oln::abstract::dimension_tag>): Use this Metalic
	switch/case to choose the dimension abstraction in the inheritance
	tree.
	* oln/core/abstract/image.hh (vtypes): Don't define
	image_dimension_type as an internal vtype, instead...
	* oln/core/abstract/image_dimension.hh
	(oln::ext_vtype<category::image, abstract::image<I>,
	typedef_::image_dimension_type>): ...define it externally, using
	the switch used inheritance-plugging mechanism based on the grid
	type.
	* tests/image_entry.cc (oln): Adjust.
	Check my::image's virtual types.
	Print my::image's vtypes on the standard output.

Roland Levillain's avatar
Roland Levillain committed
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
2006-04-25  Roland Levillain  <roland@lrde.epita.fr>

	Add grids.

	* oln/core/abstract/grid.hh,
	* oln/core/1d/grid1d.hh,
	* oln/core/2d/grid2d.hh,
	* oln/core/3d/grid3d.hh: New files (imported from Olena proto-1.0,
	and modified).
	* oln/core/typedefs.hh (grid_type, point_type, dpoint_type)
	(size_type, dimvalue_type, coord_type): Enable these types.
	* oln/core/abstract/image.hh (grid_type): Don't mlc-declare this
	typedef, since oln/core/typedefs.hh already takes care of it.
	(vtypes< category::image, abstract::image<I> >): Enable	grid_type.
	(packed_vtypes): Likewise.
	* oln/core/abstract/internal/image_impl.hh: Improve comment.
	* tests/grid.cc: New test.
	* tests/image_entry.cc: Update this test.
	* oln/Makefile.am (nobase_oln_HEADERS): Add core/abstract/grid.hh,
	core/1d/grid1d.hh, core/2d/grid2d.hh and core/3d/grid3d.hh.
	* tests/Makefile.am (check_PROGRAMS): Add grid.
	(grid_SOURCES): New.

814
815
816
817
818
819
820
821
822
823
824
2006-04-22  Roland Levillain  <roland@lrde.epita.fr>

	Fix packed_vtypes<category::image, I>.

	* oln/core/abstract/image.hh (packed_vtypes): Remove.
	(packed_vtypes<category::image, I>): Use mlc::assert to test the
	virtual types.
	Aesthetic changes.
	(image::~image): Check the vtypes thanks to
	packed_vtypes<category::image, I>.

825
826
827
828
829
830
831
832
833
834
835
836
837
838
2006-04-21  Roland Levillain  <roland@lrde.epita.fr>

	Lay the foundation stone of abstract::image.

	* oln/core/abstract/any.hh, oln/core/typedefs.hh,
	* oln/core/abstract/image.hh,
	* oln/core/abstract/internal/image_impl.hh
	* oln/core/abstract/image_entry.hh
	* oln/core/abstract/image_dimension.hh: New files (imported from
	Olena proto-1.0, and modified).
	* oln/core/abstract/macros.hh: New file.
	* tests/image_entry.cc: New test.
	* Makefile.am, oln/Makefile.am, tests/Makefile.am: New files.