* doc/mln/convert.dox,
* doc/mln/core/concept/concept.dox,
* mln/core/concept/accumulator.hh,
* mln/core/concept/box.hh,
* mln/core/concept/browsing.hh,
* mln/core/concept/delta_point_site.hh,
* mln/core/concept/dpoint.hh,
* mln/core/concept/function.hh,
* mln/core/concept/gdpoint.hh,
* mln/core/concept/generalized_pixel.hh,
* mln/core/concept/gpoint.hh,
* mln/core/concept/graph.hh,
* mln/core/concept/image.hh,
* mln/core/concept/iterator.hh,
* mln/core/concept/literal.hh,
* mln/core/concept/mesh.hh,
* mln/core/concept/meta_accumulator.hh,
* mln/core/concept/meta_function.hh,
* mln/core/concept/neighborhood.hh,
* mln/core/concept/object.hh,
* mln/core/concept/pixel_iterator.hh,
* mln/core/concept/point.hh,
* mln/core/concept/point_site.hh,
* mln/core/concept/proxy.hh,
* mln/core/concept/pseudo_site.hh,
* mln/core/concept/regular_grid.hh,
* mln/core/concept/site.hh,
* mln/core/concept/site_iterator.hh,
* mln/core/concept/site_proxy.hh,
* mln/core/concept/site_set.hh,
* mln/core/concept/value.hh,
* mln/core/concept/value_iterator.hh,
* mln/core/concept/value_set.hh,
* mln/core/concept/weighted_window.hh,
* mln/core/concept/window.hh: Here.
---
milena/ChangeLog | 40 +++++++++++++++++++
milena/doc/mln/convert.dox | 13 ++++++
milena/doc/mln/core/concept/concept.dox | 6 +++
milena/mln/core/concept/accumulator.hh | 55 ++++++++++++++++---------
milena/mln/core/concept/box.hh | 15 +++----
milena/mln/core/concept/browsing.hh | 14 ++++---
milena/mln/core/concept/delta_point_site.hh | 15 +++----
milena/mln/core/concept/dpoint.hh | 10 ++--
milena/mln/core/concept/function.hh | 33 ++++++++++-----
milena/mln/core/concept/gdpoint.hh | 23 +++++++----
milena/mln/core/concept/generalized_pixel.hh | 25 ++++++------
milena/mln/core/concept/gpoint.hh | 26 +++++++-----
milena/mln/core/concept/graph.hh | 17 +++++---
milena/mln/core/concept/image.hh | 24 +++++++----
milena/mln/core/concept/iterator.hh | 13 +++---
milena/mln/core/concept/literal.hh | 14 ++++---
milena/mln/core/concept/mesh.hh | 11 +++--
milena/mln/core/concept/meta_accumulator.hh | 16 ++++---
milena/mln/core/concept/meta_function.hh | 20 ++++++---
milena/mln/core/concept/neighborhood.hh | 27 +++++++------
milena/mln/core/concept/object.hh | 15 +++++--
milena/mln/core/concept/pixel_iterator.hh | 19 +++++----
milena/mln/core/concept/point.hh | 22 +++++++----
milena/mln/core/concept/point_site.hh | 53 +++++++++++++-----------
milena/mln/core/concept/proxy.hh | 19 ++++++---
milena/mln/core/concept/pseudo_site.hh | 21 +++++-----
milena/mln/core/concept/regular_grid.hh | 8 +++-
milena/mln/core/concept/site.hh | 13 +++---
milena/mln/core/concept/site_iterator.hh | 22 +++++-----
milena/mln/core/concept/site_proxy.hh | 23 ++++++-----
milena/mln/core/concept/site_set.hh | 21 +++++++---
milena/mln/core/concept/value.hh | 17 +++++---
milena/mln/core/concept/value_iterator.hh | 20 +++++-----
milena/mln/core/concept/value_set.hh | 19 +++++----
milena/mln/core/concept/weighted_window.hh | 21 +++++-----
milena/mln/core/concept/window.hh | 28 ++++++++++---
36 files changed, 467 insertions(+), 291 deletions(-)
create mode 100644 milena/doc/mln/convert.dox
create mode 100644 milena/doc/mln/core/concept/concept.dox
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 132f715..3aabd3b 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,45 @@
2013-04-04 Guillaume Lazzara <z(a)lrde.epita.fr>
+ Cleanup concept documentation.
+
+ * doc/mln/convert.dox,
+ * doc/mln/core/concept/concept.dox,
+ * mln/core/concept/accumulator.hh,
+ * mln/core/concept/box.hh,
+ * mln/core/concept/browsing.hh,
+ * mln/core/concept/delta_point_site.hh,
+ * mln/core/concept/dpoint.hh,
+ * mln/core/concept/function.hh,
+ * mln/core/concept/gdpoint.hh,
+ * mln/core/concept/generalized_pixel.hh,
+ * mln/core/concept/gpoint.hh,
+ * mln/core/concept/graph.hh,
+ * mln/core/concept/image.hh,
+ * mln/core/concept/iterator.hh,
+ * mln/core/concept/literal.hh,
+ * mln/core/concept/mesh.hh,
+ * mln/core/concept/meta_accumulator.hh,
+ * mln/core/concept/meta_function.hh,
+ * mln/core/concept/neighborhood.hh,
+ * mln/core/concept/object.hh,
+ * mln/core/concept/pixel_iterator.hh,
+ * mln/core/concept/point.hh,
+ * mln/core/concept/point_site.hh,
+ * mln/core/concept/proxy.hh,
+ * mln/core/concept/pseudo_site.hh,
+ * mln/core/concept/regular_grid.hh,
+ * mln/core/concept/site.hh,
+ * mln/core/concept/site_iterator.hh,
+ * mln/core/concept/site_proxy.hh,
+ * mln/core/concept/site_set.hh,
+ * mln/core/concept/value.hh,
+ * mln/core/concept/value_iterator.hh,
+ * mln/core/concept/value_set.hh,
+ * mln/core/concept/weighted_window.hh,
+ * mln/core/concept/window.hh: Here.
+
+2013-04-04 Guillaume Lazzara <z(a)lrde.epita.fr>
+
Document type aliases in Doxygen.
* doc/mln/core/alias/box1d.dox,
diff --git a/milena/doc/mln/convert.dox b/milena/doc/mln/convert.dox
new file mode 100644
index 0000000..fc4772d
--- /dev/null
+++ b/milena/doc/mln/convert.dox
@@ -0,0 +1,13 @@
+/*! \defgroup convert Convertion Routines
+ *
+ * \brief All conversion routines provided in Milena.
+ *
+ * \ingroup modroutines
+ */
+
+/*! \defgroup fromto Routines
+ *
+ * \brief All fromto overloads.
+ *
+ * \ingroup convert
+ */
diff --git a/milena/doc/mln/core/concept/concept.dox
b/milena/doc/mln/core/concept/concept.dox
new file mode 100644
index 0000000..31977b2
--- /dev/null
+++ b/milena/doc/mln/core/concept/concept.dox
@@ -0,0 +1,6 @@
+/*! \defgroup modconcepts Concepts
+ *
+ * \brief All the concepts in Milena.
+ *
+ * \ingroup modtypes
+ */
diff --git a/milena/mln/core/concept/accumulator.hh
b/milena/mln/core/concept/accumulator.hh
index 968ec3a..6300559 100644
--- a/milena/mln/core/concept/accumulator.hh
+++ b/milena/mln/core/concept/accumulator.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Copyright (C) 2007, 2008, 2009, 2011, 2012, 2013 EPITA Research and
// Development Laboratory (LRDE)
//
// This file is part of Olena.
@@ -40,22 +40,24 @@
namespace mln
{
- // Accumulator category flag type.
+ /// \cond INTERNAL_API
+ /// \brief Accumulator category flag type.
template <>
struct Accumulator<void>
{
typedef Proxy<void> super;
};
+ /// \endcond
- /// \brief Base class for implementation of accumulators.
- ///
- /// The parameter \a E is the exact type.
- ///
- /// \see mln::doc::Accumulator for a complete documentation of this
- /// class contents.
- ///
+ /*!
+ \brief Base class for implementation of accumulators.
+
+ The parameter \a E is the exact type.
+
+ \ingroup modconcepts
+ */
template <typename E>
struct Accumulator : public Proxy<E>
{
@@ -76,28 +78,38 @@ namespace mln
bool is_valid() const;
*/
- /// Take as initialization the value \p t.
- ///
- /// Dev note: this is a final method; override if needed
- /// by take_as_init_ (ending with '_').
+ /*! \brief Take as initialization the value \p t.
+
+ \internal
+ Dev note: this is a final method; override if needed
+ by take_as_init_ (ending with '_').
+ \endinternal
+ */
template <typename T>
void take_as_init(const T& t); // 't' is either argument or E.
- /// Default implementation of "take as initialization".
+ /// \cond INTERNAL_API
+ /// \brief Default implementation of "take as initialization".
template <typename T>
void take_as_init_(const T& t);
+ /// \endcond
+
+ /*! \brief Take \p n times the value \p t.
- /// Take \p n times the value \p t.
- ///
- /// Dev note: this is a final method; override if needed
- /// by take_as_init_ (ending with '_').
+ \internal
+ Dev note: this is a final method; override if needed
+ by take_as_init_ (ending with '_').
+ \endinternal
+ */
template <typename T>
void take_n_times(unsigned n, const T& t);
- /// Default implementation of "take n times".
+ /// \cond INTERNAL_API
+ /// \brief Default implementation of "take n times".
template <typename T>
void take_n_times_(unsigned n, const T& t);
+ /// \endcond
protected:
@@ -105,7 +117,10 @@ namespace mln
};
- /// \internal Conversion: Accumulator -> mln_result(A)
+ /*!
+ \brief Conversion: Accumulator -> mln_result(A)
+ \ingroup fromto
+ */
template <typename A>
void
from_to_(const Accumulator<A>& from, mln_result(A)& to);
diff --git a/milena/mln/core/concept/box.hh b/milena/mln/core/concept/box.hh
index 26fe1b9..dedaa6d 100644
--- a/milena/mln/core/concept/box.hh
+++ b/milena/mln/core/concept/box.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2013 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -38,12 +38,11 @@ namespace mln
{
/*! \brief Base class for implementation classes of boxes.
- *
- * Boxes are particular site sets useful to bound any set of
- * sites defined on a regular grid.
- *
- * \see mln::doc::Box for a complete documentation of this class
- * contents.
+
+ Boxes are particular site sets useful to bound any set of
+ sites defined on a regular grid.
+
+ \ingroup modconcepts
*/
template <typename E>
struct Box : public Site_Set<E>
diff --git a/milena/mln/core/concept/browsing.hh b/milena/mln/core/concept/browsing.hh
index 68e27cd..d7876cc 100644
--- a/milena/mln/core/concept/browsing.hh
+++ b/milena/mln/core/concept/browsing.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2013 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -39,18 +40,19 @@ namespace mln
// Fwd decl.
template <typename E> struct Browsing;
- // Browsing category flag type.
+ /// \cond INTERNAL_API
+ /// Browsing category flag type.
template <>
struct Browsing<void>
{
typedef Object<void> super;
};
+ /// \endcond
- /*! \brief Base class for implementation classes that are browsings.
- *
- * \see mln::doc::Browsing for a complete documentation of this
- * class contents.
+ /*!
+ \brief Base class for implementation classes that are browsings.
+ \ingroup modconcepts
*/
template <typename E>
struct Browsing : public Object<E>
diff --git a/milena/mln/core/concept/delta_point_site.hh
b/milena/mln/core/concept/delta_point_site.hh
index b7107a9..3f7c510 100644
--- a/milena/mln/core/concept/delta_point_site.hh
+++ b/milena/mln/core/concept/delta_point_site.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2009, 2012 EPITA Research and Development
+// Copyright (C) 2007, 2009, 2012, 2013 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -44,7 +44,7 @@ namespace mln
template <typename E> struct Delta_Point_Site;
-
+ /// \cond INTERNAL_API
namespace trait
{
@@ -63,23 +63,22 @@ namespace mln
};
} // end of namespace mln::trait
+ /// \endcond
-
- /*!
- \internal
- \brief Delta point site category flag type.
- */
+ /// \cond INTERNAL_API
+ /// \brief Delta point site category flag type.
template <>
struct Delta_Point_Site<void>
{
typedef Object<void> super;
};
+ /// \endcond
/*!
- \internal
\brief FIXME: Doc!
+ \ingroup modconcepts
*/
template <typename E>
struct Delta_Point_Site : public Object<E>
diff --git a/milena/mln/core/concept/dpoint.hh b/milena/mln/core/concept/dpoint.hh
index 7b2fa39..da0e2af 100644
--- a/milena/mln/core/concept/dpoint.hh
+++ b/milena/mln/core/concept/dpoint.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2009, 2012 EPITA Research and Development
+// Copyright (C) 2007, 2009, 2012, 2013 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -42,16 +42,17 @@ namespace mln
template <typename E> struct Dpoint;
- // Dpoint category flag type.
+ /// \cond INTERNAL_API
+ /// Dpoint category flag type.
template <>
struct Dpoint<void>
{
typedef Delta_Point_Site<void> super;
};
+ /// \endcond
/*!
- \internal
\brief Base class for implementation of delta-point classes.
A delta-point is a vector defined by a couple of points.
@@ -59,8 +60,7 @@ namespace mln
Given two points, A and B, the vector AB is mapped into the
delta-point D = AB. Practically one can write: D = B - A.
- \see mln::doc::Dpoint for a complete documentation of this class
- contents.
+ \ingroup modconcepts
*/
template <typename E>
struct Dpoint : public Delta_Point_Site<E>
diff --git a/milena/mln/core/concept/function.hh b/milena/mln/core/concept/function.hh
index 361c893..ecd9db0 100644
--- a/milena/mln/core/concept/function.hh
+++ b/milena/mln/core/concept/function.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Copyright (C) 2007, 2008, 2009, 2011, 2012, 2013 EPITA Research and
// Development Laboratory (LRDE)
//
// This file is part of Olena.
@@ -46,23 +46,24 @@ namespace mln
template <typename E> struct Function_vv2b;
- /*!
- \internal
- \brief Function category flag type.
- */
+
+ /// \cond INTERNAL_API
+ /// \brief Function category flag type.
template <>
struct Function<void>
{
typedef Object<void> super;
};
+ /// \endcond
- /// \brief Base class for implementation of function-objects.
- ///
- /// The parameter \a E is the exact type.
- ///
- /// \ingroup modfun
- //
+ /*!
+ \brief Base class for implementation of function-objects.
+
+ The parameter \a E is the exact type.
+
+ \ingroup modfun modconcepts
+ */
template <typename E>
struct Function : public Object<E>
{
@@ -87,8 +88,10 @@ namespace mln
| Nil -> Value. |
`---------------*/
+ /// \cond INTERNAL_API
template <>
struct Function_n2v<void> { typedef Function<void> super; };
+ /// \endcond
/// \brief Base class for implementation of function-objects from
@@ -112,8 +115,10 @@ namespace mln
| Value -> Value. |
`-----------------*/
+ /// \cond INTERNAL_API
template <>
struct Function_v2v<void> { typedef Function<void> super; };
+ /// \endcond
/// \brief Base class for implementation of function-objects from
@@ -138,8 +143,10 @@ namespace mln
| Value -> bool. |
`----------------*/
+ /// \cond INTERNAL_API
template <>
struct Function_v2b<void> { typedef Function_v2v<void> super; };
+ /// \endcond
/// \brief Base class for implementation of function-objects from a
@@ -165,8 +172,10 @@ namespace mln
| (Value, Value) -> Value. |
`--------------------------*/
+ /// \cond INTERNAL_API
template <>
struct Function_vv2v<void> { typedef Function<void> super; };
+ /// \endcond
/// \brief Base class for implementation of function-objects from a
@@ -190,8 +199,10 @@ namespace mln
| (Value, Value) -> Boolean.|
`--------------------------*/
+ /// \cond INTERNAL_API
template <>
struct Function_vv2b<void> { typedef Function<void> super; };
+ /// \endcond
/// \brief Base class for implementation of function-objects from a
diff --git a/milena/mln/core/concept/gdpoint.hh b/milena/mln/core/concept/gdpoint.hh
index b8ef9cf..74f0010 100644
--- a/milena/mln/core/concept/gdpoint.hh
+++ b/milena/mln/core/concept/gdpoint.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Copyright (C) 2007, 2008, 2009, 2011, 2012, 2013 EPITA Research and
// Development Laboratory (LRDE)
//
// This file is part of Olena.
@@ -45,7 +45,7 @@ namespace mln
template <typename E> struct Gdpoint;
-
+ /// \cond INTERNAL_API
namespace trait
{
@@ -80,21 +80,23 @@ namespace mln
};
} // end of namespace mln::trait
+ /// \endcond
-
- /*!
- \internal
- \brief Delta point site category flag type.
- */
+ /// \cond INTERNAL_API
+ /// \brief Delta point site category flag type.
template <>
struct Gdpoint<void>
{
typedef Object<void> super;
};
+ /// \endcond
- /// FIXME: Doc!
+ /*!
+ \brief Grid point concept.
+ \ingroup modconcepts
+ */
template <typename E>
struct Gdpoint : public Object<E>
{
@@ -137,7 +139,10 @@ namespace mln
operator*(const Gdpoint<D>& lhs, const value::Scalar<S>& rhs);
- /// \internal Conversion: gdpoint -> mln_site
+ /*!
+ \brief Conversion: gdpoint -> mln_site
+ \ingroup fromto
+ */
template <typename D>
void
from_to_(const Gdpoint<D>& from, mln_site(D)& to);
diff --git a/milena/mln/core/concept/generalized_pixel.hh
b/milena/mln/core/concept/generalized_pixel.hh
index ff9faf0..9941eb6 100644
--- a/milena/mln/core/concept/generalized_pixel.hh
+++ b/milena/mln/core/concept/generalized_pixel.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2013 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -39,17 +39,16 @@
namespace mln
{
- /// Base class for implementation classes that are pixels or that
- /// have the behavior of pixels.
- ///
- /// \warning This class does \em not derive from mln::Object; it is
- /// for use as a parallel hierarchy.
- ///
- /// \see mln::doc::Generalized_Pixel for a complete documentation of this
- /// class contents.
- ///
- /// \todo (later) Add an access to the targetted image.
- ///
+ /*! \brief Base class for implementation classes that are pixels or that
+ have the behavior of pixels.
+
+ \warning This class does \em not derive from mln::Object; it is
+ for use as a parallel hierarchy.
+
+ \todo (later) Add an access to the targetted image.
+
+ \ingroup modconcepts
+ */
template <typename E>
struct Generalized_Pixel
{
diff --git a/milena/mln/core/concept/gpoint.hh b/milena/mln/core/concept/gpoint.hh
index d51b2f4..2c78226 100644
--- a/milena/mln/core/concept/gpoint.hh
+++ b/milena/mln/core/concept/gpoint.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Copyright (C) 2007, 2008, 2009, 2011, 2012, 2013 EPITA Research and
// Development Laboratory (LRDE)
//
// This file is part of Olena.
@@ -47,7 +47,7 @@ namespace mln
template <typename E> struct Gpoint;
-
+ /// \cond INTERNAL_API
namespace trait
{
@@ -95,23 +95,29 @@ namespace mln
};
} // end of namespace mln::trait
+ /// \endcond
-
- // Gpoint category flag type.
+ /// \cond INTERNAL_API
+ /// Gpoint category flag type.
template <>
struct Gpoint<void>
{
typedef Site<void> super;
};
+ /// \endcond
- /// Base class for implementation of point classes.
- ///
- /// A point is an element of a space.
- ///
- /// For instance, mln::point2d is the type of elements defined on the
- /// discrete square grid of the 2D plane.
+ /*!
+ \brief Base class for implementation of point classes.
+
+ A point is an element of a space.
+
+ For instance, mln::point2d is the type of elements defined on the
+ discrete square grid of the 2D plane.
+
+ \ingroup modconcepts
+ */
template <typename E>
struct Gpoint : public Site<E>
{
diff --git a/milena/mln/core/concept/graph.hh b/milena/mln/core/concept/graph.hh
index a266783..c3686b4 100644
--- a/milena/mln/core/concept/graph.hh
+++ b/milena/mln/core/concept/graph.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2013 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -41,18 +41,21 @@ namespace mln
// Forward declaration.
template <typename E> struct Graph;
- // Graph category flag type.
+ /// \cond INTERNAL_API
+ /// Graph category flag type.
template <>
struct Graph<void>
{
typedef Object<void> super;
};
+ /// \endcond
- /// Base class for implementation of graph classes.
- ///
- /// \see mln::doc::Graph for a complete documentation of this class
- /// contents.
- ///
+
+ /*!
+ \brief Base class for implementation of graph classes.
+
+ \ingroup modconcepts
+ */
template <typename E>
struct Graph : public Object<E>
{
diff --git a/milena/mln/core/concept/image.hh b/milena/mln/core/concept/image.hh
index a79cd37..f302425 100644
--- a/milena/mln/core/concept/image.hh
+++ b/milena/mln/core/concept/image.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Copyright (C) 2007, 2008, 2009, 2011, 2012, 2013 EPITA Research and
// Development Laboratory (LRDE)
//
// This file is part of Olena.
@@ -58,18 +58,20 @@ namespace mln
template <typename D, typename W> struct w_window;
- // Image category flag type.
+ /// \cond INTERNAL_API
+ /// Image category flag type.
template <>
struct Image<void>
{
typedef Object<void> super;
};
+ /// \endcond
- /// Base class for implementation of image classes.
- ///
- /// \see mln::doc::Image for a complete documentation of this class
- /// contents.
+ /*!
+ \brief Base class for implementation of image classes.
+ \ingroup modconcepts
+ */
template <typename E>
struct Image : public Object<E>
{
@@ -122,12 +124,18 @@ namespace mln
};
- /// \internal Conversion: image -> w_window
+ /*!
+ \brief Conversion: image -> w_window
+ \ingroup fromto
+ */
template <typename I, typename D, typename W>
void
from_to_(const Image<I>& from, w_window<D,W>& to);
- /// \internal Conversion: values[] -> image
+ /*!
+ \brief Conversion: values[] -> image
+ \ingroup fromto
+ */
template <typename V, unsigned S, typename I>
void
from_to_(const V (&values)[S], Image<I>& to);
diff --git a/milena/mln/core/concept/iterator.hh b/milena/mln/core/concept/iterator.hh
index 5d0b090..9de2034 100644
--- a/milena/mln/core/concept/iterator.hh
+++ b/milena/mln/core/concept/iterator.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2013 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -67,10 +67,9 @@
namespace mln
{
- /*! \brief Base class for implementation classes that are iterators.
- *
- * \see mln::doc::Iterator for a complete documentation of this
- * class contents.
+ /*!
+ \brief Base class for implementation classes that are iterators.
+ \ingroup modconcepts
*/
template <typename E>
struct Iterator : public Object<E>
@@ -89,7 +88,7 @@ namespace mln
* defined through the \em next_ method.
*
* \pre The iterator is valid.
- */
+ */
void next(); // final
protected:
diff --git a/milena/mln/core/concept/literal.hh b/milena/mln/core/concept/literal.hh
index d313997..8c56f58 100644
--- a/milena/mln/core/concept/literal.hh
+++ b/milena/mln/core/concept/literal.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2013 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -39,18 +40,19 @@ namespace mln
// Fwd decl.
template <typename E> struct Literal;
- // Literal category flag type.
+ /// \cond INTERNAL_API
+ /// Literal category flag type.
template <>
struct Literal<void>
{
typedef Object<void> super;
};
+ /// \endcond
- /*! \brief Base class for implementation classes of literals.
- *
- * \see mln::doc::Literal for a complete documentation of this class
- * contents.
+ /*!
+ \brief Base class for implementation classes of literals.
+ \ingroup modconcepts
*/
template <typename E>
struct Literal : public Object<E>
diff --git a/milena/mln/core/concept/mesh.hh b/milena/mln/core/concept/mesh.hh
index e5d1e62..1e1f2c6 100644
--- a/milena/mln/core/concept/mesh.hh
+++ b/milena/mln/core/concept/mesh.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2013 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -36,10 +37,10 @@
namespace mln
{
- /*! \brief Base class for implementation classes of meshes.
- *
- * \see mln::doc::Mesh for a complete documentation of this class
- * contents.
+ /*!
+ \brief Base class for implementation classes of meshes.
+
+ \ingroup modconcepts
*/
template <typename E>
struct Mesh : public Object<E>
diff --git a/milena/mln/core/concept/meta_accumulator.hh
b/milena/mln/core/concept/meta_accumulator.hh
index c86bde5..4edc228 100644
--- a/milena/mln/core/concept/meta_accumulator.hh
+++ b/milena/mln/core/concept/meta_accumulator.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012, 2013 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -59,11 +59,11 @@ namespace mln
template <typename E> struct Meta_Accumulator;
+ /// \cond INTERNAL_API
namespace internal
{
/*!
- \internal
\brief Make the type resolution easier for the compiler.
Introduced for ICC compatibility.
*/
@@ -75,7 +75,6 @@ namespace mln
/*!
- \internal
\brief Make the type resolution easier for the compiler.
Introduced for ICC compatibility.
*/
@@ -85,25 +84,28 @@ namespace mln
typedef typename A::template with< T >::ret ret;
};
-
} // end of namespace mln::internal
+ /// \endcond
- // Meta_Accumulator category flag type.
+ /// \cond INTERNAL_API
+ /// Meta_Accumulator category flag type.
template <>
struct Meta_Accumulator<void>
{
typedef Object<void> super;
};
+ /// \endcond
/*!
- \internal
\brief Base class for implementation of meta accumulators.
The parameter \a E is the exact type.
\see mln::doc::Meta_Accumulator for a complete documentation of
this class contents.
+
+ \ingroup modconcepts
*/
template <typename E>
struct Meta_Accumulator : public Object<E>
diff --git a/milena/mln/core/concept/meta_function.hh
b/milena/mln/core/concept/meta_function.hh
index e8f4137..0205fe5 100644
--- a/milena/mln/core/concept/meta_function.hh
+++ b/milena/mln/core/concept/meta_function.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.
//
@@ -59,20 +60,21 @@ namespace mln
template <typename E> struct Meta_Function_v2v;
template <typename E> struct Meta_Function_vv2v;
- // Meta_Function category flag type.
+ /// \cond INTERNAL_API
+ /// Meta_Function category flag type.
template <>
struct Meta_Function<void>
{
typedef Object<void> super;
};
+ /// \endcond
/*! \brief Base class for implementation of meta functions.
- *
- * The parameter \a E is the exact type.
- *
- * \see mln::doc::Meta_Function for a complete documentation of
- * this class contents.
+
+ The parameter \a E is the exact type.
+
+ \ingroup modconcepts
*/
template <typename E>
struct Meta_Function : public Object<E>
@@ -86,8 +88,10 @@ namespace mln
| Unary meta function. |
`----------------------*/
+ /// \cond INTERNAL_API
template <>
struct Meta_Function_v2v<void> { typedef Meta_Function<void> super; };
+ /// \endcond
/// Base class for implementation of function-objects from
/// value to value.
@@ -108,8 +112,10 @@ namespace mln
| Binary meta function. |
`-----------------------*/
+ /// \cond INTERNAL_API
template <>
struct Meta_Function_vv2v<void> { typedef Meta_Function<void> super; };
+ /// \endcond
/// Base class for implementation of function-objects from
/// value to value.
diff --git a/milena/mln/core/concept/neighborhood.hh
b/milena/mln/core/concept/neighborhood.hh
index 00fb222..7bda059 100644
--- a/milena/mln/core/concept/neighborhood.hh
+++ b/milena/mln/core/concept/neighborhood.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Copyright (C) 2007, 2008, 2009, 2011, 2012, 2013 EPITA Research and
// Development Laboratory (LRDE)
//
// This file is part of Olena.
@@ -48,23 +48,21 @@ namespace mln
// Forward declaration.
template <typename E> struct Neighborhood;
-
- /*!
- \internal
- \brief Neighborhood category flag type.
- */
+ /// \cond INTERNAL_API
+ /// \brief Neighborhood category flag type.
template <>
struct Neighborhood<void>
{
typedef Object<void> super;
};
+ /// \endcond
- /// \brief Base class for implementation classes that are neighborhoods.
- ///
- /// \see mln::doc::Neighborhood for a complete documentation of this
- /// class contents.
+ /*!
+ \brief Base class for implementation classes that are neighborhoods.
+ \ingroup modconcepts
+ */
template <typename E>
struct Neighborhood : public Object<E>
{
@@ -87,25 +85,30 @@ namespace mln
};
-
+ /// \relates mln::Neighborhood
template <typename L, typename R>
bool operator==(const Neighborhood<L>& lhs, const Neighborhood<R>&
rhs);
-
+ /// \relates mln::Neighborhood
template <typename N>
std::ostream&
operator<<(std::ostream&ostr, const Neighborhood<N>& nbh);
// FIXME: Move as a method of Image?
+ /// \relates mln::Neighborhood
template <typename I, typename N>
util::array<int>
offsets_wrt(const Image<I>& ima, const Neighborhood<N>& nbh);
+ // FIXME: Move as a method of Image?
+ /// \relates mln::Neighborhood
template <typename I, typename N>
util::array<int>
positive_offsets_wrt(const Image<I>& ima, const Neighborhood<N>&
nbh);
+ // FIXME: Move as a method of Image?
+ /// \relates mln::Neighborhood
template <typename I, typename N>
util::array<int>
negative_offsets_wrt(const Image<I>& ima, const Neighborhood<N>&
nbh);
diff --git a/milena/mln/core/concept/object.hh b/milena/mln/core/concept/object.hh
index d8fba23..410a236 100644
--- a/milena/mln/core/concept/object.hh
+++ b/milena/mln/core/concept/object.hh
@@ -82,18 +82,23 @@ namespace mln
// Fwd decl.
template <typename E> struct Object;
- // Object category flag type.
+ /// \cond INTERNAL_API
+ /// Object category flag type.
template <>
struct Object<void>
{
typedef Unknown<void> super;
};
+ /// \endcond
- /*! \brief Base class for almost every class defined in Milena.
- *
- * The parameter \a E is the exact type.
- */
+ /*!
+ \brief Base class for almost every class defined in Milena.
+
+ The parameter \a E is the exact type.
+
+ \ingroup modconcepts
+ */
template <typename E>
struct Object
{
diff --git a/milena/mln/core/concept/pixel_iterator.hh
b/milena/mln/core/concept/pixel_iterator.hh
index b044d14..ee57476 100644
--- a/milena/mln/core/concept/pixel_iterator.hh
+++ b/milena/mln/core/concept/pixel_iterator.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2013 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -38,14 +39,14 @@
namespace mln
{
- /*! \brief Base class for the implementation of pixel iterator
- * classes.
- *
- * An iterator on pixels is an iterator that is bound to a
- * particular image and that browses over a set of image pixels.
- *
- * \see mln::doc::Pixel_Iterator for a complete documentation of
- * this class contents.
+ /*!
+ \brief Base class for the implementation of pixel iterator
+ classes.
+
+ An iterator on pixels is an iterator that is bound to a
+ particular image and that browses over a set of image pixels.
+
+ \ingroup modconcepts
*/
template <typename E>
struct Pixel_Iterator : public Iterator<E>,
diff --git a/milena/mln/core/concept/point.hh b/milena/mln/core/concept/point.hh
index 07a7608..ddc5e5c 100644
--- a/milena/mln/core/concept/point.hh
+++ b/milena/mln/core/concept/point.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.
//
@@ -43,20 +44,25 @@ namespace mln
template <typename E> struct Point;
- // Point category flag type.
+ /// \cond INTERNAL_API
+ /// Point category flag type.
template <>
struct Point<void>
{
typedef Point_Site<void> super;
};
+ /// \endcond
- /*! \brief Base class for implementation of point classes.
- *
- * A point is an element of a space.
- *
- * For instance, mln::point2d is the type of elements defined on the
- * discrete square grid of the 2D plane.
+ /*!
+ \brief Base class for implementation of point classes.
+
+ A point is an element of a space.
+
+ For instance, mln::point2d is the type of elements defined on the
+ discrete square grid of the 2D plane.
+
+ \ingroup modconcepts
*/
template <typename P>
struct Point : public Point_Site<P>
diff --git a/milena/mln/core/concept/point_site.hh
b/milena/mln/core/concept/point_site.hh
index a22885d..0c6a5a2 100644
--- a/milena/mln/core/concept/point_site.hh
+++ b/milena/mln/core/concept/point_site.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.
//
@@ -45,7 +46,7 @@ namespace mln
template <typename E> struct Point_Site;
-
+ /// \cond INTERNAL_API
namespace trait
{
@@ -71,37 +72,41 @@ namespace mln
};
} // end of namespace mln::trait
+ /// \endcond
-
-
+ /// \cond INTERNAL_API
/// Point site category flag type.
template <>
struct Point_Site<void>
{
typedef Object<void> super;
};
+ /// \endcond
- /*! \brief Base class for implementation classes of the notion of
- * "point site".
- *
- * A point site ("psite" for short) is an object that allows an
- * efficient access to data associated with a point. A point site
- * is either a point or designates a point.
- *
- * When a point site is not really a point, it is automatically
- * convertible to the point it designates.
- *
- *
- * Let us take the example of a 2D image encoded as an array of runs
- * of values. With a point, a pair (row index, column index),
- * retrieving the corresponding pixel value would mean to browse the
- * array of runs to find the value location. That would not be
- * efficient. Conversely, a point site dedicated to this image
- * structure allows for value access in contant time; precisely the
- * proper point site is a pair (index of run, index within the run).
- */
+ /*!
+ \brief Base class for implementation classes of the notion of
+ "point site".
+
+ A point site ("psite" for short) is an object that allows an
+ efficient access to data associated with a point. A point site
+ is either a point or designates a point.
+
+ When a point site is not really a point, it is automatically
+ convertible to the point it designates.
+
+
+ Let us take the example of a 2D image encoded as an array of runs
+ of values. With a point, a pair (row index, column index),
+ retrieving the corresponding pixel value would mean to browse the
+ array of runs to find the value location. That would not be
+ efficient. Conversely, a point site dedicated to this image
+ structure allows for value access in contant time; precisely the
+ proper point site is a pair (index of run, index within the run).
+
+ \ingroup modconcepts
+ */
template <typename E>
struct Point_Site : public Object<E>
{
@@ -157,7 +162,7 @@ namespace mln
* topology and with the same type of coordinates; otherwise this
* test does not compile.
*
- * \post The result, \p dp, is such as \p lhs == \p rhs + \p dp.
+ * \post The result, \p dp, is such as \p lhs == \p rhs + \p dp.
*
* \return A delta point (temporary object).
*
diff --git a/milena/mln/core/concept/proxy.hh b/milena/mln/core/concept/proxy.hh
index 43aed15..acb3239 100644
--- a/milena/mln/core/concept/proxy.hh
+++ b/milena/mln/core/concept/proxy.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2011, 2012, 2013 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -207,17 +207,21 @@ namespace mln
-
+ /// \cond INTERNAL_API
/// Proxy category flag type.
template <>
struct Proxy<void>
{
typedef Object<void> super;
};
+ /// \endcond
+
+ /*!
+ \brief Base class for implementation classes of the notion of
+ "proxy".
- /*! \brief Base class for implementation classes of the notion of
- * "proxy".
+ \ingroup modconcepts
*/
template <typename E>
struct Proxy : Object<E>
@@ -235,7 +239,10 @@ namespace mln
};
- /// \internal Conversion: proxy -> T
+ /*!
+ \brief Conversion: proxy -> T
+ \ingroup fromto
+ */
template <typename P, typename T>
void
from_to_(const Proxy<P>& from, T& to);
diff --git a/milena/mln/core/concept/pseudo_site.hh
b/milena/mln/core/concept/pseudo_site.hh
index 77eb961..f36d7ad 100644
--- a/milena/mln/core/concept/pseudo_site.hh
+++ b/milena/mln/core/concept/pseudo_site.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2011, 2012, 2013 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -47,22 +47,21 @@ namespace mln
template <typename E> struct Pseudo_Site;
-
- /*!
- \internal
- \brief Pseudo_Site category flag type.
- */
+ /// \cond INTERNAL_API
+ /// \brief Pseudo_Site category flag type.
template <>
struct Pseudo_Site<void>
{
typedef Site_Proxy<void> super;
};
+ /// \endcond
- /*! \brief Base class for implementation classes of the notion of
- * "pseudo site".
- *
- * FIXME: Explain...
+ /*!
+ \brief Base class for implementation classes of the notion of
+ "pseudo site".
+
+ \ingroup modconcepts
*/
template <typename E>
struct Pseudo_Site : public Site_Proxy<E>
diff --git a/milena/mln/core/concept/regular_grid.hh
b/milena/mln/core/concept/regular_grid.hh
index e1f4c1d..747a234 100644
--- a/milena/mln/core/concept/regular_grid.hh
+++ b/milena/mln/core/concept/regular_grid.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2013 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -37,7 +38,10 @@
namespace mln
{
- /// Base class for implementation classes of regular grids.
+ /*!
+ \brief Base class for implementation classes of regular grids.
+ \ingroup modconcepts
+ */
template <typename E>
struct Regular_Grid : public Mesh<E>
{
diff --git a/milena/mln/core/concept/site.hh b/milena/mln/core/concept/site.hh
index 68a4bcb..6b915a0 100644
--- a/milena/mln/core/concept/site.hh
+++ b/milena/mln/core/concept/site.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2012, 2013 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -42,18 +42,19 @@ namespace mln
template <typename E> struct Site;
- /*!
- \internal
- \brief Site category flag type.
- */
+ /// \cond INTERNAL_API
+ /// \brief Site category flag type.
template <>
struct Site<void>
{
typedef Object<void> super;
};
+ /// \endcond
- /*! \brief Base class for classes that are explicitly sites.
+ /*!
+ \brief Base class for classes that are explicitly sites.
+ \ingroup modconcepts
*/
template <typename E>
struct Site : public Object<E>
diff --git a/milena/mln/core/concept/site_iterator.hh
b/milena/mln/core/concept/site_iterator.hh
index 7ef6a43..0a113f1 100644
--- a/milena/mln/core/concept/site_iterator.hh
+++ b/milena/mln/core/concept/site_iterator.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2013 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -41,15 +41,15 @@
namespace mln
{
- /// Base class for implementation of classes of iterator on
- /// points.
- ///
- /// An iterator on points is an iterator that browse over a set of
- /// points.
- ///
- /// \see mln::doc::Site_Iterator for a complete documentation of this class
- /// contents.
- ///
+ /*!
+ \brief Base class for implementation of classes of iterator on
+ points.
+
+ An iterator on points is an iterator that browse over a set of
+ points.
+
+ \ingroup modconcepts
+ */
template <typename E>
struct Site_Iterator : public Site_Proxy<E>
{
diff --git a/milena/mln/core/concept/site_proxy.hh
b/milena/mln/core/concept/site_proxy.hh
index 8293423..9339234 100644
--- a/milena/mln/core/concept/site_proxy.hh
+++ b/milena/mln/core/concept/site_proxy.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2011, 2012, 2013 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -44,22 +44,23 @@ namespace mln
// Fwd decl.
template <typename E> struct Site_Proxy;
-
- /*!
- \internal
- \brief Site_Proxy category flag type.
- */
+ /// \cond INTERNAL_API
+ /// \brief Site_Proxy category flag type.
template <>
struct Site_Proxy<void>
{
typedef Proxy<void> super;
};
+ /// \endcond
+
+
+ /*!
+ \brief Base class for implementation classes of the notion of
+ "site proxy".
+ FIXME: Explain...
- /*! \brief Base class for implementation classes of the notion of
- * "site proxy".
- *
- * FIXME: Explain...
+ \ingroup modconcepts
*/
template <typename E>
struct Site_Proxy : public Proxy<E>
diff --git a/milena/mln/core/concept/site_set.hh b/milena/mln/core/concept/site_set.hh
index dc1885b..5b09a9d 100644
--- a/milena/mln/core/concept/site_set.hh
+++ b/milena/mln/core/concept/site_set.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Copyright (C) 2007, 2008, 2009, 2011, 2012, 2013 EPITA Research and
// Development Laboratory (LRDE)
//
// This file is part of Olena.
@@ -50,15 +50,14 @@ namespace mln
template <typename E> struct Site_Set;
- /*!
- \internal
- \brief Site_Set category flag type.
- */
+ /// \cond INTERNAL_API
+ /// \brief Site_Set category flag type.
template <>
struct Site_Set<void>
{
typedef Object<void> super;
};
+ /// \endcond
/*!
@@ -66,6 +65,8 @@ namespace mln
\see mln::doc::Site_Set for a complete documentation of this
class contents.
+
+ \ingroup modconcepts
*/
template <typename E>
struct Site_Set : public Object<E>
@@ -92,7 +93,10 @@ namespace mln
};
- /// \internal Conversion: site_set -> std::set
+ /*!
+ \brief Conversion: site_set -> std::set
+ \ingroup fromto
+ */
template <typename S, typename P, typename C_>
void
from_to_(const Site_Set<S>& from, std::set<P,C_>& to);
@@ -102,7 +106,10 @@ namespace mln
namespace std
{
- /// \internal Conversion: std::set -> site_set
+ /*!
+ \brief Conversion: std::set -> site_set
+ \ingroup fromto
+ */
template <typename P, typename C_, typename S>
void
from_to_(const set<P,C_>& from, mln::Site_Set<S>& to);
diff --git a/milena/mln/core/concept/value.hh b/milena/mln/core/concept/value.hh
index 53ef70b..47ef01d 100644
--- a/milena/mln/core/concept/value.hh
+++ b/milena/mln/core/concept/value.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.
//
@@ -40,19 +41,21 @@ namespace mln
// Fwd decl.
template <typename E> struct Value;
- // Value category flag type.
+ /// \cond INTERNAL_API
+ /// \brief Value category flag type.
template <>
struct Value<void>
{
typedef Object<void> super;
};
+ /// \endcond
- /*! \brief Base class for implementation classes of values.
- *
- * \see mln::doc::Value for a complete documentation of this class
- * contents.
- */
+ /*!
+ \brief Base class for implementation classes of values.
+
+ \ingroup modconcepts
+ */
template <typename E>
struct Value : public Object<E>
{
diff --git a/milena/mln/core/concept/value_iterator.hh
b/milena/mln/core/concept/value_iterator.hh
index 1daccd7..d2ebe28 100644
--- a/milena/mln/core/concept/value_iterator.hh
+++ b/milena/mln/core/concept/value_iterator.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2013 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -38,14 +38,14 @@
namespace mln
{
- /*! \brief Base class for implementation of classes of iterator on
- * values.
- *
- * An iterator on values is an iterator that browse over a set of
- * values.
- *
- * \see mln::doc::Value_Iterator for a complete documentation of this class
- * contents.
+ /*!
+ \brief Base class for implementation of classes of iterator on
+ values.
+
+ An iterator on values is an iterator that browse over a set of
+ values.
+
+ \ingroup modconcepts
*/
template <typename E>
struct Value_Iterator : public Iterator<E>
diff --git a/milena/mln/core/concept/value_set.hh b/milena/mln/core/concept/value_set.hh
index 0976537..3bdb372 100644
--- a/milena/mln/core/concept/value_set.hh
+++ b/milena/mln/core/concept/value_set.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2009, 2010, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2010, 2011, 2013 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -40,18 +40,20 @@ namespace mln
// Fwd decl.
template <typename E> struct Value_Set;
- // Value_Set category flag type.
+ /// \cond INTERNAL_API
+ /// \brief Value_Set category flag type.
template <>
struct Value_Set<void>
{
typedef Object<void> super;
};
+ /// \endcond
- /*! \brief Base class for implementation classes of sets of values.
- *
- * \see mln::doc::Value_Set for a complete documentation of this
- * class contents.
+ /*!
+ \brief Base class for implementation classes of sets of values.
+
+ \ingroup modconcepts
*/
template <typename E>
struct Value_Set : public Object<E>
@@ -76,6 +78,7 @@ namespace mln
};
+ /// \relates mln::Value_Set
template <typename E>
std::ostream& operator<<(std::ostream& ostr, const
Value_Set<E>& vs);
@@ -89,7 +92,7 @@ namespace mln
typedef mln_value(E) value;
typedef mln_fwd_viter(E) fwd_viter;
typedef mln_bkd_viter(E) bkd_viter;
-
+
bool (E::*m1)(const value&) const = & E::has;
(void) m1;
value (E::*m2)(unsigned) const = & E::operator[];
diff --git a/milena/mln/core/concept/weighted_window.hh
b/milena/mln/core/concept/weighted_window.hh
index 1341860..ca730bd 100644
--- a/milena/mln/core/concept/weighted_window.hh
+++ b/milena/mln/core/concept/weighted_window.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2013 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -50,20 +50,21 @@ namespace mln
// Forward declaration.
template <typename E> struct Weighted_Window;
-
- // Weighted_Window category flag type.
+ /// \cond INTERNAL_API
+ /// \brief Weighted_Window category flag type.
template <>
struct Weighted_Window<void>
{
typedef Object<void> super;
};
+ /// \endcond
- /*! \brief Base class for implementation classes that are
- * weighted_windows.
- *
- * \see mln::doc::Weighted_Window for a complete documentation of
- * this class contents.
+ /*!
+ \brief Base class for implementation classes that are
+ weighted_windows.
+
+ \ingroup modconcepts
*/
template <typename E>
struct Weighted_Window : public Object<E>
@@ -82,7 +83,7 @@ namespace mln
void sym();
*/
-
+
protected:
Weighted_Window();
};
diff --git a/milena/mln/core/concept/window.hh b/milena/mln/core/concept/window.hh
index c59924f..c6d64f4 100644
--- a/milena/mln/core/concept/window.hh
+++ b/milena/mln/core/concept/window.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Copyright (C) 2007, 2008, 2009, 2011, 2012, 2013 EPITA Research and
// Development Laboratory (LRDE)
//
// This file is part of Olena.
@@ -71,18 +71,24 @@ namespace mln
template <typename E> struct Image;
- // Window category flag type.
+ /// \cond INTERNAL_API
+ /// \brief Window category flag type.
template <>
struct Window<void>
{
typedef Object<void> super;
};
+ /// \endcond
- /// Base class for implementation classes that are windows.
- ///
- /// \see mln::doc::Window for a complete documentation of this class
- /// contents.
+ /*!
+ \brief Base class for implementation classes that are windows.
+
+ A window is the definition of a set of points located around a
+ central point.
+
+ \ingroup modconcepts
+ */
template <typename E>
struct Window : public Object<E>
{
@@ -111,21 +117,29 @@ namespace mln
std::ostream& operator<<(std::ostream& ostr, const Window<W>&
win);
- /// \internal Conversion: window -> image
+ /*!
+ \brief Conversion: window -> image
+ \ingroup fromto
+ */
template <typename W, typename I>
void
from_to_(const Window<W>& from, Image<I>& to);
// FIXME: Move as a method of Image?
+ /// \relates mln::Window
template <typename I, typename W>
util::array<int>
offsets_wrt(const Image<I>& ima, const Window<W>& win);
+ // FIXME: Move as a method of Image?
+ /// \relates mln::Window
template <typename I, typename W>
util::array<int>
positive_offsets_wrt(const Image<I>& ima, const Window<W>& win);
+ // FIXME: Move as a method of Image?
+ /// \relates mln::Window
template <typename I, typename W>
util::array<int>
negative_offsets_wrt(const Image<I>& ima, const Window<W>& win);
--
1.7.2.5