
https://svn.lrde.epita.fr/svn/oln/trunk/milena Index: ChangeLog from Roland Levillain <roland@lrde.epita.fr> Miscellaneous corrections in documentation and aesthetics changes. * mln/core/macros.hh: Use Doxygen delimiters to document pairs of macros. * mln/value/stack.hh: Wrap long lines. Fix Doxygen comments. * mln/border/get.hh: Fix header inclusions. Fix Doxygen comments. * tests/stack.cc: Don't include unnecessary files. mln/border/get.hh | 9 +-- mln/core/concept/README | 2 mln/core/macros.hh | 142 ++++++++++++++++++++++++++++++++++-------------- mln/core/neighb2d.hh | 2 mln/value/stack.hh | 13 +++- tests/stack.cc | 4 - 6 files changed, 119 insertions(+), 53 deletions(-) Index: mln/core/macros.hh --- mln/core/macros.hh (revision 1689) +++ mln/core/macros.hh (working copy) @@ -36,186 +36,246 @@ // a -/// Shortcut to access the argument type associated to T. +/// Shortcuts to access the argument type associated to T. +/// \{ # define mln_argument(T) typename T::argument # define mln_argument_(T) T::argument +/// \} // b -/// Shortcut to access the bkd_niter type associated to T. +/// Shortcuts to access the bkd_niter type associated to T. +/// \{ # define mln_bkd_niter(T) typename T::bkd_niter # define mln_bkd_niter_(T) T::bkd_niter +/// \} -/// Shortcut to access the bkd_piter type associated to T. +/// Shortcuts to access the bkd_piter type associated to T. +/// \{ # define mln_bkd_piter(T) typename T::bkd_piter # define mln_bkd_piter_(T) T::bkd_piter +/// \} -/// Shortcut to access the bkd_qiter type associated to T. +/// Shortcuts to access the bkd_qiter type associated to T. +/// \{ # define mln_bkd_qiter(T) typename T::bkd_qiter # define mln_bkd_qiter_(T) T::bkd_qiter +/// \} -/// Shortcut to access the bkd_viter type associated to T. +/// Shortcuts to access the bkd_viter type associated to T. +/// \{ # define mln_bkd_viter(T) typename T::bkd_viter # define mln_bkd_viter_(T) T::bkd_viter +/// \} -/// Shortcut to access the box type associated to T. +/// Shortcuts to access the box type associated to T. +/// \{ # define mln_box(T) typename T::box # define mln_box_(T) T::box +/// \} // c -/// Shortcut to access the coord type associated to T. +/// Shortcuts to access the coord type associated to T. +/// \{ # define mln_coord(T) typename T::coord # define mln_coord_(T) T::coord +/// \} // d -/// Shortcut to access the dpoint type associated to T. +/// Shortcuts to access the dpoint type associated to T. +/// \{ # define mln_dpoint(T) typename T::dpoint # define mln_dpoint_(T) T::dpoint +/// \} // e -/// Shortcut to access the encoding type associated to T. +/// Shortcuts to access the encoding type associated to T. +/// \{ # define mln_enc(T) typename T::enc # define mln_enc_(T) T::enc +/// \} -/// Shortcut to access the equivalent type associated to T. +/// Shortcuts to access the equivalent type associated to T. +/// \{ # define mln_equiv(T) typename T::equiv # define mln_equiv_(T) T::equiv +/// \} // f -/// Shortcut to access the fwd_niter type associated to T. +/// Shortcuts to access the fwd_niter type associated to T. +/// \{ # define mln_fwd_niter(T) typename T::fwd_niter # define mln_fwd_niter_(T) T::fwd_niter +/// \} -/// Shortcut to access the fwd_piter type associated to T. +/// Shortcuts to access the fwd_piter type associated to T. +/// \{ # define mln_fwd_piter(T) typename T::fwd_piter # define mln_fwd_piter_(T) T::fwd_piter +/// \} -/// Shortcut to access the fwd_qiter type associated to T. +/// Shortcuts to access the fwd_qiter type associated to T. +/// \{ # define mln_fwd_qiter(T) typename T::fwd_qiter # define mln_fwd_qiter_(T) T::fwd_qiter +/// \} -/// Shortcut to access the fwd_viter type associated to T. +/// Shortcuts to access the fwd_viter type associated to T. +/// \{ # define mln_fwd_viter(T) typename T::fwd_viter # define mln_fwd_viter_(T) T::fwd_viter +/// \} // i -/// Shortcut to access the image type associated to T. +/// Shortcuts to access the image type associated to T. +/// \{ # define mln_image(T) typename T::image # define mln_image_(T) T::image +/// \} -/// Shortcut to access the invert type associated to T. +/// Shortcuts to access the invert type associated to T. +/// \{ # define mln_invert(T) typename T::invert # define mln_invert_(T) T::invert +/// \} // l - -/// Shortcut to access the lvalue type associated to T. +/// Shortcuts to access the lvalue type associated to T. +/// \{ # define mln_lvalue(T) typename T::lvalue # define mln_lvalue_(T) T::lvalue +/// \} // m -/// Shortcut to access the mesh type associated to T. +/// Shortcuts to access the mesh type associated to T. +/// \{ # define mln_mesh(T) typename T::mesh # define mln_mesh_(T) T::mesh - - -// n - -/// Shortcut to access the neighborhood type associated to T. -# define mln_neighb(T) typename T::neighb -# define mln_neighb_(T) T::neighb +/// \} // p -/// Shortcut to access the type of point iterator (piter) associated to T. +/// Shortcuts to access the type of point iterator (piter) associated to T. +/// \{ # define mln_piter(T) typename T::fwd_piter # define mln_piter_(T) T::fwd_piter +/// \} -/// Shortcut to access the type of point by line iterator (line_piter) associated to T. +/// Shortcuts to access the type of point by line iterator +/// (line_piter) associated to T. +/// \{ # define mln_line_piter(T) typename T::line_piter # define mln_line_piter_(T) T::line_piter +/// \} -/// Shortcut to access the type of point set (pset) associated to T. +/// Shortcuts to access the type of point set (pset) associated to T. +/// \{ # define mln_pset(T) typename T::pset # define mln_pset_(T) T::pset +/// \} -/// Shortcut to access the type of point site (psite) associated to T. +/// Shortcuts to access the type of point site (psite) associated to T. +/// \{ # define mln_psite(T) typename T::psite # define mln_psite_(T) T::psite +/// \} -/// Shortcut to access the point type associated to T. +/// Shortcuts to access the point type associated to T. +/// \{ # define mln_point(T) typename T::point # define mln_point_(T) T::point +/// \} // q -/// Shortcut to access the qualified (const or mutable) value type associated to T. +/// Shortcuts to access the qualified (const or mutable) value type +/// associated to T. +/// \{ # define mln_qlf_value(T) typename mln::trait::qlf_value< T >::ret # define mln_qlf_value_(T) mln::trait::qlf_value< T >::ret +/// \} -/// Shortcut to access the qiter type associated to T. +/// Shortcuts to access the qiter type associated to T. +/// \{ # define mln_qiter(T) typename T::fwd_qiter # define mln_qiter_(T) T::fwd_qiter +/// \} // n -/// Shortcut to access the niter type associated to T. +/// Shortcuts to access the niter type associated to T. +/// \{ # define mln_niter(T) typename T::fwd_niter # define mln_niter_(T) T::fwd_niter +/// \} // r -/// Shortcut to access the result type associated to T. +/// Shortcuts to access the result type associated to T. +/// \{ # define mln_result(T) typename T::result # define mln_result_(T) T::result +/// \} -/// Shortcut to access the rvalue type associated to T. +/// Shortcuts to access the rvalue type associated to T. +/// \{ # define mln_rvalue(T) typename T::rvalue # define mln_rvalue_(T) T::rvalue +/// \} // v -/// Shortcut to access the value type associated to T. +/// Shortcuts to access the value type associated to T. +/// \{ # define mln_value(T) typename T::value # define mln_value_(T) T::value +/// \} -/// Shortcut to access the type of value set (vset) associated to T. +/// Shortcuts to access the type of value set (vset) associated to T. +/// \{ # define mln_vset(T) typename T::vset # define mln_vset_(T) T::vset +/// \} -/// Shortcut to access the viter type associated to T. +/// Shortcuts to access the viter type associated to T. +/// \{ # define mln_viter(T) typename T::fwd_viter # define mln_viter_(T) T::fwd_viter +/// \} // w -/// Shortcut to access the weight type associated to T. +/// Shortcuts to access the weight type associated to T. +/// \{ # define mln_weight(T) typename T::weight # define mln_weight_(T) T::weight +/// \} -/// Shortcut to access the window type associated to T. +/// Shortcuts to access the window type associated to T. +/// \{ # define mln_window(T) typename T::window # define mln_window_(T) T::window +/// \} Index: mln/value/stack.hh --- mln/value/stack.hh (revision 1689) +++ mln/value/stack.hh (working copy) @@ -131,8 +131,10 @@ namespace value { - /*! \brief stack image class. stack_image stores a - * vector of n images of the same domain. + /*! \brief Stack image class. + * + * mln::value::stack_image stores a vector of n images of the same + * domain. * * The parameter \c n is the number of images, \c I is the type of * a stack element. Acces a value will compute a vector which @@ -143,7 +145,8 @@ * stack[n](p)] */ template <unsigned n, typename I> - struct stack_image : public mln::internal::image_value_morpher_< I, stack_image<n,I> > + struct stack_image + : public mln::internal::image_value_morpher_< I, stack_image<n,I> > { /// Point_Site associated type. typedef mln_psite(I) psite; @@ -168,9 +171,11 @@ typedef stack_image< n, tag::image_<I> > skeleton; - /// Constructor. + /// Constructors. + /// \{ stack_image(const metal::vec<n,I>& imas); stack_image(); + /// \} /// Test if this image has been initialized. Index: mln/border/get.hh --- mln/border/get.hh (revision 1689) +++ mln/border/get.hh (working copy) @@ -1,4 +1,4 @@ -// Copyright (C) 2007 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -33,7 +33,7 @@ * \brief Define function that returns the real border thickness of image. */ -# include <mln/border/find.hh> +# include <mln/trait/images.hh> namespace mln @@ -42,13 +42,12 @@ namespace border { - /*! Get the virtual (outer) border thickness of image \p ima. + /*! Get the virtual (outer) border thickness of image \a ima. * * \param[in] ima The image. * \result The border thickness (0 if there is no border). * - * \pre \p ima has to be initialized. - * + * \pre \a ima has to be initialized. */ template <typename I> unsigned get(const Image<I>& ima); Index: tests/stack.cc --- tests/stack.cc (revision 1689) +++ tests/stack.cc (working copy) @@ -1,4 +1,4 @@ -// Copyright (C) 2007 EPITA Research and Development Laboratory +// Copyright (C) 2007, 2008 EPITA Research and Development Laboratory (LRDE) // // This file is part of the Olena Library. This library is free // software; you can redistribute it and/or modify it under the terms @@ -32,8 +32,6 @@ #include <mln/core/image2d.hh> #include <mln/value/stack.hh> -#include <mln/debug/iota.hh> -#include <mln/debug/println.hh> int main() Index: mln/core/neighb2d.hh --- mln/core/neighb2d.hh (revision 1689) +++ mln/core/neighb2d.hh (working copy) @@ -98,6 +98,8 @@ inline const neighb2d& c4() { + // FIXME: `flower' is probably not a canonical name to state + // whether the neighborhood is initialized or not. :) static bool flower = true; static neighb2d it; if (flower) Index: mln/core/concept/README --- mln/core/concept/README (revision 1689) +++ mln/core/concept/README (working copy) @@ -5,6 +5,8 @@ concept files themselves, but we'd like a kind of centralized summary too. An index would be nice. +See what Doxygen's \page provides. + * Image Images are functions mapping point sites from a given domain (point site set) to a value.