https://svn.lrde.epita.fr/svn/oln/trunk/olena
Index: ChangeLog
from Roland Levillain <roland(a)lrde.epita.fr>
Move explicit instantiation of bbox_<point2d> to basics2d.hh.
* oln/core/2d/image2d.hh (oln::vtypes< image2d<T> >): Set
topo_type to topo2d.
* oln/core/2d/image2d.hh (bbox_<point2d>): Move explicit
instantiation...
* oln/basics2d.hh: ...here
basics2d.hh | 5 +++++
core/2d/image2d.hh | 15 +++++----------
2 files changed, 10 insertions(+), 10 deletions(-)
Index: oln/core/2d/image2d.hh
--- oln/core/2d/image2d.hh (revision 623)
+++ oln/core/2d/image2d.hh (working copy)
@@ -36,16 +36,14 @@
# include <oln/core/internal/tracked_ptr.hh>
// For topo2d.
# include <oln/core/2d/aliases.hh>
+// For fwd_piter and bkd_piter virtual types.
+// FIXME: Really necessary?
+# include <oln/core/fwd_piter.hh>
namespace oln
{
- // FIXME: Inexplicably, this explicit instantiation is required to
- // have topo_lbbox_<point2d> work. See if we can get rid of it.
- template class bbox_<point2d>;
-
-
// Forward declaration.
template <typename T> class image2d;
@@ -54,8 +52,7 @@
template <typename T>
struct vtypes< image2d<T> >
{
- // FIXME: or `typedef topo2d topo_type;' ?
- typedef topo_lbbox_<point2d> topo_type;
+ typedef topo2d topo_type;
typedef grid2d grid_type;
typedef point2d point_type;
@@ -95,7 +92,6 @@
const topo2d& impl_topo() const;
T impl_op_read(const point2d& p) const;
-
T& impl_op_readwrite(const point2d& p);
T* adr_at(int row, int col);
@@ -109,7 +105,6 @@
-
# ifndef OLN_INCLUDE_ONLY
template <typename T>
@@ -122,7 +117,6 @@
{
}
- /// Ctor using an existing topology.
template <typename T>
image2d<T>::image2d(const topo2d& topo)
: topo_(topo),
@@ -173,6 +167,7 @@
# endif
+
} // end of namespace oln
Index: oln/basics2d.hh
--- oln/basics2d.hh (revision 623)
+++ oln/basics2d.hh (working copy)
@@ -38,6 +38,11 @@
# include <oln/core/2d/dpoint2d.hh>
# include <oln/core/gen/bbox.hh>
+// FIXME: Inexplicably, this explicit instantiation is required to
+// have topo_lbbox_<point2d> work. See if we can get rid of it.
+namespace oln {
+ template class bbox_<point2d>;
+}
# include <oln/core/gen/topo_lbbox.hh>