2006-10-09 Thierry GERAUD <theo(a)tegucigalpa.lrde.epita.fr>
Change stc_virtual_typedef into oln_virtual_typedef.
* oln/core/macros.hh (oln_virtual_typedef): New macro.
It replaces stc_virtual_typedef.
* oln/core/abstract/image.hh: Update.
* oln/core/abstract/image/mutability/hierarchy.hh: Update.
* oln/core/abstract/image/neighborhood/hierarchy.hh: Update.
* oln/core/abstract/image/bbox/hierarchy.hh: Update.
* oln/core/abstract/point_set.hh: Update.
* oln/core/abstract/neighborhood.hh: Update.
* oln/core/abstract/topology.hh: Update.
Index: oln/core/macros.hh
===================================================================
--- oln/core/macros.hh (revision 610)
+++ oln/core/macros.hh (working copy)
@@ -135,4 +135,12 @@
stc_check_direct_type_of_(oln, void, OlnType, Alias)
+
+/// Declare the vtype \a Typedef in an abstract class (see sample code
+/// for details). Warning: this macro assumes that the exact type
+/// parameter is named 'E'.
+#define oln_virtual_typedef(Typedef) \
+ typedef stc_check_direct_type_of(oln, void, E, Typedef) Typedef
+
+
#endif // ! OLN_CORE_MACROS_HH
Index: oln/core/abstract/image.hh
===================================================================
--- oln/core/abstract/image.hh (revision 610)
+++ oln/core/abstract/image.hh (working copy)
@@ -63,22 +63,22 @@
struct decl
{
-// stc_virtual_typedef(topo);
-// stc_virtual_typedef(grid);
+// oln_virtual_typedef(topo);
+// oln_virtual_typedef(grid);
-// stc_virtual_typedef(psite);
-// stc_virtual_typedef(point);
+// oln_virtual_typedef(psite);
+// oln_virtual_typedef(point);
-// // stc_virtual_typedef(piter);
-// // stc_virtual_typedef(fwd_piter);
-// // stc_virtual_typedef(bkd_piter);
+// // oln_virtual_typedef(piter);
+// // oln_virtual_typedef(fwd_piter);
+// // oln_virtual_typedef(bkd_piter);
-// stc_virtual_typedef(value);
-// stc_virtual_typedef(rvalue);
+// oln_virtual_typedef(value);
+// oln_virtual_typedef(rvalue);
-// stc_virtual_typedef(concrete);
+// oln_virtual_typedef(concrete);
-// stc_virtual_typedef(morpher);
+// oln_virtual_typedef(morpher);
decl();
};
Index: oln/core/abstract/image/mutability/hierarchy.hh
===================================================================
--- oln/core/abstract/image/mutability/hierarchy.hh (revision 610)
+++ oln/core/abstract/image/mutability/hierarchy.hh (working copy)
@@ -58,7 +58,7 @@
struct decl
{
- stc_virtual_typedef(lvalue);
+ oln_virtual_typedef(lvalue);
};
/*! \brief Gives writable access to the value stored at \a p in
Index: oln/core/abstract/image/neighborhood/hierarchy.hh
===================================================================
--- oln/core/abstract/image/neighborhood/hierarchy.hh (revision 610)
+++ oln/core/abstract/image/neighborhood/hierarchy.hh (working copy)
@@ -65,9 +65,9 @@
public:
struct decl {
- // stc_virtual_typedef(niter);
- stc_virtual_typedef(fwd_niter);
- stc_virtual_typedef(bkd_niter);
+ // oln_virtual_typedef(niter);
+ oln_virtual_typedef(fwd_niter);
+ oln_virtual_typedef(bkd_niter);
};
const neighborhood_t& neighborhood() const;
Index: oln/core/abstract/image/bbox/hierarchy.hh
===================================================================
--- oln/core/abstract/image/bbox/hierarchy.hh (revision 610)
+++ oln/core/abstract/image/bbox/hierarchy.hh (working copy)
@@ -57,7 +57,7 @@
struct decl
{
- stc_virtual_typedef(bbox);
+ oln_virtual_typedef(bbox);
decl();
};
Index: oln/core/abstract/point_set.hh
===================================================================
--- oln/core/abstract/point_set.hh (revision 610)
+++ oln/core/abstract/point_set.hh (working copy)
@@ -49,21 +49,21 @@
struct decl
{
- stc_virtual_typedef(point);
+ oln_virtual_typedef(point);
- stc_virtual_typedef(piter);
- stc_virtual_typedef(fwd_piter);
- stc_virtual_typedef(bkd_piter);
+ oln_virtual_typedef(piter);
+ oln_virtual_typedef(fwd_piter);
+ oln_virtual_typedef(bkd_piter);
- stc_virtual_typedef(bbox); // provides .bbox()
- stc_virtual_typedef(is_random_accessible); // provides .has(p)
- stc_virtual_typedef(has_known_size); // provides .npoints()
- stc_virtual_typedef(is_connected); // provides, e.g., .nrows()
+ oln_virtual_typedef(bbox); // provides .bbox()
+ oln_virtual_typedef(is_random_accessible); // provides .has(p)
+ oln_virtual_typedef(has_known_size); // provides .npoints()
+ oln_virtual_typedef(is_connected); // provides, e.g., .nrows()
// derived from point:
- stc_virtual_typedef(coord);
- stc_virtual_typedef(grid);
- stc_virtual_typedef(dim);
+ oln_virtual_typedef(coord);
+ oln_virtual_typedef(grid);
+ oln_virtual_typedef(dim);
decl();
};
Index: oln/core/abstract/neighborhood.hh
===================================================================
--- oln/core/abstract/neighborhood.hh (revision 610)
+++ oln/core/abstract/neighborhood.hh (working copy)
@@ -49,7 +49,7 @@
struct decl
{
- stc_virtual_typedef(grid);
+ oln_virtual_typedef(grid);
decl();
};
Index: oln/core/abstract/topology.hh
===================================================================
--- oln/core/abstract/topology.hh (revision 610)
+++ oln/core/abstract/topology.hh (working copy)
@@ -48,16 +48,16 @@
struct decl
{
- stc_virtual_typedef(bbox);
+ oln_virtual_typedef(bbox);
// for being bboxed; provides .bbox()
- stc_virtual_typedef(is_random_accessible);
+ oln_virtual_typedef(is_random_accessible);
// provides .has(p) and .has_large(p)
- stc_virtual_typedef(point);
- stc_virtual_typedef(neighborhood);
+ oln_virtual_typedef(point);
+ oln_virtual_typedef(neighborhood);
- stc_virtual_typedef(morpher);
+ oln_virtual_typedef(morpher);
decl();
};