olena: olena-2.0-585-g2c6bbd3 Introduce a new module for useful macros.

* doc/mln/core/macros.dox: New. * doc/mln/main.dox: New module. * mln/core/macros.hh: Add comments. --- milena/ChangeLog | 10 + milena/doc/mln/core/macros.dox | 79 +++ milena/doc/mln/main.dox | 7 + milena/mln/core/macros.hh | 1067 +++++++++++++++++++++++++++++++++++++++- 4 files changed, 1158 insertions(+), 5 deletions(-) create mode 100644 milena/doc/mln/core/macros.dox diff --git a/milena/ChangeLog b/milena/ChangeLog index f55e2e2..063eede 100644 --- a/milena/ChangeLog +++ b/milena/ChangeLog @@ -1,5 +1,15 @@ 2013-04-29 Guillaume Lazzara <z@lrde.epita.fr> + Introduce a new module for useful macros. + + * doc/mln/core/macros.dox: New. + + * doc/mln/main.dox: New module. + + * mln/core/macros.hh: Add comments. + +2013-04-29 Guillaume Lazzara <z@lrde.epita.fr> + Improve documentation in fun::p2b, fun::p2p, fun::p2v and fun::x2v. diff --git a/milena/doc/mln/core/macros.dox b/milena/doc/mln/core/macros.dox new file mode 100644 index 0000000..46504a0 --- /dev/null +++ b/milena/doc/mln/core/macros.dox @@ -0,0 +1,79 @@ +/*! \defgroup macrositerima Image Iterators + * + * \brief All the macros to extract Image iterator types. + * + * \ingroup mlnmacros + */ + +/*! \defgroup macrositerwin Window Iterators + * + * \brief All the macros to extract window iterator types. + * + * \ingroup mlnmacros + */ + +/*! \defgroup macrositernbh Neighborhood Iterators + * + * \brief All the macros to extract window iterator types. + * + * \ingroup mlnmacros + */ + +/*! \defgroup macrositerelt Element Iterators + * + * \brief All the macros to extract element iterator types. + * + * \ingroup mlnmacros + */ + +/*! \defgroup macrositerval Value Iterators + * + * \brief All the macros to extract value iterator types. + * + * \ingroup mlnmacros + */ + + + + +/*! \defgroup macrosima Image Specific types + * + * \brief All the macros to extract image specific types. + * + * \ingroup mlnmacros + */ + +/*! \defgroup macrosfun Function Specific types + * + * \brief All the macros to extract function specific types. + * + * \ingroup mlnmacros + */ + +/*! \defgroup macrosval Value Specific types + * + * \brief All the macros to extract value specific types. + * + * \ingroup mlnmacros + */ + +/*! \defgroup macrossite Site Specific types + * + * \brief All the macros to extract site specific types. + * + * \ingroup mlnmacros + */ + +/*! \defgroup macroswin Window Specific types + * + * \brief All the macros to extract window specific types. + * + * \ingroup mlnmacros + */ + +/*! \defgroup macrosnbh Neighborhood Specific types + * + * \brief All the macros to extract neighborhood specific types. + * + * \ingroup mlnmacros + */ diff --git a/milena/doc/mln/main.dox b/milena/doc/mln/main.dox index c413cac..52e600a 100644 --- a/milena/doc/mln/main.dox +++ b/milena/doc/mln/main.dox @@ -100,3 +100,10 @@ * * \ingroup modroutines */ + +/*! \defgroup mlnmacros Useful Macro Functions + * + * \brief All useful macro functions. + * + * \ingroup modroutines + */ diff --git a/milena/mln/core/macros.hh b/milena/mln/core/macros.hh index 6eecd1d..25bfcc1 100644 --- a/milena/mln/core/macros.hh +++ b/milena/mln/core/macros.hh @@ -1,4 +1,5 @@ -// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE) +// Copyright (C) 2007, 2008, 2009, 2013 EPITA Research and Development +// Laboratory (LRDE) // // This file is part of Olena. // @@ -31,12 +32,45 @@ /// Definition of the set of Milena macros. -# define mln_deduce(T, A1, A2) typename T::A1::A2 +/*! + \def mln_deduce(T, A1, A2) + \brief Shortcuts to access the type T::A1::A2. + To be used in templated functions only. + \ingroup mlnmacros +*/ +/*! + \def mln_deduce_(T, A1, A2) + \brief Shortcuts to access the type T::A1::A2. + + To be used in non-templated functions only. + \ingroup mlnmacros +*/ +/// Shortcuts to access the type T::A1::A2. +/// \{ +# define mln_deduce(T, A1, A2) typename T::A1::A2 +# define mln_deduce_(T, A1, A2) T::A1::A2 +/// \} // a -/// Shortcuts to access the argument type associated to T. +/*! + \def mln_argument(T) + \brief Shortcuts to access the argument type associated to T. + + To be used in templated functions only. + \ingroup macrosfun + \relates mln::Function +*/ +/*! + \def mln_argument_(T) + \brief Shortcuts to access the argument type associated to T. + + To be used in non-templated functions only. + \ingroup macrosfun + \relates mln::Function +*/ +/// \brief Shortcuts to access the argument type associated to T. /// \{ # define mln_argument(T) typename T::argument # define mln_argument_(T) T::argument @@ -45,37 +79,133 @@ // b -/// Shortcuts to access the element-backward-iterator type associated -/// to T. +/*! + \def mln_bkd_eiter(T) + \brief Shortcuts to access the element-backward-iterator type associated + to T. + + To be used in templated functions only. + \ingroup macrositerelt +*/ +/*! + \def mln_bkd_eiter_(T) + \brief Shortcuts to access the element-backward-iterator type associated + to T. + + To be used in non-templated functions only. + \ingroup macrositerelt +*/ +/// \brief Shortcuts to access the element-backward-iterator type +/// associated to T. /// \{ # define mln_bkd_eiter(T) typename T::bkd_eiter # define mln_bkd_eiter_(T) T::bkd_eiter /// \} +/*! + \def mln_bkd_niter(T) + \brief Shortcuts to access the bkd_niter type associated to T. + + To be used in templated functions only. + \ingroup macrositernbh + \relates mln::Neighborhood +*/ +/*! + \def mln_bkd_niter_(T) + \brief Shortcuts to access the bkd_niter type associated to T. + + To be used in non-templated functions only. + \ingroup macrositernbh + \relates mln::Neighborhood +*/ /// 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 /// \} +/*! + \def mln_bkd_piter(T) + \brief Shortcuts to access the bkd_piter type associated to T. + + To be used in templated functions only. + \ingroup macrositerima + \relates mln::Image +*/ +/*! + \def mln_bkd_piter_(T) + \brief Shortcuts to access the bkd_piter type associated to T. + + To be used in non-templated functions only. + \ingroup macrositerima + \relates mln::Image +*/ /// 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 /// \} +/*! + \def mln_bkd_qiter(T) + \brief Shortcuts to access the bkd_qiter type associated to T. + + To be used in templated functions only. + \ingroup macrositerwin + \relates mln::Window mln::Weighted_Window +*/ +/*! + \def mln_bkd_qiter_(T) + \brief Shortcuts to access the bkd_qiter type associated to T. + + To be used in non-templated functions only. + \ingroup macrositerwin + \relates mln::Window mln::Weighted_Window +*/ /// 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 /// \} +/*! + \def mln_bkd_viter(T) + \brief Shortcuts to access the bkd_viter type associated to T. + + To be used in templated functions only. + \ingroup macrositerval + \relates mln::Value +*/ +/*! + \def mln_bkd_viter_(T) + \brief Shortcuts to access the bkd_viter type associated to T. + + To be used in non-templated functions only. + \ingroup macrositerval + \relates mln::Value +*/ /// 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 /// \} +/*! + \def mln_box(T) + \brief Shortcuts to access the box type associated to T. + + To be used in templated functions only. + \ingroup macrosima + \relates mln::Image mln::Site_Set +*/ +/*! + \def mln_box_(T) + \brief Shortcuts to access the box type associated to T. + + To be used in non-templated functions only. + \ingroup macrosima + \relates mln::Image mln::Site_Set +*/ /// Shortcuts to access the box type associated to T. /// \{ # define mln_box(T) typename mln::box<mln_psite(T)> @@ -85,6 +215,22 @@ // c +/*! + \def mln_coord(T) + \brief Shortcuts to access the coord type associated to T. + + To be used in templated functions only. + \ingroup macrossite + \relates mln::GPoint +*/ +/*! + \def mln_coord_(T) + \brief Shortcuts to access the coord type associated to T. + + To be used in non-templated functions only. + \ingroup macrossite + \relates mln::GPoint +*/ /// Shortcuts to access the coord type associated to T. /// \{ # define mln_coord(T) typename T::coord @@ -94,18 +240,66 @@ // d +/*! + \def mln_delta(T) + \brief Shortcuts to access the delta type associated to T. + + To be used in templated functions only. + \ingroup macrossite + \relates mln::Image +*/ +/*! + \def mln_delta_(T) + \brief Shortcuts to access the delta type associated to T. + + To be used in non-templated functions only. + \ingroup macrossite + \relates mln::Image +*/ /// Shortcuts to access the delta type associated to T. /// \{ # define mln_delta(T) typename T::delta # define mln_delta_(T) T::delta /// \} +/*! + \def mln_dpoint(T) + \brief Shortcuts to access the dpoint type associated to T. + + To be used in templated functions only. + \ingroup macrosima + \relates mln::Image +*/ +/*! + \def mln_dpoint_(T) + \brief Shortcuts to access the dpoint type associated to T. + + To be used in non-templated functions only. + \ingroup macrosima + \relates mln::Image +*/ /// Shortcuts to access the dpoint type associated to T. /// \{ # define mln_dpoint(T) typename T::dpoint # define mln_dpoint_(T) T::dpoint /// \} +/*! + \def mln_dpsite(T) + \brief Shortcuts to access the dpsite type associated to T. + + To be used in templated functions only. + \ingroup macrosima + \relates mln::Image +*/ +/*! + \def mln_dpsite_(T) + \brief Shortcuts to access the dpsite type associated to T. + + To be used in non-templated functions only. + \ingroup macrosima + \relates mln::Image +*/ /// Shortcuts to access the dpsite type associated to T. /// \{ # define mln_dpsite(T) typename T::dpsite @@ -115,36 +309,126 @@ // e +/*! + \def mln_eiter(T) + \brief Shortcuts to access the element-iterator type associated to T. + + To be used in templated functions only. + \ingroup macrositerval +*/ +/*! + \def mln_eiter_(T) + \brief Shortcuts to access the element-iterator type associated to T. + + To be used in non-templated functions only. + \ingroup macrositerval +*/ /// Shortcuts to access the element-iterator type associated to T. /// \{ # define mln_eiter(T) typename T::eiter # define mln_eiter_(T) T::eiter /// \} +/*! + \def mln_graph(T) + \brief Shortcuts to access the graph type associated to T. + + To be used in templated functions only. + \ingroup mlnmacros +*/ +/*! + \def mln_graph_(T) + \brief Shortcuts to access the graph type associated to T. + + To be used in non-templated functions only. + \ingroup mlnmacros +*/ /// Shortcuts to access the graph type associated to T. /// \{ # define mln_graph(T) typename T::graph_t # define mln_graph_(T) T::graph_t /// \} +/*! + \def mln_element(T) + \brief Shortcuts to access the element type associated to T. + + To be used in templated functions only. + \ingroup mlnmacros + \relates mln::Image +*/ +/*! + \def mln_element_(T) + \brief Shortcuts to access the element type associated to T. + + To be used in non-templated functions only. + \ingroup mlnmacros + \relates mln::Image +*/ /// Shortcuts to access the element type associated to T. /// \{ # define mln_element(T) typename T::element # define mln_element_(T) T::element /// \} +/*! + \def mln_graph_element(T) + \brief Shortcuts to access the graph_element type associated to T. + + To be used in templated functions only. + \ingroup mlnmacros +*/ +/*! + \def mln_graph_element_(T) + \brief Shortcuts to access the graph_element type associated to T. + + To be used in non-templated functions only. + \ingroup mlnmacros +*/ /// Shortcuts to access the graph element type associated to T. /// \{ # define mln_graph_element(T) typename T::graph_element # define mln_graph_element_(T) T::graph_element /// \} +/*! + \def mln_enc(T) + \brief Shortcuts to access the encoding type associated to T. + + To be used in templated functions only. + \ingroup macrosval + \relates mln::Value +*/ +/*! + \def mln_enc_(T) + \brief Shortcuts to access the encoding type associated to T. + + To be used in non-templated functions only. + \ingroup macrosval + \relates mln::Value +*/ /// Shortcuts to access the encoding type associated to T. /// \{ # define mln_enc(T) typename T::enc # define mln_enc_(T) T::enc /// \} +/*! + \def mln_equiv(T) + \brief Shortcuts to access the equivalent type associated to T. + + To be used in templated functions only. + \ingroup macrosval + \relates mln::Value +*/ +/*! + \def mln_equiv_(T) + \brief Shortcuts to access the equivalent type associated to T. + + To be used in non-templated functions only. + \ingroup macrosval + \relates mln::Value +*/ /// Shortcuts to access the equivalent type associated to T. /// \{ # define mln_equiv(T) typename T::equiv @@ -154,6 +438,22 @@ // f +/*! + \def mln_fwd_eiter(T) + \brief Shortcuts to access the element-forward-iterator type + associated to T. + + To be used in templated functions only. + \ingroup macrositerelt +*/ +/*! + \def mln_fwd_eiter_(T) + \brief Shortcuts to access the element-forward-iterator type + associated to T. + + To be used in non-templated functions only. + \ingroup macrositerelt +*/ /// Shortcuts to access the element-forward-iterator type associated /// to T. /// \{ @@ -161,24 +461,88 @@ # define mln_fwd_eiter_(T) T::fwd_eiter /// \} +/*! + \def mln_fwd_niter(T) + \brief Shortcuts to access the fwd_niter type associated to T. + + To be used in templated functions only. + \ingroup macrositernbh + \relates mln::Neighborhood +*/ +/*! + \def mln_fwd_niter_(T) + \brief Shortcuts to access the fwd_niter type associated to T. + + To be used in non-templated functions only. + \ingroup macrositernbh + \relates mln::Neighborhood +*/ /// 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 /// \} +/*! + \def mln_fwd_piter(T) + \brief Shortcuts to access the fwd_piter type associated to T. + + To be used in templated functions only. + \ingroup macrositerima + \relates mln::Image +*/ +/*! + \def mln_fwd_piter_(T) + \brief Shortcuts to access the fwd_piter type associated to T. + + To be used in non-templated functions only. + \ingroup macrositerima + \relates mln::Image +*/ /// 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 /// \} +/*! + \def mln_fwd_qiter(T) + \brief Shortcuts to access the fwd_qiter type associated to T. + + To be used in templated functions only. + \ingroup macrositerwin + \relates mln::Window mln::Weighted_Window +*/ +/*! + \def mln_fwd_qiter_(T) + \brief Shortcuts to access the fwd_qiter type associated to T. + + To be used in non-templated functions only. + \ingroup macrositerwin + \relates mln::Window mln::Weighted_Window +*/ /// 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 /// \} +/*! + \def mln_fwd_viter(T) + \brief Shortcuts to access the fwd_viter type associated to T. + + To be used in templated functions only. + \ingroup macrositerval + \relates mln::Value +*/ +/*! + \def mln_fwd_viter_(T) + \brief Shortcuts to access the fwd_viter type associated to T. + + To be used in non-templated functions only. + \ingroup macrositerval + \relates mln::Value +*/ /// Shortcuts to access the fwd_viter type associated to T. /// \{ # define mln_fwd_viter(T) typename T::fwd_viter @@ -188,12 +552,44 @@ // g +/*! + \def mln_fwd_geom(T) + \brief Shortcuts to access the geometry type associated to T. + + To be used in templated functions only. + \ingroup mlnmacros + \relates mln::Image +*/ +/*! + \def mln_fwd_geom_(T) + \brief Shortcuts to access the geometry type associated to T. + + To be used in non-templated functions only. + \ingroup mlnmacros + \relates mln::Image +*/ /// Shortcuts to access the geometry type associated to T. /// \{ # define mln_geom(T) typename T::geom # define mln_geom_(T) T::geom /// \} +/*! + \def mln_fwd_grid(T) + \brief Shortcuts to access the grid type associated to T. + + To be used in templated functions only. + \ingroup mlnmacros + \relates mln::Image +*/ +/*! + \def mln_fwd_grid_(T) + \brief Shortcuts to access the grid type associated to T. + + To be used in non-templated functions only. + \ingroup mlnmacros + \relates mln::Image +*/ /// Shortcuts to access the grid type associated to T. /// \{ # define mln_grid(T) typename T::grid @@ -203,18 +599,68 @@ // i +/*! + \def mln_i_element(T) + \brief Shortcuts to access the insertion-element type associated to + T. + + To be used in templated functions only. + \ingroup mlnmacros +*/ +/*! + \def mln_i_element_(T) + \brief Shortcuts to access the insertion-element type associated to + T. + + To be used in non-templated functions only. + \ingroup mlnmacros +*/ /// Shortcuts to access the insertion-element type associated to T. /// \{ # define mln_i_element(T) typename T::i_element # define mln_i_element_(T) T::i_element /// \} +/*! + \def mln_image(T) + \brief Shortcuts to access the image type associated to + T. + + To be used in templated functions only. + \ingroup mlnmacros +*/ +/*! + \def mln_image_(T) + \brief Shortcuts to access the image type associated to + T. + + To be used in non-templated functions only. + \ingroup mlnmacros +*/ /// Shortcuts to access the image type associated to T. /// \{ # define mln_image(T) typename T::image # define mln_image_(T) T::image /// \} +/*! + \def mln_invert(T) + \brief Shortcuts to access the invert type associated to + T. + + To be used in templated functions only. + \ingroup macrosval + \relates mln::Value +*/ +/*! + \def mln_invert_(T) + \brief Shortcuts to access the invert type associated to + T. + + To be used in non-templated functions only. + \ingroup macrosval + \relates mln::Value +*/ /// Shortcuts to access the invert type associated to T. /// \{ # define mln_invert(T) typename T::invert @@ -224,6 +670,24 @@ // l +/*! + \def mln_lvalue(T) + \brief Shortcuts to access the lvalue type associated to + T. + + To be used in templated functions only. + \ingroup macrosfun + \relates mln::Function +*/ +/*! + \def mln_lvalue_(T) + \brief Shortcuts to access the lvalue type associated to + T. + + To be used in non-templated functions only. + \ingroup macrosfun + \relates mln::Function +*/ /// Shortcuts to access the lvalue type associated to T. /// \{ # define mln_lvalue(T) typename T::lvalue @@ -233,6 +697,22 @@ // m +/*! + \def mln_mesh(T) + \brief Shortcuts to access the mesh type associated to + T. + + To be used in templated functions only. + \ingroup mlnmacros +*/ +/*! + \def mln_mesh_(T) + \brief Shortcuts to access the mesh type associated to + T. + + To be used in non-templated functions only. + \ingroup mlnmacros +*/ /// Shortcuts to access the mesh type associated to T. /// \{ # define mln_mesh(T) typename T::mesh @@ -242,12 +722,48 @@ // p +/*! + \def mln_piter(T) + \brief Shortcuts to access the type of point iterator (piter) + associated to T. + + To be used in templated functions only. + \ingroup macrositerima + \relates mln::Image +*/ +/*! + \def mln_piter_(T) + \brief Shortcuts to access the type of point iterator (piter) + associated to T. + + To be used in non-templated functions only. + \ingroup macrositerima + \relates mln::Image +*/ /// Shortcuts to access the type of point iterator (piter) associated to T. /// \{ # define mln_piter(T) typename T::piter # define mln_piter_(T) T::piter /// \} +/*! + \def mln_line_piter(T) + \brief Shortcuts to access the type of point by line iterator + (line_piter) associated to T. + + To be used in templated functions only. + \ingroup macrositerima + \relates mln::Image +*/ +/*! + \def mln_line_piter_(T) + \brief Shortcuts to access the type of point by line iterator + (line_piter) associated to T. + + To be used in non-templated functions only. + \ingroup macrositerima + \relates mln::Image +*/ /// Shortcuts to access the type of point by line iterator /// (line_piter) associated to T. /// \{ @@ -255,24 +771,92 @@ # define mln_line_piter_(T) T::line_piter /// \} +/*! + \def mln_domain(T) + \brief Shortcuts to access the domain type associated to T. + + To be used in templated functions only. + \ingroup macrosima + \relates mln::Image +*/ +/*! + \def mln_domain_(T) + \brief Shortcuts to access the domain type associated to T. + + To be used in non-templated functions only. + \ingroup macrosima + \relates mln::Image +*/ /// Shortcuts to access the domain type associated to T. /// \{ # define mln_domain(T) typename T::domain_t # define mln_domain_(T) T::domain_t /// \} +/*! + \def mln_pset(T) + \brief Shortcuts to access the type of point set (pset) associated + to T. + + To be used in templated functions only. + \ingroup macrosima + \relates mln::Image +*/ +/*! + \def mln_pset_(T) + \brief Shortcuts to access the type of point set (pset) associated + to T. + + To be used in non-templated functions only. + \ingroup macrosima + \relates mln::Image +*/ /// 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 /// \} +/*! + \def mln_psite(T) + \brief Shortcuts to access the type of point site (psite) associated + to T. + + To be used in templated functions only. + \ingroup macrosima + \relates mln::Image +*/ +/*! + \def mln_psite_(T) + \brief Shortcuts to access the type of point site (psite) associated + to T. + + To be used in non-templated functions only. + \ingroup macrosima + \relates mln::Image +*/ /// 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 /// \} +/*! + \def mln_point(T) + \brief Shortcuts to access the point type associated to T. + + To be used in templated functions only. + \ingroup macrosima + \relates mln::Image +*/ +/*! + \def mln_point_(T) + \brief Shortcuts to access the point type associated to T. + + To be used in non-templated functions only. + \ingroup macrosima + \relates mln::Image +*/ /// Shortcuts to access the point type associated to T. /// \{ # define mln_point(T) typename T::point @@ -282,6 +866,24 @@ // q +/*! + \def mln_qlt_value(T) + \brief Shortcuts to access the qualified (const or mutable) value + type associated to T. + + To be used in templated functions only. + \ingroup macrosima + \relates mln::Image +*/ +/*! + \def mln_qlt_value_(T) + \brief Shortcuts to access the qualified (const or mutable) value + type associated to T. + + To be used in non-templated functions only. + \ingroup macrosima + \relates mln::Image +*/ /// Shortcuts to access the qualified (const or mutable) value type /// associated to T. /// \{ @@ -289,18 +891,68 @@ # define mln_qlf_value_(T) mln::trait::qlf_value< T >::ret /// \} +/*! + \def mln_qiter(T) + \brief Shortcuts to access the qiter type associated to T. + + To be used in templated functions only. + \ingroup macrositerwin + \relates mln::Window mln::Weighted_Window +*/ +/*! + \def mln_qiter_(T) + \brief Shortcuts to access the qiter type associated to T. + + To be used in non-templated functions only. + \ingroup macrositerwin + \relates mln::Window mln::Weighted_Window +*/ /// Shortcuts to access the qiter type associated to T. /// \{ # define mln_qiter(T) typename T::fwd_qiter # define mln_qiter_(T) T::fwd_qiter /// \} +/*! + \def mln_q_result(T) + \brief Shortcuts to access the qualified-result type associated to + T. + + To be used in templated functions only. + \ingroup macrosfun + \relates mln::Function +*/ +/*! + \def mln_q_result_(T) + \brief Shortcuts to access the qualified-result type associated to + T. + + To be used in non-templated functions only. + \ingroup macrosfun + \relates mln::Function +*/ /// Shortcuts to access the qualified-result type associated to T. /// \{ # define mln_q_result(T) typename T::q_result # define mln_q_result_(T) T::q_result /// \} +/*! + \def mln_q_subject(T) + \brief Shortcuts to access the qualified-subject type associated to + T. + + To be used in templated functions only. + \ingroup mlnmacros +*/ +/*! + \def mln_q_subject_(T) + \brief Shortcuts to access the qualified-subject type associated to + T. + + To be used in non-templated functions only. + \ingroup mlnmacros +*/ /// Shortcuts to access the qualified-subject type associated to T. /// \{ # define mln_q_subject(T) typename T::q_subject @@ -310,6 +962,22 @@ // n +/*! + \def mln_niter(T) + \brief Shortcuts to access the niter type associated to T. + + To be used in templated functions only. + \ingroup macrositernbh + \relates mln::Neighborhood +*/ +/*! + \def mln_niter_(T) + \brief Shortcuts to access the niter type associated to T. + + To be used in non-templated functions only. + \ingroup macrositernbh + \relates mln::Neighborhood +*/ /// Shortcuts to access the niter type associated to T. /// \{ # define mln_niter(T) typename T::fwd_niter @@ -319,24 +987,84 @@ // r +/*! + \def mln_r_element(T) + \brief Shortcuts to access the removal-element type associated to T. + + To be used in templated functions only. + \ingroup mlnmacros +*/ +/*! + \def mln_r_element_(T) + \brief Shortcuts to access the removal-element type associated to T. + + To be used in non-templated functions only. + \ingroup mlnmacros +*/ /// Shortcuts to access the removal-element type associated to T. /// \{ # define mln_r_element(T) typename T::r_element # define mln_r_element_(T) T::r_element /// \} +/*! + \def mln_regular(T) + \brief Shortcuts to access the regular type associated to T. + + To be used in templated functions only. + \ingroup mlnmacros +*/ +/*! + \def mln_regular_(T) + \brief Shortcuts to access the regular type associated to T. + + To be used in non-templated functions only. + \ingroup mlnmacros +*/ /// Shortcuts to access the regular type associated to T. /// \{ # define mln_regular(T) typename T::regular # define mln_regular_(T) T::regular /// \} +/*! + \def mln_result(T) + \brief Shortcuts to access the result type associated to T. + + To be used in templated functions only. + \ingroup macrosfun + \relates mln::Function +*/ +/*! + \def mln_result_(T) + \brief Shortcuts to access the result type associated to T. + + To be used in non-templated functions only. + \ingroup macrosfun + \relates mln::Function +*/ /// Shortcuts to access the result type associated to T. /// \{ # define mln_result(T) typename T::result # define mln_result_(T) T::result /// \} +/*! + \def mln_value(T) + \brief Shortcuts to access the value type associated to T. + + To be used in templated functions only. + \ingroup macrosfun + \relates mln::Function +*/ +/*! + \def mln_value_(T) + \brief Shortcuts to access the value type associated to T. + + To be used in non-templated functions only. + \ingroup macrosfun + \relates mln::Function +*/ /// Shortcuts to access the rvalue type associated to T. /// \{ # define mln_rvalue(T) typename T::rvalue @@ -346,6 +1074,22 @@ // s +/*! + \def mln_site(T) + \brief Shortcuts to access the site type associated to T. + + To be used in templated functions only. + \ingroup macrosima + \relates mln::Image +*/ +/*! + \def mln_site_(T) + \brief Shortcuts to access the site type associated to T. + + To be used in non-templated functions only. + \ingroup macrosima + \relates mln::Image +*/ /// Shortcuts to access the site type associated to T. /// \{ # define mln_site(T) typename T::site @@ -361,6 +1105,20 @@ // t +/*! + \def mln_target(T) + \brief Shortcuts to access the target type associated to T. + + To be used in templated functions only. + \ingroup mlnmacros +*/ +/*! + \def mln_target_(T) + \brief Shortcuts to access the target type associated to T. + + To be used in non-templated functions only. + \ingroup mlnmacros +*/ /// Shortcuts to access the target type associated to T. /// \{ # define mln_target(T) typename T::target @@ -371,6 +1129,22 @@ // u +/*! + \def mln_unmorph(T) + \brief Shortcuts to access the unmorph type associated to T. + + To be used in templated functions only. + \ingroup macrosima + \relates mln::Image +*/ +/*! + \def mln_unmorph_(T) + \brief Shortcuts to access the unmorph type associated to T. + + To be used in non-templated functions only. + \ingroup macrosima + \relates mln::Image +*/ /// Shortcuts to access the unmorph type associated to T. /// \{ # define mln_unmorph(T) typename T::unmorph @@ -381,24 +1155,90 @@ // v +/*! + \def mln_value(T) + \brief Shortcuts to access the value type associated to T. + + To be used in templated functions only. + \ingroup macrosima + \relates mln::Image +*/ +/*! + \def mln_value_(T) + \brief Shortcuts to access the value type associated to T. + + To be used in non-templated functions only. + \ingroup macrosima + \relates mln::Image +*/ /// Shortcuts to access the value type associated to T. /// \{ # define mln_value(T) typename T::value # define mln_value_(T) T::value /// \} +/*! + \def mln_vec(T) + \brief Shortcuts to access the algebra::vector (vec) type associated + to T. + + To be used in templated functions only. + \ingroup macrosval +*/ +/*! + \def mln_vec_(T) + \brief Shortcuts to access the algebra::vector (vec) type associated + to T. + + To be used in non-templated functions only. + \ingroup macrosval +*/ /// Shortcuts to access the algebra::vector (vec) type associated to T. /// \{ # define mln_vec(T) typename T::vec # define mln_vec_(T) T::vec /// \} +/*! + \def mln_vset(T) + \brief Shortcuts to access the type of value set (vset) associated + to T. + + To be used in templated functions only. + \ingroup macrosval + \relates mln::Value +*/ +/*! + \def mln_vset_(T) + \brief Shortcuts to access the type of value set (vset) associated + to T. + + To be used in non-templated functions only. + \ingroup macrosval + \relates mln::Value +*/ /// Shortcuts to access the type of value set (vset) associated to T. /// \{ # define mln_vset(T) typename T::t_eligible_values_set # define mln_vset_(T) T::t_eligible_values_set /// \} +/*! + \def mln_viter(T) + \brief Shortcuts to access the viter type associated to T. + + To be used in templated functions only. + \ingroup macrositerval + \relates mln::Value +*/ +/*! + \def mln_viter_(T) + \brief Shortcuts to access the viter type associated to T. + + To be used in non-templated functions only. + \ingroup macrositerval + \relates mln::Value +*/ /// Shortcuts to access the viter type associated to T. /// \{ # define mln_viter(T) typename T::fwd_viter @@ -408,12 +1248,44 @@ // w +/*! + \def mln_weight(T) + \brief Shortcuts to access the weight type associated to T. + + To be used in templated functions only. + \ingroup macroswin + \relates mln::Weighted_Window +*/ +/*! + \def mln_weight_(T) + \brief Shortcuts to access the weight type associated to T. + + To be used in non-templated functions only. + \ingroup macroswin + \relates mln::Weighted_Window +*/ /// Shortcuts to access the weight type associated to T. /// \{ # define mln_weight(T) typename T::weight # define mln_weight_(T) T::weight /// \} +/*! + \def mln_window(T) + \brief Shortcuts to access the window type associated to T. + + To be used in templated functions only. + \ingroup macrosnbh + \relates mln::Neighborhood +*/ +/*! + \def mln_window_(T) + \brief Shortcuts to access the window type associated to T. + + To be used in non-templated functions only. + \ingroup macrosnbh + \relates mln::Neighborhood +*/ /// Shortcuts to access the window type associated to T. /// \{ # define mln_window(T) typename T::window @@ -425,32 +1297,217 @@ // FIXME: Just include trait/all.hh !!! +/*! + \def mln_fwd_pixter(T) + \brief Shortcuts to access the fwd_pixter type associated to T. + + Iterator on image sites, to be used with concrete images only. + + To be used in templated functions only. + \ingroup macrositerima + \relates mln::Image +*/ +/*! + \def mln_fwd_pixter_(T) + \brief Shortcuts to access the fwd_pixter type associated to T. + + Iterator on image sites, to be used with concrete images only. + + To be used in non-templated functions only. + \ingroup macrositerima + \relates mln::Image +*/ # define mln_fwd_pixter(I) typename mln::trait::fwd_pixter< I >::ret # define mln_fwd_pixter_(I) mln::trait::fwd_pixter< I >::ret +/*! + \def mln_bkd_pixter(T) + \brief Shortcuts to access the bkd_pixter type associated to T. + + Iterator on image sites, to be used with concrete images only. + + To be used in templated functions only. + \ingroup macrositerima + \relates mln::Image +*/ +/*! + \def mln_bkd_pixter_(T) + \brief Shortcuts to access the bkd_pixter type associated to T. + + Iterator on image sites, to be used with concrete images only. + + To be used in non-templated functions only. + \ingroup macrositerima + \relates mln::Image +*/ # define mln_bkd_pixter(I) typename mln::trait::bkd_pixter< I >::ret # define mln_bkd_pixter_(I) mln::trait::bkd_pixter< I >::ret +/*! + \def mln_pixter(T) + \brief Shortcuts to access the pixter type associated to T. + + Iterator on image sites, to be used with concrete images only. + + To be used in templated functions only. + \ingroup macrositerima + \relates mln::Image +*/ +/*! + \def mln_pixter_(T) + \brief Shortcuts to access the pixter type associated to T. + + Iterator on image sites, to be used with concrete images only. + + To be used in non-templated functions only. + \ingroup macrositerima + \relates mln::Image +*/ # define mln_pixter(I) mln_fwd_pixter(I) # define mln_pixter_(I) mln_fwd_pixter_(I) +/*! + \def mln_fwd_qixter(T) + \brief Shortcuts to access the fwd_qixter type associated to T. + + Iterator on window elements, to be used with concrete images only. + + To be used in templated functions only. + \ingroup macrositerwin + \relates mln::Window mln::Weighted_Window +*/ +/*! + \def mln_fwd_qixter_(T) + \brief Shortcuts to access the fwd_qixter type associated to T. + + Iterator on window elements, to be used with concrete images only. + To be used in non-templated functions only. + \ingroup macrositerwin + \relates mln::Window mln::Weighted_Window +*/ # define mln_fwd_qixter(I, W) typename mln::trait::fwd_qixter< I, W >::ret # define mln_fwd_qixter_(I, W) mln::trait::fwd_qixter< I, W >::ret +/*! + \def mln_bkd_qixter(T) + \brief Shortcuts to access the bkd_qixter type associated to T. + + Iterator on window elements, to be used with concrete images only. + + To be used in templated functions only. + \ingroup macrositerwin + \relates mln::Window mln::Weighted_Window +*/ +/*! + \def mln_bkd_qixter_(T) + \brief Shortcuts to access the bkd_qixter type associated to T. + + Iterator on window elements, to be used with concrete images only. + + To be used in non-templated functions only. + \ingroup macrositerwin + \relates mln::Window mln::Weighted_Window +*/ # define mln_bkd_qixter(I, W) typename mln::trait::bkd_qixter< I, W >::ret # define mln_bkd_qixter_(I, W) mln::trait::bkd_qixter< I, W >::ret + +/*! + \def mln_qixter(T) + \brief Shortcuts to access the qixter type associated to T. + + Iterator on window elements, to be used with concrete images only. + + To be used in templated functions only. + \ingroup macrositerwin + \relates mln::Window mln::Weighted_Window +*/ +/*! + \def mln_qixter_(T) + \brief Shortcuts to access the qixter type associated to T. + + Iterator on window elements, to be used with concrete images only. + + To be used in non-templated functions only. + \ingroup macrositerwin + \relates mln::Window mln::Weighted_Window +*/ # define mln_qixter(I, W) mln_fwd_qixter(I, W) # define mln_qixter_(I, W) mln_fwd_qixter_(I, W) +/*! + \def mln_fwd_nixter(T) + \brief Shortcuts to access the fwd_nixter type associated to T. + + Iterator on neighborhood elements, to be used with concrete images + only. + + To be used in templated functions only. + \ingroup macrositernbh + \relates mln::Neighborhood +*/ +/*! + \def mln_fwd_nixter_(T) + \brief Shortcuts to access the fwd_nixter type associated to T. + Iterator on neighborhood elements, to be used with concrete images + only. + + To be used in non-templated functions only. + \ingroup macrositernbh + \relates mln::Neighborhood +*/ # define mln_fwd_nixter(I, N) typename mln::trait::fwd_nixter< I, N >::ret # define mln_fwd_nixter_(I, N) mln::trait::fwd_nixter< I, N >::ret +/*! + \def mln_bkd_nixter(T) + \brief Shortcuts to access the bkd_nixter type associated to T. + + Iterator on neighborhood elements, to be used with concrete images + only. + + To be used in templated functions only. + \ingroup macrositernbh + \relates mln::Neighborhood +*/ +/*! + \def mln_bkd_nixter_(T) + \brief Shortcuts to access the bkd_nixter type associated to T. + + Iterator on neighborhood elements, to be used with concrete images + only. + + To be used in non-templated functions only. + \ingroup macrositernbh + \relates mln::Neighborhood +*/ # define mln_bkd_nixter(I, N) typename mln::trait::bkd_nixter< I, N >::ret # define mln_bkd_nixter_(I, N) mln::trait::bkd_nixter< I, N >::ret +/*! + \def mln_nixter(T) + \brief Shortcuts to access the nixter type associated to T. + + Iterator on neighborhood elements, to be used with concrete images + only. + + To be used in templated functions only. + \ingroup macrositernbh + \relates mln::Neighborhood +*/ +/*! + \def mln_nixter_(T) + \brief Shortcuts to access the nixter type associated to T. + + Iterator on neighborhood elements, to be used with concrete images + only. + + To be used in non-templated functions only. + \ingroup macrositernbh + \relates mln::Neighborhood +*/ # define mln_nixter(I, N) mln_fwd_nixter(I, N) # define mln_nixter_(I, N) mln_fwd_nixter_(I, N) -- 1.7.2.5
participants (1)
-
Guillaume Lazzara