Olena-patches
Threads by month
- ----- 2025 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
August 2012
- 2 participants
- 138 discussions

olena-2.0-72-g3ce08d0 mln/core/alias/neighb3d.hh: Fix invalid c8_3d neighborhood.
by Guillaume Lazzara 22 Aug '12
by Guillaume Lazzara 22 Aug '12
22 Aug '12
---
milena/ChangeLog | 4 ++++
milena/mln/core/alias/neighb3d.hh | 14 ++++++++++----
2 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index f610a5e..c8f5f24 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,5 +1,9 @@
2012-05-11 Guillaume Lazzara <z(a)lrde.epita.fr>
+ * mln/core/alias/neighb3d.hh: Fix invalid c8_3d neighborhood.
+
+2012-05-11 Guillaume Lazzara <z(a)lrde.epita.fr>
+
Rename point_at_index, delta_index and index_of_point.
* mln/accu/line.hh,
diff --git a/milena/mln/core/alias/neighb3d.hh b/milena/mln/core/alias/neighb3d.hh
index cb2d809..6dd1aae 100644
--- a/milena/mln/core/alias/neighb3d.hh
+++ b/milena/mln/core/alias/neighb3d.hh
@@ -248,10 +248,16 @@ namespace mln
static neighb3d it;
if (it.size() == 0)
{
- static const bool vals[] = { 1, 1, 1,
- 1, 0, 1,
- 1, 1, 1 };
- convert::from_to(vals, it);
+ window3d& win = it.hook_win_();
+ win
+ .insert(0, 0, 0)
+ .insert(0, 0, 1)
+ .insert(0, 0, 2)
+ .insert(0, 1, 2)
+ .insert(0, 2, 2)
+ .insert(0, 2, 1)
+ .insert(0, 2, 0)
+ .insert(0, 1, 0);
}
return it;
}
--
1.7.2.5
1
0

22 Aug '12
---
ChangeLog | 4 ++++
NEWS | 19 +++++++++++++++++++
2 files changed, 23 insertions(+), 0 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 96e78df..c844971 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2012-05-11 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * NEWS: Start populating the changes list.
+
2011-11-25 Roland Levillain <roland(a)lrde.epita.fr>
Update lrde-scmstats.sh.
diff --git a/NEWS b/NEWS
index 24590c1..7b7bd3f 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,24 @@
* Olena 2.0a
+ * Milena
+
+ * Rename 'point_at_index', 'delta_index' and 'index_of_point' to
+ 'point_at_offset', 'delta_offset' and 'offset_of_point'.
+
+ * Improve extensibility of convert::from_to.
+
+ * Fix compilation with the latest g++ versions (> 4.5).
+
+ * Scribo
+
+ * New logger class.
+
+ * Improve text recognition: recognition speed and storage of
+ the confidence.
+
+ * New binarization algorithms: Wolf's, Otsu's, Niblack's and
+ Kim's.
+
* Olena 2.0 September 16, 2011
--
1.7.2.5
1
0

olena-2.0-70-g378f353 Rename point_at_index, delta_index and index_of_point.
by Guillaume Lazzara 22 Aug '12
by Guillaume Lazzara 22 Aug '12
22 Aug '12
* scribo/binarization/sauvola_ms.hh,
* scribo/canvas/integral_browsing.hh,
* scribo/draw/line_components.hh,
* scribo/filter/object_groups_with_holes.hh,
* scribo/filter/objects_with_holes.hh,
* scribo/postprocessing/fill_object_holes.hh,
* scribo/preprocessing/rotate_90.hh,
* scribo/primitive/extract/internal/union.hh,
* scribo/primitive/extract/lines_h_thick_and_thin.hh,
* scribo/primitive/extract/lines_pattern.hh,
* scribo/primitive/extract/separators_nonvisible.hh,
* scribo/primitive/internal/rd.hh,
* scribo/subsampling/integral.hh,
* scribo/subsampling/integral_single_image.hh,
* scribo/text/merging.hh,
* scribo/text/merging_hdoc.hh: Rename point_at_index,
delta_index and index_of_point to point_at_offset, delta_offset
and offset_of_point.
---
scribo/ChangeLog | 23 +++++++++++++
scribo/scribo/binarization/sauvola_ms.hh | 34 ++++++++++----------
scribo/scribo/canvas/integral_browsing.hh | 6 ++--
scribo/scribo/draw/line_components.hh | 8 ++--
scribo/scribo/filter/object_groups_with_holes.hh | 2 +-
scribo/scribo/filter/objects_with_holes.hh | 2 +-
scribo/scribo/postprocessing/fill_object_holes.hh | 2 +-
scribo/scribo/preprocessing/rotate_90.hh | 10 +++---
scribo/scribo/primitive/extract/internal/union.hh | 6 ++--
.../primitive/extract/lines_h_thick_and_thin.hh | 8 ++--
scribo/scribo/primitive/extract/lines_pattern.hh | 2 +-
.../primitive/extract/separators_nonvisible.hh | 16 +++++-----
scribo/scribo/primitive/internal/rd.hh | 2 +-
scribo/scribo/subsampling/integral.hh | 8 ++--
scribo/scribo/subsampling/integral_single_image.hh | 8 ++--
scribo/scribo/text/merging.hh | 4 +-
scribo/scribo/text/merging_hdoc.hh | 4 +-
17 files changed, 84 insertions(+), 61 deletions(-)
diff --git a/scribo/ChangeLog b/scribo/ChangeLog
index f8d7491..5561f60 100644
--- a/scribo/ChangeLog
+++ b/scribo/ChangeLog
@@ -1,3 +1,26 @@
+2012-05-11 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Rename point_at_index, delta_index and index_of_point.
+
+ * scribo/binarization/sauvola_ms.hh,
+ * scribo/canvas/integral_browsing.hh,
+ * scribo/draw/line_components.hh,
+ * scribo/filter/object_groups_with_holes.hh,
+ * scribo/filter/objects_with_holes.hh,
+ * scribo/postprocessing/fill_object_holes.hh,
+ * scribo/preprocessing/rotate_90.hh,
+ * scribo/primitive/extract/internal/union.hh,
+ * scribo/primitive/extract/lines_h_thick_and_thin.hh,
+ * scribo/primitive/extract/lines_pattern.hh,
+ * scribo/primitive/extract/separators_nonvisible.hh,
+ * scribo/primitive/internal/rd.hh,
+ * scribo/subsampling/integral.hh,
+ * scribo/subsampling/integral_single_image.hh,
+ * scribo/text/merging.hh,
+ * scribo/text/merging_hdoc.hh: Rename point_at_index,
+ delta_index and index_of_point to point_at_offset, delta_offset
+ and offset_of_point.
+
2012-05-10 Guillaume Lazzara <z(a)lrde.epita.fr>
Improve option parser.
diff --git a/scribo/scribo/binarization/sauvola_ms.hh b/scribo/scribo/binarization/sauvola_ms.hh
index 36629f9..6d8ae59 100644
--- a/scribo/scribo/binarization/sauvola_ms.hh
+++ b/scribo/scribo/binarization/sauvola_ms.hh
@@ -305,23 +305,23 @@ namespace scribo
nrows4 = t_ima[4].nrows(),
ncols4 = t_ima[4].ncols(),
- delta1 = in.delta_index(dpoint2d(+1, -(s - 1))),
- delta1b = in.delta_index(dpoint2d(+1, -(s + s - 1))),
- delta1c = in.delta_index(dpoint2d(-(s + s - 1), +1)),
- delta1d = in.delta_index(dpoint2d(+1, -(s * 4 - 1))),
- delta1e = in.delta_index(dpoint2d(-(s * 4 - 1), +1)),
- delta1f = in.delta_index(dpoint2d(-(s - 1), +1)),
-
- delta2 = t_ima[2].delta_index(dpoint2d(+1, -1)),
- delta2b = t_ima[2].delta_index(dpoint2d(+1, -3)),
- delta2c = t_ima[2].delta_index(dpoint2d(-3, +1)),
-
- delta3 = t_ima[3].delta_index(dpoint2d(+1, -1)),
-
- eor1 = in.delta_index(dpoint2d(+4 * s, - in.ncols())) + more_offset,
- eor2 = t_ima[2].delta_index(dpoint2d(+4,- t_ima[2].ncols())),
- eor3 = t_ima[3].delta_index(dpoint2d(+2,- t_ima[3].ncols())),
- eor4 = t_ima[4].delta_index(dpoint2d(+1,- t_ima[4].ncols()));
+ delta1 = in.delta_offset(dpoint2d(+1, -(s - 1))),
+ delta1b = in.delta_offset(dpoint2d(+1, -(s + s - 1))),
+ delta1c = in.delta_offset(dpoint2d(-(s + s - 1), +1)),
+ delta1d = in.delta_offset(dpoint2d(+1, -(s * 4 - 1))),
+ delta1e = in.delta_offset(dpoint2d(-(s * 4 - 1), +1)),
+ delta1f = in.delta_offset(dpoint2d(-(s - 1), +1)),
+
+ delta2 = t_ima[2].delta_offset(dpoint2d(+1, -1)),
+ delta2b = t_ima[2].delta_offset(dpoint2d(+1, -3)),
+ delta2c = t_ima[2].delta_offset(dpoint2d(-3, +1)),
+
+ delta3 = t_ima[3].delta_offset(dpoint2d(+1, -1)),
+
+ eor1 = in.delta_offset(dpoint2d(+4 * s, - in.ncols())) + more_offset,
+ eor2 = t_ima[2].delta_offset(dpoint2d(+4,- t_ima[2].ncols())),
+ eor3 = t_ima[3].delta_offset(dpoint2d(+2,- t_ima[3].ncols())),
+ eor4 = t_ima[4].delta_offset(dpoint2d(+1,- t_ima[4].ncols()));
mln_value(J) threshold;
for (int row4 = 0; row4 < nrows4; ++row4)
diff --git a/scribo/scribo/canvas/integral_browsing.hh b/scribo/scribo/canvas/integral_browsing.hh
index 0ec3d83..f8bf484 100644
--- a/scribo/scribo/canvas/integral_browsing.hh
+++ b/scribo/scribo/canvas/integral_browsing.hh
@@ -95,9 +95,9 @@ namespace scribo
col_0 = step / 2;
const int
- offset_down = ima.delta_index(dpoint2d(step, 0)),
- offset_ante = ima.delta_index(dpoint2d(0, -w)),
- offset_below = ima.delta_index(dpoint2d(+h, 0));
+ offset_down = ima.delta_offset(dpoint2d(step, 0)),
+ offset_ante = ima.delta_offset(dpoint2d(0, -w)),
+ offset_below = ima.delta_offset(dpoint2d(+h, 0));
const int
max_row_top = h/2,
diff --git a/scribo/scribo/draw/line_components.hh b/scribo/scribo/draw/line_components.hh
index 12e7489..6025eef 100644
--- a/scribo/scribo/draw/line_components.hh
+++ b/scribo/scribo/draw/line_components.hh
@@ -78,14 +78,14 @@ namespace scribo
const mln_value(L) v = c;
const box2d& bbox = comp_set(c).bbox();
- const unsigned index = labeled_image.index_of_point(bbox.pmin());
- const unsigned index2 = input.index_of_point(bbox.pmin());
+ const unsigned index = labeled_image.offset_of_point(bbox.pmin());
+ const unsigned index2 = input.offset_of_point(bbox.pmin());
const mln_value(L)* ptr_in = &(labeled_image.element(index));
mln_value(I)* ptr_out = &(input.element(index2));
const unsigned nrows = bbox.height();
const unsigned ncols = bbox.width();
- const int delta = labeled_image.delta_index(dpoint2d(+1, -ncols));
- const int delta2 = input.delta_index(dpoint2d(+1, -ncols));
+ const int delta = labeled_image.delta_offset(dpoint2d(+1, -ncols));
+ const int delta2 = input.delta_offset(dpoint2d(+1, -ncols));
for (unsigned k = 0; k < nrows; ++k)
{
diff --git a/scribo/scribo/filter/object_groups_with_holes.hh b/scribo/scribo/filter/object_groups_with_holes.hh
index a59beec..495d97e 100644
--- a/scribo/scribo/filter/object_groups_with_holes.hh
+++ b/scribo/scribo/filter/object_groups_with_holes.hh
@@ -119,7 +119,7 @@ namespace scribo
unsigned
nrows = geom::nrows(b),
ncols = geom::ncols(b),
- row_offset = lbl.delta_index(D(+1, -ncols));
+ row_offset = lbl.delta_offset(D(+1, -ncols));
mln_value(L) *ptr = &output(b.pmin());
for (unsigned row = 0; row < nrows; ++row, ptr += row_offset)
diff --git a/scribo/scribo/filter/objects_with_holes.hh b/scribo/scribo/filter/objects_with_holes.hh
index 09eaad5..1084d87 100644
--- a/scribo/scribo/filter/objects_with_holes.hh
+++ b/scribo/scribo/filter/objects_with_holes.hh
@@ -135,7 +135,7 @@ namespace scribo
unsigned
nrows = b.pmax().row() - b.pmin().row() + 1,
ncols = b.pmax().col() - b.pmin().col() + 1,
- row_offset = lbl.delta_index(D(+1, -ncols));
+ row_offset = lbl.delta_offset(D(+1, -ncols));
mln_value(L) *ptr = &output(b.pmin());
for (unsigned row = 0; row < nrows; ++row, ptr += row_offset)
diff --git a/scribo/scribo/postprocessing/fill_object_holes.hh b/scribo/scribo/postprocessing/fill_object_holes.hh
index ea77fb6..9552d2c 100644
--- a/scribo/scribo/postprocessing/fill_object_holes.hh
+++ b/scribo/scribo/postprocessing/fill_object_holes.hh
@@ -130,7 +130,7 @@ namespace scribo
unsigned
nrows = b.pmax().row() - b.pmin().row() + 1,
ncols = b.pmax().col() - b.pmin().col() + 1,
- row_offset = lbl.delta_index(D(+1, -ncols));
+ row_offset = lbl.delta_offset(D(+1, -ncols));
mln_value(L) *ptr = &output(b.pmin());
for (unsigned row = 0; row < nrows; ++row, ptr += row_offset)
diff --git a/scribo/scribo/preprocessing/rotate_90.hh b/scribo/scribo/preprocessing/rotate_90.hh
index e6d68c8..4411439 100644
--- a/scribo/scribo/preprocessing/rotate_90.hh
+++ b/scribo/scribo/preprocessing/rotate_90.hh
@@ -122,18 +122,18 @@ namespace scribo
if (positive) // +90 deg
{
dpoint2d dp(out_nrows, + 1);
- out_next_offset = output.delta_index(dp);
+ out_next_offset = output.delta_offset(dp);
- out_next_p_offset = output.delta_index(dpoint2d(-1, 0));
+ out_next_p_offset = output.delta_offset(dpoint2d(-1, 0));
- out_ptr += output.delta_index(dpoint2d(out_nrows - 1, 0));
+ out_ptr += output.delta_offset(dpoint2d(out_nrows - 1, 0));
}
else // -90 deg
{
dpoint2d dp(- out_nrows, - 1);
- out_next_offset = output.delta_index(dp);
+ out_next_offset = output.delta_offset(dp);
- out_next_p_offset = output.delta_index(dpoint2d(+1, 0));
+ out_next_p_offset = output.delta_offset(dpoint2d(+1, 0));
out_ptr += out_ncols - 1;
}
diff --git a/scribo/scribo/primitive/extract/internal/union.hh b/scribo/scribo/primitive/extract/internal/union.hh
index 509a7e4..89687d6 100644
--- a/scribo/scribo/primitive/extract/internal/union.hh
+++ b/scribo/scribo/primitive/extract/internal/union.hh
@@ -80,7 +80,7 @@ namespace scribo
{
const unsigned nrows = input.nrows(), ncols = input.ncols();
- unsigned op, on, delta = input.delta_index(dpoint2d(1, 0));
+ unsigned op, on, delta = input.delta_offset(dpoint2d(1, 0));
data::fill(parent, 0);
max_area = 0;
@@ -89,7 +89,7 @@ namespace scribo
// row == 0 and col == 0
- op = input.index_of_point(point2d(0,0));
+ op = input.offset_of_point(point2d(0,0));
if (input.element(op) == lab)
{
area.element(op) = 1;
@@ -131,7 +131,7 @@ namespace scribo
{
// col == 0
- op = input.index_of_point(point2d(row, 0));
+ op = input.offset_of_point(point2d(row, 0));
on = op - delta;
if (input.element(op) == lab)
diff --git a/scribo/scribo/primitive/extract/lines_h_thick_and_thin.hh b/scribo/scribo/primitive/extract/lines_h_thick_and_thin.hh
index 45b2ad3..f169a3e 100644
--- a/scribo/scribo/primitive/extract/lines_h_thick_and_thin.hh
+++ b/scribo/scribo/primitive/extract/lines_h_thick_and_thin.hh
@@ -166,8 +166,8 @@ namespace scribo
dpoint2d up(-delta, 0), down(+delta, 0);
const int
- offset_up = count.delta_index(up),
- offset_down = count.delta_index(down);
+ offset_up = count.delta_offset(up),
+ offset_down = count.delta_offset(down);
typedef const unsigned* ptr_t;
value::int_u8* p_out;
@@ -238,7 +238,7 @@ namespace scribo
// out:
int& row, value::int_u8& next_tag)
{
- int row_offset = input.delta_index(dpoint2d(+1, 0));
+ int row_offset = input.delta_offset(dpoint2d(+1, 0));
const value::int_u8* p = & input.at_(row, col);
while (*p == tag)
{
@@ -251,7 +251,7 @@ namespace scribo
void draw_vertical(image2d<bool>& output, unsigned col, int row_start, int row_end)
{
- const unsigned offset = output.delta_index(dpoint2d(+1, 0)); // next row
+ const unsigned offset = output.delta_offset(dpoint2d(+1, 0)); // next row
bool* p_out = & output.at_(row_start, col);
for (int row = row_start; row < row_end; ++row, p_out += offset)
*p_out = true;
diff --git a/scribo/scribo/primitive/extract/lines_pattern.hh b/scribo/scribo/primitive/extract/lines_pattern.hh
index ec24d4f..35e4447 100644
--- a/scribo/scribo/primitive/extract/lines_pattern.hh
+++ b/scribo/scribo/primitive/extract/lines_pattern.hh
@@ -177,7 +177,7 @@ namespace scribo
mln_box_runstart_piter(I) p(output.domain());
for_all(p)
{
- unsigned pi = output.index_of_point(p);
+ unsigned pi = output.offset_of_point(p);
unsigned *tmp_ptr = &tmp.element(pi);
unsigned *end_ptr = tmp_ptr + ncols;
diff --git a/scribo/scribo/primitive/extract/separators_nonvisible.hh b/scribo/scribo/primitive/extract/separators_nonvisible.hh
index 998d6ec..870804c 100644
--- a/scribo/scribo/primitive/extract/separators_nonvisible.hh
+++ b/scribo/scribo/primitive/extract/separators_nonvisible.hh
@@ -403,21 +403,21 @@ namespace scribo
extension::adjust_fill(tmp, 21, 0);
value::int_u8 *sep_lbl_ptr = sep_lbl.buffer()
- + sep_lbl.index_of_point(sep_lbl.domain().pmin());
+ + sep_lbl.offset_of_point(sep_lbl.domain().pmin());
bool *separators_ptr = separators.buffer()
- + separators.index_of_point(separators.domain().pmin());
- unsigned *tmp_ptr = tmp.buffer() + tmp.index_of_point(tmp.domain().pmin());;
- int idx1 = tmp.delta_index(dp1);
- int idx2 = tmp.delta_index(dp2);
+ + separators.offset_of_point(separators.domain().pmin());
+ unsigned *tmp_ptr = tmp.buffer() + tmp.offset_of_point(tmp.domain().pmin());;
+ int idx1 = tmp.delta_offset(dp1);
+ int idx2 = tmp.delta_offset(dp2);
unsigned
nrows = separators.nrows(),
ncols = separators.ncols();
unsigned
- row_idx_sep_lbl = sep_lbl.delta_index(dpoint2d(+1, - ncols)),
- row_idx_separators = separators.delta_index(dpoint2d(+1, - ncols)),
- row_idx_tmp = tmp.delta_index(dpoint2d(+1, - ncols));
+ row_idx_sep_lbl = sep_lbl.delta_offset(dpoint2d(+1, - ncols)),
+ row_idx_separators = separators.delta_offset(dpoint2d(+1, - ncols)),
+ row_idx_tmp = tmp.delta_offset(dpoint2d(+1, - ncols));
for (unsigned row = 0; row < nrows; ++row)
{
diff --git a/scribo/scribo/primitive/internal/rd.hh b/scribo/scribo/primitive/internal/rd.hh
index 49b6abb..56d6adc 100644
--- a/scribo/scribo/primitive/internal/rd.hh
+++ b/scribo/scribo/primitive/internal/rd.hh
@@ -123,7 +123,7 @@ namespace scribo
unsigned n = p + dp[j];
if (g.element(n) == true)
{
- mln_invariant(f.domain().has(f.point_at_index(n)));
+ mln_invariant(f.domain().has(f.point_at_offset(n)));
// Do-Union.
unsigned r = Rd_find_root_(parent, n);
if (r != p)
diff --git a/scribo/scribo/subsampling/integral.hh b/scribo/scribo/subsampling/integral.hh
index b6e97d2..8cb627b 100644
--- a/scribo/scribo/subsampling/integral.hh
+++ b/scribo/scribo/subsampling/integral.hh
@@ -129,14 +129,14 @@ namespace scribo
integral_sum_2.init_(output_domain, border_thickness);
S* p_isum_2 = integral_sum_2.buffer();
- const unsigned up = sub.delta_index(dpoint2d(-1, 0));
+ const unsigned up = sub.delta_offset(dpoint2d(-1, 0));
const unsigned nrows = 3 * output_domain.nrows();
const unsigned ncols = 3 * output_domain.ncols();
unsigned row = 0;
- unsigned b_offset = sub.delta_index(dpoint2d(border_thickness,
+ unsigned b_offset = sub.delta_offset(dpoint2d(border_thickness,
border_thickness));
p_sub += b_offset;
p_isum += b_offset;
@@ -252,14 +252,14 @@ namespace scribo
integral_sum_2.init_(output_domain, border_thickness);
S* p_isum_2 = integral_sum_2.buffer();
- const unsigned up = sub.delta_index(dpoint2d(-1, 0));
+ const unsigned up = sub.delta_offset(dpoint2d(-1, 0));
const unsigned nrows = 2 * output_domain.nrows();
const unsigned ncols = 2 * output_domain.ncols();
extension::fill(sub, 0);
- unsigned b_offset = sub.delta_index(dpoint2d(border_thickness,
+ unsigned b_offset = sub.delta_offset(dpoint2d(border_thickness,
border_thickness));
p_sub += b_offset;
p_isum += b_offset;
diff --git a/scribo/scribo/subsampling/integral_single_image.hh b/scribo/scribo/subsampling/integral_single_image.hh
index 381f08f..f1c9c18 100644
--- a/scribo/scribo/subsampling/integral_single_image.hh
+++ b/scribo/scribo/subsampling/integral_single_image.hh
@@ -122,14 +122,14 @@ namespace scribo
integral_sum_sum_2.init_(output_domain, border_thickness);
V2* p_integ = integral_sum_sum_2.buffer();
- const int up = sub.delta_index(dpoint2d(-1, 0));
+ const int up = sub.delta_offset(dpoint2d(-1, 0));
const unsigned nrows = 3 * output_domain.nrows();
const unsigned ncols = 3 * output_domain.ncols();
unsigned row = 0;
- unsigned b_offset = sub.delta_index(dpoint2d(border_thickness,
+ unsigned b_offset = sub.delta_offset(dpoint2d(border_thickness,
border_thickness));
p_sub += b_offset;
p_integ += b_offset;
@@ -241,14 +241,14 @@ namespace scribo
integral_sum_sum_2.init_(output_domain, border_thickness);
V2* p_integ = integral_sum_sum_2.buffer();
- const int up = sub.delta_index(dpoint2d(-1, 0));
+ const int up = sub.delta_offset(dpoint2d(-1, 0));
const unsigned nrows = 2 * output_domain.nrows();
const unsigned ncols = 2 * output_domain.ncols();
extension::fill(sub, 0);
- unsigned b_offset = sub.delta_index(dpoint2d(border_thickness,
+ unsigned b_offset = sub.delta_offset(dpoint2d(border_thickness,
border_thickness));
p_sub += b_offset;
p_integ += b_offset;
diff --git a/scribo/scribo/text/merging.hh b/scribo/scribo/text/merging.hh
index 791d4d0..64b64c7 100644
--- a/scribo/scribo/text/merging.hh
+++ b/scribo/scribo/text/merging.hh
@@ -98,7 +98,7 @@ namespace scribo
void draw_box(image2d<T>& input, const box2d& b, T2 l)
{
const unsigned
- delta = input.delta_index(dpoint2d(1,0)),
+ delta = input.delta_offset(dpoint2d(1,0)),
nrows = b.nrows(),
ncols = b.ncols();
T* p_start = & input(b.pmin());
@@ -133,7 +133,7 @@ namespace scribo
if (pmax_col > input_ncols_1) pmax_col = input_ncols_1;
const unsigned
- delta = input.delta_index(dpoint2d(1,0)),
+ delta = input.delta_offset(dpoint2d(1,0)),
nrows = pmax_row - pmin_row + 1,
ncols = pmax_col - pmin_col + 1;
T* p_start = & input.at_(pmin_row, pmin_col);
diff --git a/scribo/scribo/text/merging_hdoc.hh b/scribo/scribo/text/merging_hdoc.hh
index 6f89d2a..a1e4ed9 100644
--- a/scribo/scribo/text/merging_hdoc.hh
+++ b/scribo/scribo/text/merging_hdoc.hh
@@ -99,7 +99,7 @@ namespace scribo
void draw_box(image2d<T>& input, const box2d& b, T2 l)
{
const unsigned
- delta = input.delta_index(dpoint2d(1,0)),
+ delta = input.delta_offset(dpoint2d(1,0)),
nrows = b.nrows(),
ncols = b.ncols();
T* p_start = & input(b.pmin());
@@ -134,7 +134,7 @@ namespace scribo
if (pmax_col > input_ncols_1) pmax_col = input_ncols_1;
const unsigned
- delta = input.delta_index(dpoint2d(1,0)),
+ delta = input.delta_offset(dpoint2d(1,0)),
nrows = pmax_row - pmin_row + 1,
ncols = pmax_col - pmin_col + 1;
T* p_start = & input.at_(pmin_row, pmin_col);
--
1.7.2.5
1
0

olena-2.0-69-gcf88d22 Rename point_at_index, delta_index and index_of_point.
by Guillaume Lazzara 22 Aug '12
by Guillaume Lazzara 22 Aug '12
22 Aug '12
* mln/accu/line.hh,
* mln/accu/transform_line.hh,
* mln/border/duplicate.hh,
* mln/border/fill.hh,
* mln/convert/to_qimage.hh,
* mln/core/concept/doc/image_fastest.hh,
* mln/core/concept/window.hh,
* mln/core/dpoints_pixter.hh,
* mln/core/image/image1d.hh,
* mln/core/image/image2d.hh,
* mln/core/image/image3d.hh,
* mln/core/internal/check/image_fastest.hh,
* mln/core/internal/image_identity.hh,
* mln/core/internal/pixel_impl.hh,
* mln/core/pixel.hh,
* mln/data/fill_with_value.spe.hh,
* mln/data/memset_.hh,
* mln/io/magick/load.hh,
* mln/io/magick/save.hh,
* mln/labeling/value_and_compute.hh,
* mln/linear/gaussian_directional_2d.hh,
* mln/subsampling/antialiased.hh,
* mln/trait/image/props.hh,
* mln/transform/internal/closest_point_functor.hh,
* mln/world/binary_2d/subsample.hh: Rename point_at_index,
delta_index and index_of_point to point_at_offset, delta_offset
and offset_of_point.
---
milena/ChangeLog | 32 ++++++++++++++++++
milena/mln/accu/line.hh | 6 ++--
milena/mln/accu/transform_line.hh | 26 +++++++-------
milena/mln/border/duplicate.hh | 8 ++--
milena/mln/border/fill.hh | 8 ++--
milena/mln/convert/to_qimage.hh | 9 +++--
milena/mln/core/concept/doc/image_fastest.hh | 9 +++--
milena/mln/core/concept/window.hh | 6 ++--
milena/mln/core/dpoints_pixter.hh | 8 ++--
milena/mln/core/image/image1d.hh | 34 ++++++++++----------
milena/mln/core/image/image2d.hh | 27 +++++++---------
milena/mln/core/image/image3d.hh | 16 +++++-----
milena/mln/core/internal/check/image_fastest.hh | 20 ++++++------
milena/mln/core/internal/image_identity.hh | 11 +++---
milena/mln/core/internal/pixel_impl.hh | 6 ++--
milena/mln/core/pixel.hh | 5 ++-
milena/mln/data/fill_with_value.spe.hh | 5 ++-
milena/mln/data/memset_.hh | 4 +-
milena/mln/io/magick/load.hh | 6 ++--
milena/mln/io/magick/save.hh | 6 ++--
milena/mln/labeling/value_and_compute.hh | 2 +-
milena/mln/linear/gaussian_directional_2d.hh | 9 +++--
milena/mln/subsampling/antialiased.hh | 8 ++--
milena/mln/trait/image/props.hh | 11 +++---
.../transform/internal/closest_point_functor.hh | 5 ++-
milena/mln/world/binary_2d/subsample.hh | 6 ++--
26 files changed, 165 insertions(+), 128 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 96019b5..f610a5e 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,35 @@
+2012-05-11 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Rename point_at_index, delta_index and index_of_point.
+
+ * mln/accu/line.hh,
+ * mln/accu/transform_line.hh,
+ * mln/border/duplicate.hh,
+ * mln/border/fill.hh,
+ * mln/convert/to_qimage.hh,
+ * mln/core/concept/doc/image_fastest.hh,
+ * mln/core/concept/window.hh,
+ * mln/core/dpoints_pixter.hh,
+ * mln/core/image/image1d.hh,
+ * mln/core/image/image2d.hh,
+ * mln/core/image/image3d.hh,
+ * mln/core/internal/check/image_fastest.hh,
+ * mln/core/internal/image_identity.hh,
+ * mln/core/internal/pixel_impl.hh,
+ * mln/core/pixel.hh,
+ * mln/data/fill_with_value.spe.hh,
+ * mln/data/memset_.hh,
+ * mln/io/magick/load.hh,
+ * mln/io/magick/save.hh,
+ * mln/labeling/value_and_compute.hh,
+ * mln/linear/gaussian_directional_2d.hh,
+ * mln/subsampling/antialiased.hh,
+ * mln/trait/image/props.hh,
+ * mln/transform/internal/closest_point_functor.hh,
+ * mln/world/binary_2d/subsample.hh: Rename point_at_index,
+ delta_index and index_of_point to point_at_offset, delta_offset
+ and offset_of_point.
+
2012-05-10 Guillaume Lazzara <z(a)lrde.epita.fr>
Rely on Argument-Dependent Lookup (ADL) in from_to_ overloads.
diff --git a/milena/mln/accu/line.hh b/milena/mln/accu/line.hh
index 75be6b3..4ae2867 100644
--- a/milena/mln/accu/line.hh
+++ b/milena/mln/accu/line.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -240,7 +240,7 @@ namespace mln
mln_delta(P) dp = literal::zero;
dp[Dir] = 1;
- unsigned offset = input.delta_index(dp);
+ unsigned offset = input.delta_offset(dp);
A a; // Accumulator.
a.init();
diff --git a/milena/mln/accu/transform_line.hh b/milena/mln/accu/transform_line.hh
index 67d97f9..2250c87 100644
--- a/milena/mln/accu/transform_line.hh
+++ b/milena/mln/accu/transform_line.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -230,18 +230,18 @@ namespace mln
P p = pmin; // Starting point.
def::coord& p_dir = p[dir];
-
+
// Step.
mln_delta(P) dp(literal::zero);
dp[dir] = 1;
- int step = input.delta_index(dp);
+ int step = input.delta_offset(dp);
do
{
// Start the line.
// ---------------
- unsigned o_p = input.index_of_point(p);
+ unsigned o_p = input.offset_of_point(p);
unsigned o_qt = o_p - (length / 2) * step;
unsigned o_qu = o_qt;
a.init();
@@ -293,7 +293,7 @@ namespace mln
}
} while (p != pmin);
-
+
trace::exiting("accu::impl::transform_line_fastest");
return output;
}
@@ -331,17 +331,17 @@ namespace mln
// Step.
mln_delta(P) dp(literal::zero);
dp[dir] = 1;
- int step = input.delta_index(dp);
+ int step = input.delta_offset(dp);
do
{
// Start the line.
// ---------------
- unsigned o_p = input.index_of_point(p);
+ unsigned o_p = input.offset_of_point(p);
unsigned o_qt = o_p;
unsigned o_qu = o_p;
-
+
a.init();
// Causal part.
@@ -363,7 +363,7 @@ namespace mln
{
a.take(input.element(o_qt));
o_qt += step;
-
+
++p_dir;
o_p += step;
output.element(o_p) = a.to_result();
@@ -397,7 +397,7 @@ namespace mln
{
a.untake(input.element(o_qu));
o_qu += step;
-
+
o_p += step;
output.element(o_p) = a.to_result();
}
@@ -420,7 +420,7 @@ namespace mln
}
} while (p != pmin);
-
+
trace::exiting("accu::impl::transform_line_fastest_without_border");
return output;
}
@@ -534,7 +534,7 @@ namespace mln
A_ a_ = accu::unmeta(exact(a), mln_value(I)());
internal::transform_line_tests(a_, input);
-
+
mln_ch_value(I, mln_result(A_)) output;
output = internal::transform_line_dispatch(a_, input, length, dir);
diff --git a/milena/mln/border/duplicate.hh b/milena/mln/border/duplicate.hh
index 059dc77..cbf8688 100644
--- a/milena/mln/border/duplicate.hh
+++ b/milena/mln/border/duplicate.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -101,7 +101,7 @@ namespace mln
// Duplicate
for_all (pl)
{
- st = ima.index_of_point (pl);
+ st = ima.offset_of_point (pl);
for (unsigned i = 1; i <= border; ++i)
opt::element(ima, st - i) = opt::element(ima, st);
st = st + len_c - 1;
@@ -152,7 +152,7 @@ namespace mln
// Duplicate
for (unsigned j = 0; j < len_r; ++j)
{
- st = ima.index_of_point (pl);
+ st = ima.offset_of_point (pl);
for (unsigned i = 1; i <= border; ++i)
opt::element(ima, st - i) = opt::element(ima, st);
st = st + len_c - 1;
diff --git a/milena/mln/border/fill.hh b/milena/mln/border/fill.hh
index 5c04121..6a3ebab 100644
--- a/milena/mln/border/fill.hh
+++ b/milena/mln/border/fill.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -97,7 +97,7 @@ namespace mln
for_all (pl)
{
- unsigned end = ima.index_of_point (pl);
+ unsigned end = ima.offset_of_point (pl);
if (st < end)
std::memset((void*)&opt::element(ima, st),
*(const int*)(&v),
@@ -129,7 +129,7 @@ namespace mln
for_all (pl)
{
- unsigned end = ima.index_of_point (pl);
+ unsigned end = ima.offset_of_point (pl);
for (unsigned i = st; i < end; ++i)
opt::element(ima, i) = v;
st = end + len_r;
diff --git a/milena/mln/convert/to_qimage.hh b/milena/mln/convert/to_qimage.hh
index a7c8512..f993fbc 100755
--- a/milena/mln/convert/to_qimage.hh
+++ b/milena/mln/convert/to_qimage.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2010 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2010, 2012 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -97,7 +98,7 @@ namespace mln
# endif // ! QT_VERSION
const mln_value(I)* ptr_ima = &ima(ima.domain().pmin());
- unsigned offset = ima.delta_index(dpoint2d(+1, - ncols));
+ unsigned offset = ima.delta_offset(dpoint2d(+1, - ncols));
// Data is stored as ABGR so we skip the first value which is ignored.
for (unsigned row = 0; row < nrows; ++row, ptr_ima += offset)
@@ -137,7 +138,7 @@ namespace mln
QImage qima(ncols, nrows, QImage::Format_RGB32);
uchar * ptr_qima = qima.scanLine(0);
const mln_value(I)* ptr_ima = &ima(ima.domain().pmin());
- unsigned offset = ima.delta_index(dpoint2d(+1, - ncols));
+ unsigned offset = ima.delta_offset(dpoint2d(+1, - ncols));
for (unsigned row = 0; row < nrows; ++row, ptr_ima += offset)
{
@@ -183,7 +184,7 @@ namespace mln
mln::border::resize(ima, 0);
unsigned
- offset = ima.delta_index(DP(+1, 0)),
+ offset = ima.delta_offset(DP(+1, 0)),
line_offset = 0;
QImage qima(ncols, nrows, QImage::Format_RGB888);
diff --git a/milena/mln/core/concept/doc/image_fastest.hh b/milena/mln/core/concept/doc/image_fastest.hh
index b3ecedc..5474f9d 100644
--- a/milena/mln/core/concept/doc/image_fastest.hh
+++ b/milena/mln/core/concept/doc/image_fastest.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -49,7 +50,7 @@ namespace mln
*
* \pre The image has to be initialized.
*/
- int delta_index(const dpoint& dp);
+ int delta_offset(const dpoint& dp);
/*! \brief Give the point at offset \p o.
@@ -59,12 +60,12 @@ namespace mln
* \pre The image has to be initialized.
* \pre o < nelements()
*/
- point point_at_index(unsigned o) const;
+ point point_at_offset(unsigned o) const;
/*! \brief Give a hook to the value buffer.
*
- *
+ *
*
* \pre The image has to be initialized.
*/
diff --git a/milena/mln/core/concept/window.hh b/milena/mln/core/concept/window.hh
index 9aa58bd..c59924f 100644
--- a/milena/mln/core/concept/window.hh
+++ b/milena/mln/core/concept/window.hh
@@ -357,7 +357,7 @@ namespace mln
unsigned n = win.size();
for (unsigned i = 0; i < n; ++i)
- arr.append(ima.delta_index(win.dp(i)));
+ arr.append(ima.delta_offset(win.dp(i)));
return arr;
}
@@ -380,7 +380,7 @@ namespace mln
for (unsigned i = 0; i < n; ++i)
{
- int offset = ima.delta_index(win.dp(i));
+ int offset = ima.delta_offset(win.dp(i));
if (offset > 0)
arr.append(offset);
}
@@ -406,7 +406,7 @@ namespace mln
for (unsigned i = 0; i < n; ++i)
{
- int offset = ima.delta_index(win.dp(i));
+ int offset = ima.delta_offset(win.dp(i));
if (offset < 0)
arr.append(offset);
}
diff --git a/milena/mln/core/dpoints_pixter.hh b/milena/mln/core/dpoints_pixter.hh
index eb19c2b..aeea333 100644
--- a/milena/mln/core/dpoints_pixter.hh
+++ b/milena/mln/core/dpoints_pixter.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -270,7 +270,7 @@ namespace mln
dpoints_fwd_pixter<I>::init_(const Dps& dps)
{
for (unsigned i = 0; i < dps.size(); ++i)
- offset_.push_back(this->image_.delta_index(dps.dp(i)));
+ offset_.push_back(this->image_.delta_offset(dps.dp(i)));
// offset_[0] is absolute
// other offsets are relative:
if (dps.size() > 1)
@@ -381,7 +381,7 @@ namespace mln
dpoints_bkd_pixter<I>::init_(const Dps& dps)
{
for (unsigned i = 0; i < dps.size(); ++i)
- offset_.push_back(this->image_.delta_index(dps.dp(i)));
+ offset_.push_back(this->image_.delta_offset(dps.dp(i)));
// offset_[size() - 1] is absolute
// other offsets are relative:
if (dps.size() > 1)
diff --git a/milena/mln/core/image/image1d.hh b/milena/mln/core/image/image1d.hh
index 53e8611..60f828d 100644
--- a/milena/mln/core/image/image1d.hh
+++ b/milena/mln/core/image/image1d.hh
@@ -189,27 +189,27 @@ namespace mln
// Specific methods:
// -----------------
- /// Read-only access to the image value located at (\p index).
- const T& at_(def::coord index) const;
+ /// Read-only access to the image value located at (\p offset).
+ const T& at_(def::coord offset) const;
- /// Read-write access to the image value located at (\p index).
- T& at_(def::coord index);
+ /// Read-write access to the image value located at (\p offset).
+ T& at_(def::coord offset);
- /// Give the number of indexes.
+ /// Give the number of offsets.
unsigned ninds() const;
/// Fast Image method
- // Give the index of a point.
- using super_::index_of_point;
+ // Give the offset of a point.
+ using super_::offset_of_point;
/// Give the offset corresponding to the delta-point \p dp.
- int delta_index(const dpoint1d& dp) const;
+ int delta_offset(const dpoint1d& dp) const;
/// Give the point corresponding to the offset \p o.
- point1d point_at_index(unsigned i) const;
+ point1d point_at_offset(unsigned i) const;
/// Give a hook to the value buffer.
const T* buffer() const;
@@ -450,10 +450,10 @@ namespace mln
template <typename T>
inline
const T&
- image1d<T>::at_(def::coord index) const
+ image1d<T>::at_(def::coord offset) const
{
- mln_precondition(this->has(point1d(index)));
- return this->data_->array_[index];
+ mln_precondition(this->has(point1d(offset)));
+ return this->data_->array_[offset];
}
template <typename T>
@@ -468,10 +468,10 @@ namespace mln
template <typename T>
inline
T&
- image1d<T>::at_(def::coord index)
+ image1d<T>::at_(def::coord offset)
{
- mln_precondition(this->has(point1d(index)));
- return this->data_->array_[index];
+ mln_precondition(this->has(point1d(offset)));
+ return this->data_->array_[offset];
}
@@ -514,7 +514,7 @@ namespace mln
template <typename T>
inline
int
- image1d<T>::delta_index(const dpoint1d& dp) const
+ image1d<T>::delta_offset(const dpoint1d& dp) const
{
mln_precondition(this->is_valid());
int o = dp[0];
@@ -524,7 +524,7 @@ namespace mln
template <typename T>
inline
point1d
- image1d<T>::point_at_index(unsigned i) const
+ image1d<T>::point_at_offset(unsigned i) const
{
mln_precondition(i < nelements());
def::coord ind = static_cast<def::coord>(i + this->data_->vb_.min_ind());
diff --git a/milena/mln/core/image/image2d.hh b/milena/mln/core/image/image2d.hh
index bc49561..213c7c9 100644
--- a/milena/mln/core/image/image2d.hh
+++ b/milena/mln/core/image/image2d.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -31,9 +31,6 @@
/// Definition of the basic mln::image2d class.
///
/// \todo Re-activate include at EOF when make::image2d is up again.
-///
-/// \todo Rename delta_index and point_at_index as offset and
-/// point_at_offset.
# include <mln/core/internal/image_primary.hh>
# include <mln/core/internal/fixme.hh>
@@ -226,8 +223,8 @@ namespace mln
// As a fastest image:
// -------------------
- // Give the index of a point.
- using super_::index_of_point;
+ // Give the offset of a point.
+ using super_::offset_of_point;
/// Give the border thickness.
unsigned border() const;
@@ -235,17 +232,17 @@ namespace mln
/// Give the number of elements (points including border ones).
unsigned nelements() const;
- /// Read-only access to the image value located at index \p i.
+ /// Read-only access to the image value located at offset \p i.
const T& element(unsigned i) const;
- /// Read-write access to the image value located at index \p i.
+ /// Read-write access to the image value located at offset \p i.
T& element(unsigned i);
- /// Give the delta-index corresponding to the delta-point \p dp.
- int delta_index(const dpoint2d& dp) const;
+ /// Give the delta-offset corresponding to the delta-point \p dp.
+ int delta_offset(const dpoint2d& dp) const;
- /// Give the point corresponding to the index \p i.
- point2d point_at_index(unsigned i) const;
+ /// Give the point corresponding to the offset \p i.
+ point2d point_at_offset(unsigned i) const;
/// Give a hook to the value buffer.
const T* buffer() const;
@@ -571,7 +568,7 @@ namespace mln
template <typename T>
inline
int
- image2d<T>::delta_index(const dpoint2d& dp) const
+ image2d<T>::delta_offset(const dpoint2d& dp) const
{
mln_precondition(this->is_valid());
int o = dp[0] * this->data_->vb_.len(1) + dp[1];
@@ -581,7 +578,7 @@ namespace mln
template <typename T>
inline
point2d
- image2d<T>::point_at_index(unsigned i) const
+ image2d<T>::point_at_offset(unsigned i) const
{
mln_precondition(i < nelements());
def::coord
diff --git a/milena/mln/core/image/image3d.hh b/milena/mln/core/image/image3d.hh
index 59d6908..9a4fabf 100644
--- a/milena/mln/core/image/image3d.hh
+++ b/milena/mln/core/image/image3d.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
+// Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012 EPITA Research and
// Development Laboratory (LRDE)
//
// This file is part of Olena.
@@ -163,7 +163,7 @@ namespace mln
/// 3).
image3d(const box3d& b, unsigned bdr = border::thickness);
- /// Constructor with the numbers of indexes and the
+ /// Constructor with the numbers of offsets and the
/// border thickness.
image3d(int nslis, int nrows, int ncols, unsigned bdr = border::thickness);
@@ -196,10 +196,10 @@ namespace mln
/// Read-write access to the image value located at point \p p.
T& operator()(const point3d& p);
- /// Read-only access to the image value located at index \p i.
+ /// Read-only access to the image value located at offset \p i.
const T& element(unsigned i) const;
- /// Read-write access to the image value located at index \p i.
+ /// Read-write access to the image value located at offset \p i.
T& element(unsigned i);
/// Read-only access to the image value located at (\p sli, \p
@@ -224,10 +224,10 @@ namespace mln
/// Fast Image method
/// Give the offset corresponding to the delta-point \p dp.
- int delta_index(const dpoint3d& dp) const;
+ int delta_offset(const dpoint3d& dp) const;
/// Give the point corresponding to the offset \p o.
- point3d point_at_index(unsigned o) const;
+ point3d point_at_offset(unsigned o) const;
/// Give a hook to the value buffer.
const T* buffer() const;
@@ -569,7 +569,7 @@ namespace mln
template <typename T>
inline
int
- image3d<T>::delta_index(const dpoint3d& dp) const
+ image3d<T>::delta_offset(const dpoint3d& dp) const
{
mln_precondition(this->is_valid());
int o = (dp[0] * this->data_->vb_.len(1)
@@ -580,7 +580,7 @@ namespace mln
template <typename T>
inline
point3d
- image3d<T>::point_at_index(unsigned o) const
+ image3d<T>::point_at_offset(unsigned o) const
{
mln_precondition(o < nelements());
def::coord
diff --git a/milena/mln/core/internal/check/image_fastest.hh b/milena/mln/core/internal/check/image_fastest.hh
index 9aa7c51..95ab8a9 100644
--- a/milena/mln/core/internal/check/image_fastest.hh
+++ b/milena/mln/core/internal/check/image_fastest.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -32,7 +32,7 @@
/// \brief Class that statically checks the interface of fastest
/// images.
///
-/// \todo Check and convert p in index_of_point towards E::psite.
+/// \todo Check and convert p in offset_of_point towards E::psite.
# include <mln/metal/bool.hh>
# include <mln/core/macros.hh>
@@ -62,11 +62,11 @@ namespace mln
/// \warning This method is final.
///
/// \pre The image has to be initialized and to own the point \p p.
- /// \post p == point_at_index(result)
+ /// \post p == point_at_offset(result)
///
template <typename P>
unsigned
- index_of_point(const P& p) const;
+ offset_of_point(const P& p) const;
protected:
image_fastest_();
@@ -94,9 +94,9 @@ namespace mln
typedef mln_fwd_pixter(E) fwd_pixter;
typedef mln_bkd_pixter(E) bkd_pixter;
- int (E::*m1)(const dpsite&) const = & E::delta_index;
+ int (E::*m1)(const dpsite&) const = & E::delta_offset;
(void) m1;
- site (E::*m2)(unsigned) const = & E::point_at_index;
+ site (E::*m2)(unsigned) const = & E::point_at_offset;
(void) m2;
unsigned (E::*m3)() const = & E::border;
(void) m3;
@@ -120,7 +120,7 @@ namespace mln
(void) m8;
# if (defined(__GNUC__) && __GNUC__ >= 3) && !defined(__INTEL_COMPILER)
- unsigned (E::*m9)(const psite& p) const = & E::index_of_point;
+ unsigned (E::*m9)(const psite& p) const = & E::offset_of_point;
(void) m9;
# endif
@@ -131,14 +131,14 @@ namespace mln
template <typename P>
inline
unsigned
- image_fastest_<E,B>::index_of_point(const P& p) const
+ image_fastest_<E,B>::offset_of_point(const P& p) const
{
const E* this_ = & internal::force_exact<E>(*this);
mln_precondition(this_->is_valid());
mln_precondition(this_->has(p));
unsigned i = & this_->operator()(p) - this_->buffer();
- mln_postcondition(p == this_->point_at_index(i));
+ mln_postcondition(p == this_->point_at_offset(i));
return i;
}
diff --git a/milena/mln/core/internal/image_identity.hh b/milena/mln/core/internal/image_identity.hh
index 239ffbf..25e8b3a 100644
--- a/milena/mln/core/internal/image_identity.hh
+++ b/milena/mln/core/internal/image_identity.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -68,14 +69,14 @@ namespace mln
public:
- int delta_index(const mln_deduce(I, psite, delta)& dp) const
+ int delta_offset(const mln_deduce(I, psite, delta)& dp) const
{
- return del_().delta_index(dp);
+ return del_().delta_offset(dp);
}
- mln_site(I) point_at_index(unsigned i) const
+ mln_site(I) point_at_offset(unsigned i) const
{
- return del_().point_at_index(i);
+ return del_().point_at_offset(i);
}
unsigned border() const
diff --git a/milena/mln/core/internal/pixel_impl.hh b/milena/mln/core/internal/pixel_impl.hh
index d0549b1..a07f677 100644
--- a/milena/mln/core/internal/pixel_impl.hh
+++ b/milena/mln/core/internal/pixel_impl.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2010 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2010, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -95,7 +95,7 @@ namespace mln
operator util::pix<unconst_image_t>() const
{
- util::pix<unconst_image_t> tmp(image_, image_.point_at_index(offset()));
+ util::pix<unconst_image_t> tmp(image_, image_.point_at_offset(offset()));
return tmp;
}
diff --git a/milena/mln/core/pixel.hh b/milena/mln/core/pixel.hh
index be6cea4..1ae5781 100644
--- a/milena/mln/core/pixel.hh
+++ b/milena/mln/core/pixel.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -103,7 +104,7 @@ namespace mln
if (this->value_ptr_ == 0 || ! this->image_.is_valid())
return false;
int o = this->value_ptr_ - this->image_.buffer();
- mln_psite(I) p = this->image_.point_at_index(o);
+ mln_psite(I) p = this->image_.point_at_offset(o);
return this->image_.has(p);
}
diff --git a/milena/mln/data/fill_with_value.spe.hh b/milena/mln/data/fill_with_value.spe.hh
index 3f1478a..d7c9557 100644
--- a/milena/mln/data/fill_with_value.spe.hh
+++ b/milena/mln/data/fill_with_value.spe.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -88,7 +89,7 @@ namespace mln
trait::image::value_access::direct))::check();
mln_value(I) v = static_cast<mln_value(I)>(val);
- data::memset_(ima, ima.point_at_index(0), v, opt::nelements(ima));
+ data::memset_(ima, ima.point_at_offset(0), v, opt::nelements(ima));
trace::exiting("data::impl::fill_with_value_one_block");
}
diff --git a/milena/mln/data/memset_.hh b/milena/mln/data/memset_.hh
index 42b1412..a7484b5 100644
--- a/milena/mln/data/memset_.hh
+++ b/milena/mln/data/memset_.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -160,7 +160,7 @@ namespace mln
mln_precondition(input.is_valid());
mln_precondition(input.has(p));
- mln_precondition(input.index_of_point(p) + n <= opt::nelements(input));
+ mln_precondition(input.offset_of_point(p) + n <= opt::nelements(input));
pixel<I> pix(input, p);
impl::memset__(pix, v, n);
diff --git a/milena/mln/io/magick/load.hh b/milena/mln/io/magick/load.hh
index 2acd668..33a42f0 100644
--- a/milena/mln/io/magick/load.hh
+++ b/milena/mln/io/magick/load.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -166,7 +166,7 @@ namespace mln
Magick::PixelPacket* pixels = view.get(0, 0, ima.ncols(), ima.nrows());
mln_value(I) *ptr_ima = &ima(ima.domain().pmin());
- unsigned row_offset = ima.delta_index(dpoint2d(+1, - ncols));
+ unsigned row_offset = ima.delta_offset(dpoint2d(+1, - ncols));
for (def::coord row = minrow; row <= maxrow;
++row, ptr_ima += row_offset)
diff --git a/milena/mln/io/magick/save.hh b/milena/mln/io/magick/save.hh
index 80b20df..252ace8 100644
--- a/milena/mln/io/magick/save.hh
+++ b/milena/mln/io/magick/save.hh
@@ -239,7 +239,7 @@ namespace mln
Magick::PixelPacket* pixels = view.get(0, 0, ncols, nrows);
const mln_value(I) *ptr_ima = &ima(ima.domain().pmin());
- unsigned row_offset = ima.delta_index(dpoint2d(+1, - ncols));
+ unsigned row_offset = ima.delta_offset(dpoint2d(+1, - ncols));
for (def::coord row = minrow; row <= maxrow;
++row, ptr_ima += row_offset)
@@ -302,8 +302,8 @@ namespace mln
const mln_value(I) *ptr_ima = &ima(ima.domain().pmin());
const mln_value(J) *ptr_opacity_mask = &opacity_mask(opacity_mask.domain().pmin());
- unsigned row_offset = ima.delta_index(dpoint2d(+1, - ncols));
- unsigned opacity_row_offset = opacity_mask.delta_index(dpoint2d(+1, - ncols));
+ unsigned row_offset = ima.delta_offset(dpoint2d(+1, - ncols));
+ unsigned opacity_row_offset = opacity_mask.delta_offset(dpoint2d(+1, - ncols));
for (def::coord row = minrow; row <= maxrow;
++row, ptr_ima += row_offset,
diff --git a/milena/mln/labeling/value_and_compute.hh b/milena/mln/labeling/value_and_compute.hh
index e82d8f4..e741790 100644
--- a/milena/mln/labeling/value_and_compute.hh
+++ b/milena/mln/labeling/value_and_compute.hh
@@ -175,7 +175,7 @@ namespace mln
inline
void process__(const mln_psite(I)&, unsigned p, const L& l)
{
- accus_[l].take(input.point_at_index(p));
+ accus_[l].take(input.point_at_offset(p));
}
diff --git a/milena/mln/linear/gaussian_directional_2d.hh b/milena/mln/linear/gaussian_directional_2d.hh
index bda0eda..eb8bc9b 100644
--- a/milena/mln/linear/gaussian_directional_2d.hh
+++ b/milena/mln/linear/gaussian_directional_2d.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2012 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -350,9 +351,9 @@ namespace mln
std::vector<double> tmp1(len);
std::vector<double> tmp2(len);
- unsigned delta_offset = ima.delta_index(d);
+ unsigned delta_offset = ima.delta_offset(d);
unsigned
- o_start = ima.index_of_point(start),
+ o_start = ima.offset_of_point(start),
o_start_d = o_start + delta_offset,
o_start_dd = o_start + 2 * delta_offset,
o_start_ddd = o_start + 3 * delta_offset;
@@ -407,7 +408,7 @@ namespace mln
// extension::fill(ima, bdr);
unsigned
- o_finish = ima.index_of_point(finish),
+ o_finish = ima.offset_of_point(finish),
o_finish_d = o_finish - delta_offset,
o_finish_dd = o_finish - 2 * delta_offset;
diff --git a/milena/mln/subsampling/antialiased.hh b/milena/mln/subsampling/antialiased.hh
index 66bdd33..09caeb7 100644
--- a/milena/mln/subsampling/antialiased.hh
+++ b/milena/mln/subsampling/antialiased.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -187,7 +187,7 @@ namespace mln
const unsigned
factor_2 = factor * factor,
factor_round = factor_2 / 2;
- unsigned offset = input.delta_index(point2d(factor,0) - point2d(0,factor*n));
+ unsigned offset = input.delta_offset(point2d(factor,0) - point2d(0,factor*n));
for_all(s)
{
@@ -267,7 +267,7 @@ namespace mln
const unsigned
factor_2 = factor * factor,
factor_round = factor_2 / 2;
- unsigned offset = input.delta_index(point2d(factor,0) - point2d(0,factor*n));
+ unsigned offset = input.delta_offset(point2d(factor,0) - point2d(0,factor*n));
for_all(s)
{
diff --git a/milena/mln/trait/image/props.hh b/milena/mln/trait/image/props.hh
index c7b7746..2726814 100644
--- a/milena/mln/trait/image/props.hh
+++ b/milena/mln/trait/image/props.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -152,10 +153,10 @@
// => .value_() : rvalue, returns the flat value
// one_block
// => .nelements_() : unsigned, number of buffer elements
-// => .point_at_index_(unsigned index) : point,
-// point corresponding to the index index
-// => .delta_index_(deltapoint dp) : unsigned
-// Return the delta index associated to dp
+// => .point_at_offset_(unsigned offset) : point,
+// point corresponding to the offset offset
+// => .delta_offset_(deltapoint dp) : unsigned
+// Return the delta offset associated to dp
// one_block and value_access::direct
// => element_(unsigned index) : rvalue, returns the element at index.
// => element_(unsigned index) : lvalue, returns the element at index.
diff --git a/milena/mln/transform/internal/closest_point_functor.hh b/milena/mln/transform/internal/closest_point_functor.hh
index 5302502..e5a18cf 100644
--- a/milena/mln/transform/internal/closest_point_functor.hh
+++ b/milena/mln/transform/internal/closest_point_functor.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2012 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -273,7 +274,7 @@ namespace mln
inline
void closest_point_functor_with_sites<I>::init_p_(unsigned p)
{
- cp_ima.element(p) = cp_ima.point_at_index(p);
+ cp_ima.element(p) = cp_ima.point_at_offset(p);
}
template <typename I>
diff --git a/milena/mln/world/binary_2d/subsample.hh b/milena/mln/world/binary_2d/subsample.hh
index 0d8c557..70c9c9e 100644
--- a/milena/mln/world/binary_2d/subsample.hh
+++ b/milena/mln/world/binary_2d/subsample.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2011 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2011, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -94,7 +94,7 @@ namespace mln
image2d<int_u8> output(box<point2d>(pmin, pmax));
dpoint2d dp_row(1, 0);
- const unsigned delta_row = input.delta_index(dp_row);
+ const unsigned delta_row = input.delta_offset(dp_row);
unsigned count = 0;
for (unsigned row = 0; row < nrows; ++row)
--
1.7.2.5
1
0

olena-2.0-106-gde2cb23 doc/tutorial.tex: Add section about multifile compilation.
by Guillaume Lazzara 22 Aug '12
by Guillaume Lazzara 22 Aug '12
22 Aug '12
---
milena/ChangeLog | 4 +
milena/doc/tutorial.tex | 159 +++++++++++++++++++++++++++++++++++++++-------
2 files changed, 138 insertions(+), 25 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 4a14115..ce8608c 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,7 @@
+2012-06-18 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ * doc/tutorial.tex: Add section about multifile compilation.
+
2012-05-23 Guillaume Lazzara <z(a)lrde.epita.fr>
Fix a bug in a tutorial example.
diff --git a/milena/doc/tutorial.tex b/milena/doc/tutorial.tex
index 8fee888..e67a9da 100644
--- a/milena/doc/tutorial.tex
+++ b/milena/doc/tutorial.tex
@@ -952,34 +952,141 @@ result.
\doxysubsection{tuto3howtocompile}{Include path}
-If Milena has been installed in a custom directory, e.g. not /usr/include or
-/usr/local/include, the path to the library headers must be passed to the
-compiler.
+If Milena has been installed in a custom directory, e.g. not
+/usr/include or /usr/local/include, the path to the library headers
+must be passed to the compiler.
With g++ and MinGW, the option is \B{-I$<$path$>$}.
\begin{verbatim}
$ g++ -Ipath/to/mln my_program.cc
\end{verbatim}
-For other compilers, please look at the documentation and search for ``include
-path''.
-
+For other compilers, please look at the documentation and search for
+``include path''.
\doxysubsection{tuto3liblink}{Library linking}
-As it is usually expected when using a library, no library linking is needed for
-the library itself.
-Milena is a ``header only'' library and is compiled ``on demand'' with your
-program.
+As it is usually expected when using a library, no library linking is
+needed for the library itself. Milena is a ``header only'' library
+and is compiled ``on demand'' with your program.
+
+If you use specific input/output you may need to link your program
+with the right graphic library. For more information, please refer to
+section \doxyref{inputoutput} in the Quick Reference Guide.
+
+
+\doxysubsection{tuto3multifile}{Multifile Compilation}
+
+In some cases, one might want to use Olena in a more complex program
+compiled through several independant files.
+
+Let's consider the program is composed of two files both including
+Milena headers:
+\begin{itemize}
+ \item main.cc
+ \item task.cc
+\end{itemize}
+
+Content of main.cc
+\begin{verbatim}
+#include <mln/core/image/image2d.hh>
+
+// Main.cc
-If you use specific input/output you may need to link your program with the
-right graphic library. For more information, please refer to section
-\doxyref{inputoutput} in the Quick Reference Guide.
+// Forward declaration.
+void f();
+
+int main()
+{
+ mln::image2d<int> ima;
+}
+\end{verbatim}
+
+Content of task.cc
+\begin{verbatim}
+#include <mln/core/image/image2d.hh>
+
+// task.cc
+
+void f()
+{
+ mln::image2d<int> ima;
+}
+
+\end{verbatim}
+
+The following call to the compiler will fail:
+\begin{verbatim}
+$ g++ -Ipath/to/mln main.cc task.cc
+/tmp/ccRaVKO2.o:(.data+0x0): multiple definition of `mln::trace::quiet'
+/tmp/ccAArtQl.o:(.data+0x0): first defined here
+/tmp/ccRaVKO2.o:(.bss+0x0): multiple definition of `mln::trace::tab'
+/tmp/ccAArtQl.o:(.bss+0x0): first defined here
+/tmp/ccRaVKO2.o:(.bss+0x4): multiple definition of `mln::trace::full_trace'
+/tmp/ccAArtQl.o:(.bss+0x4): first defined here
+/tmp/ccRaVKO2.o:(.bss+0x8): multiple definition of `mln::trace::internal::max_tab'
+[...]
+collect2: ld returned 1 exit status
+\end{verbatim}
+
+This issue is due to the ``header only'' architecture of the library
+and to global variables. global variable symbols are compiled for each
+files and it leads to symbols conflicts.
+
+The solution is to force the compiler to compile these symbols only
+once. Olena provided a mechanism to do this.
+
+In one of the files including olena headers, at the very top of
+the file (before any includes), add the following line:
+\begin{verbatim}
+#undef MLN_WO_GLOBAL_VARS
+\end{verbatim}
+
+For instance, we would have in main.cc:
+\begin{verbatim}
+#undef MLN_WO_GLOBAL_VARS
+#include <mln/core/image/image2d.hh>
+
+// Main.cc
+
+// Forward declaration.
+void f();
+
+int main()
+{
+ f();
+}
+
+\end{verbatim}
+
+The compile the sources again with the define:
+\begin{verbatim}
+$ g++ -DMLN_WO_GLOBAL_VARS -Ipath/to/mln main.cc task.cc
+\end{verbatim}
+
+The previous duplicate symbols will then be compiled thanks to main.cc
+which force the effective declaration of the global symbols. Because
+of the default define at compile time, any .cc files including headers
+from the library will just declare but not define global symbols.
+
+For that reason, sometimes one may also encounter the following error
+after defining MLN\_WO\_GLOBAL\_VARS.
+\begin{verbatim}
+g++ -DMLN_WO_GLOBAL_VARS -I$PWD/milena/ main.cc task.cc
+/tmp/cc4Ys1xX.o: In function `f()':
+task.cc:(.text+0x6): undefined reference to `mln::border::thickness'
+collect2: ld returned 1 exit status
+\end{verbatim}
+In our case, it would be because task.cc includes and uses global
+symbols which are not included in main.cc. Therefore, they are defined
+but never compiled. Here, the file main.cc should include the
+corresponding headers.
\doxysubsection{tuto3compildndebug}{Disable Debug}
-By default, Olena enables a lot of internal pre and post conditions. Usually,
-this is a useful feature and it should be enabled. It can heavily slow down a
-program though and these tests can be disabled by compiling using -DNDEBUG:
+By default, Olena enables a lot of internal pre and post
+conditions. Usually, this is a useful feature and it should be
+enabled. It can heavily slow down a program though and these tests can
+be disabled by compiling using -DNDEBUG:
\begin{verbatim}
$ g++ -DNDEBUG -Ipath/to/mln my_program.cc
@@ -987,20 +1094,22 @@ $ g++ -DNDEBUG -Ipath/to/mln my_program.cc
\doxysubsection{tuto3compoptimflags}{Compiler optimization flags}
-In this section you will find remarks about the compiler optimization flags and
-their impact on the compilation and execution time.
+In this section you will find remarks about the compiler optimization
+flags and their impact on the compilation and execution time.
\doxysubsubsection{tuto3compoptimgcc}{GCC}
\begin{itemize}
- \item \B{-O0}, combined with -DNDEBUG, it leads to the fastest compilation
- time. The execution is somewhat slow though since dispatch functions and one
- line members are not inlined by the compiler.
- \item \B{-O1}, best compromise between compilation time and execution time.
- \item \B{-O2}, \B{-O3}, combined with -DNDEBUG, it leads to the best execution
- time. However these optimizations dramatically slow down the compilation and
- requires much more memory at compile time.
+ \item \B{-O0}, combined with -DNDEBUG, it leads to the fastest
+ compilation time. The execution is somewhat slow though since
+ dispatch functions and one line members are not inlined by the
+ compiler.
+ \item \B{-O1}, best compromise between compilation time and
+ execution time.
+ \item \B{-O2}, \B{-O3}, combined with -DNDEBUG, it leads to the best
+ execution time. However these optimizations dramatically slow down
+ the compilation and requires much more memory at compile time.
\end{itemize}
\doxysubsubsection{tuto3compoptimother}{Other compilers}
--
1.7.2.5
1
0
* doc/examples/split/tuto4_genericity_and_algorithms-4.cc.raw,
* doc/examples/split/tuto4_genericity_and_algorithms-5.cc.raw: Update.
* doc/examples/tuto4_genericity_and_algorithms.cc: Include last
column and last row in computation.
---
milena/ChangeLog | 10 ++++++++++
.../split/tuto4_genericity_and_algorithms-4.cc.raw | 4 ++--
.../split/tuto4_genericity_and_algorithms-5.cc.raw | 4 ++--
.../examples/tuto4_genericity_and_algorithms.cc | 8 ++++----
4 files changed, 18 insertions(+), 8 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index 32b7764..4a14115 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,13 @@
+2012-05-23 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Fix a bug in a tutorial example.
+
+ * doc/examples/split/tuto4_genericity_and_algorithms-4.cc.raw,
+ * doc/examples/split/tuto4_genericity_and_algorithms-5.cc.raw: Update.
+
+ * doc/examples/tuto4_genericity_and_algorithms.cc: Include last
+ column and last row in computation.
+
2012-02-28 Guillaume Lazzara <z(a)lrde.epita.fr>
* doc/Makefile.am: Disable the use of installdox and fix doc
diff --git a/milena/doc/examples/split/tuto4_genericity_and_algorithms-4.cc.raw b/milena/doc/examples/split/tuto4_genericity_and_algorithms-4.cc.raw
index 888c001..5471c2f 100644
--- a/milena/doc/examples/split/tuto4_genericity_and_algorithms-4.cc.raw
+++ b/milena/doc/examples/split/tuto4_genericity_and_algorithms-4.cc.raw
@@ -1,5 +1,5 @@
p_array<point2d> arr;
- for (def::coord row = geom::min_row(lena); row < geom::max_row(lena); ++row)
- for (def::coord col = geom::min_row(lena); col < geom::max_col(lena); ++col)
+ for (def::coord row = geom::min_row(lena); row <= geom::max_row(lena); ++row)
+ for (def::coord col = geom::min_row(lena); col <= geom::max_col(lena); ++col)
if (((row + col) % 2) == 0)
arr.append(point2d(row, col));
diff --git a/milena/doc/examples/split/tuto4_genericity_and_algorithms-5.cc.raw b/milena/doc/examples/split/tuto4_genericity_and_algorithms-5.cc.raw
index 6a17639..e8822f1 100644
--- a/milena/doc/examples/split/tuto4_genericity_and_algorithms-5.cc.raw
+++ b/milena/doc/examples/split/tuto4_genericity_and_algorithms-5.cc.raw
@@ -1,4 +1,4 @@
- for (def::coord row = geom::min_row(lena); row < geom::max_row(lena); ++row)
- for (def::coord col = geom::min_row(lena); col < geom::max_col(lena); ++col)
+ for (def::coord row = geom::min_row(lena); row <= geom::max_row(lena); ++row)
+ for (def::coord col = geom::min_row(lena); col <= geom::max_col(lena); ++col)
if (((row + col) % 2) == 0)
opt::at(lena, row, col) = literal::green;
diff --git a/milena/doc/examples/tuto4_genericity_and_algorithms.cc b/milena/doc/examples/tuto4_genericity_and_algorithms.cc
index 5639e84..16def80 100644
--- a/milena/doc/examples/tuto4_genericity_and_algorithms.cc
+++ b/milena/doc/examples/tuto4_genericity_and_algorithms.cc
@@ -95,14 +95,14 @@ int main()
lena = duplicate(lena_bak);
// \{
p_array<point2d> arr;
- for (def::coord row = geom::min_row(lena); row < geom::max_row(lena); ++row)
- for (def::coord col = geom::min_row(lena); col < geom::max_col(lena); ++col)
+ for (def::coord row = geom::min_row(lena); row <= geom::max_row(lena); ++row)
+ for (def::coord col = geom::min_row(lena); col <= geom::max_col(lena); ++col)
if (((row + col) % 2) == 0)
arr.append(point2d(row, col));
// \}
// \{
- for (def::coord row = geom::min_row(lena); row < geom::max_row(lena); ++row)
- for (def::coord col = geom::min_row(lena); col < geom::max_col(lena); ++col)
+ for (def::coord row = geom::min_row(lena); row <= geom::max_row(lena); ++row)
+ for (def::coord col = geom::min_row(lena); col <= geom::max_col(lena); ++col)
if (((row + col) % 2) == 0)
opt::at(lena, row, col) = literal::green;
// \}
--
1.7.2.5
1
0
---
milena/doc/Makefile.am | 6 +-
milena/doc/examples/box2d-bbox.cc | 2 +-
milena/doc/examples/split/box2d-bbox-1.cc.raw | 2 +-
milena/doc/img/src/2dgrid.tikz | 16 +
milena/doc/img/src/standalone.cfg | 34 +
milena/doc/img/src/standalone.cls | 837 +++++++++++++++++++++++++
milena/doc/img/src/ydoc.cfg | 40 ++
milena/doc/img/src/ydoc.cls | 21 +
milena/doc/ref-guide.tex | 21 +-
9 files changed, 958 insertions(+), 21 deletions(-)
create mode 100644 milena/doc/img/src/2dgrid.tikz
create mode 100644 milena/doc/img/src/standalone.cfg
create mode 100644 milena/doc/img/src/standalone.cls
create mode 100644 milena/doc/img/src/ydoc.cfg
create mode 100644 milena/doc/img/src/ydoc.cls
diff --git a/milena/doc/Makefile.am b/milena/doc/Makefile.am
index 1761308..4c83006 100644
--- a/milena/doc/Makefile.am
+++ b/milena/doc/Makefile.am
@@ -83,7 +83,9 @@ SUFFIXES += .pbm .pgm .ppm .png
PNG_FIGURES = \
$(PBM_FIGURES:.pbm=.png) \
$(PGM_FIGURES:.pgm=.png) \
- $(PPM_FIGURES:.ppm=.png)
+ $(PPM_FIGURES:.ppm=.png) \
+ $(srcdir)/img/genericity.png \
+ $(srcdir)/img/2dgrid.png
EXTRA_DIST += $(PNG_FIGURES)
MAINTAINERCLEANFILES += $(PNG_FIGURES)
@@ -181,7 +183,7 @@ regen-split-examples-mk:
## Doxygen documentation. ##
## ----------------------- ##
-REFMAN_deps = \
+REFMAN_deps = \
$(PNG_FIGURES) \
$(srcdir)/tutorial.hh \
$(srcdir)/ref-guide.hh
diff --git a/milena/doc/examples/box2d-bbox.cc b/milena/doc/examples/box2d-bbox.cc
index 7707514..5e03b49 100644
--- a/milena/doc/examples/box2d-bbox.cc
+++ b/milena/doc/examples/box2d-bbox.cc
@@ -6,7 +6,7 @@ int main()
// \{
box2d b(2,3);
- // The bbox can be retrived in constant time.
+ // The bbox can be retrieved in constant time.
std::cout << b.bbox() << std::endl;
// nsites can be retrieved in constant time.
diff --git a/milena/doc/examples/split/box2d-bbox-1.cc.raw b/milena/doc/examples/split/box2d-bbox-1.cc.raw
index e6b3e0c..d785d13 100644
--- a/milena/doc/examples/split/box2d-bbox-1.cc.raw
+++ b/milena/doc/examples/split/box2d-bbox-1.cc.raw
@@ -1,6 +1,6 @@
box2d b(2,3);
- // The bbox can be retrived in constant time.
+ // The bbox can be retrieved in constant time.
std::cout << b.bbox() << std::endl;
// nsites can be retrieved in constant time.
diff --git a/milena/doc/img/src/2dgrid.tikz b/milena/doc/img/src/2dgrid.tikz
new file mode 100644
index 0000000..fa2988c
--- /dev/null
+++ b/milena/doc/img/src/2dgrid.tikz
@@ -0,0 +1,16 @@
+\documentclass[tikz]{standalone}
+\begin{document}
+\begin{tikzpicture}[scale=1]
+
+\draw[blue!20, thick] (-2, -2) grid [right=0.5cm,above=0.5cm,step=1cm] (3, 3);
+\draw[line width=1mm] (-1, -1) grid [step=1cm] (3, 3);
+\draw[black,line width=2mm,<-] (0, -2) node {y} -- (0, 4);
+\draw[black,line width=2mm,->] (-2, 3) node {x} -- (4, 3);
+
+\foreach \x in {-0.5, 0.5, 1.5, 2.5}
+ \foreach \y in {-0.5, 0.5, 1.5, 2.5}
+ \node at (\x, \y) [fill=blue!30] {};
+
+\draw[black] (2.5, 1.5) -- (4, 2) node {Point2d(1, 2)};
+\end{tikzpicture}
+\end{document}
\ No newline at end of file
diff --git a/milena/doc/img/src/standalone.cfg b/milena/doc/img/src/standalone.cfg
new file mode 100644
index 0000000..ab1ffbb
--- /dev/null
+++ b/milena/doc/img/src/standalone.cfg
@@ -0,0 +1,34 @@
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesFile{standalone.cfg}[%
+ 2012/04/13
+ v1.0b
+ Default configuration file for 'standalone' class]%
+%% Enabled the "varwidth" option if the "varwidth" package is available:
+%%\IfFileExists{varwidth.sty}{%
+%% \standaloneconfig{varwidth}%
+%%}{}%
+
+%% Default options:
+\standaloneconfig{crop}
+
+%% Option which 'preview' should be loaded with
+\PassOptionsToPackage{active,tightpage}{preview}%
+
+%% Enable 'preview' option by default:
+%%\standaloneconfig{preview}
+
+%% Remove the border:
+\standaloneconfig{border=0pt}
+
+%% Default preview border (used by standalone v0.x):
+%%\standaloneconfig{border=0.50001bp}
+
+%% Disable navigation symbols in beamer.
+%% This must be done AtEndOfClass because the options are not processed yet,
+%% so "beamer" mode is not enabled yet.
+\AtEndOfClass{%
+\ifstandalonebeamer
+ \setbeamertemplate{navigation symbols}{}%
+\fi
+}
+%% vim: ft=tex
diff --git a/milena/doc/img/src/standalone.cls b/milena/doc/img/src/standalone.cls
new file mode 100644
index 0000000..a60e7bf
--- /dev/null
+++ b/milena/doc/img/src/standalone.cls
@@ -0,0 +1,837 @@
+%% Copyright (C) 2011 by Martin Scharrer <martin(a)scharrer-online.de>
+%% ---------------------------------------------------------------------------
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Martin Scharrer.
+%%
+%% This work consists of the files <+name+>.dtx and <+name+>.ins
+%% and the derived filebase <+name+>.sty.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{standalone}[%
+ 2012/04/13
+ v1.0b
+ Class to compile TeX sub-files standalone]
+\newif\ifstandalone
+\standalonetrue
+\newif\ifstandalonebeamer
+\standalonebeamerfalse
+\let\onlyifstandalone\@firstofone
+\let\IfStandalone\@firstoftwo
+\def\sa@border@left{0.50001bp}
+\let\sa@border@right\sa@border@left
+\let\sa@border@top\sa@border@left
+\let\sa@border@bottom\sa@border@left
+\def\rem@bp#1bp\relax#2\@nnil{#1}%
+\def\default@bp#1#2{%
+ \begingroup
+ \afterassignment\remove@to@nnil
+ \dimen@ #2bp\relax\@nnil
+ \expandafter
+ \endgroup
+ \expandafter
+ \def\expandafter#1\expandafter{\the\dimen@}%
+}
+\def\sa@readborder#1 #2 #3 #4 #5\@nnil{%
+ \ifx\\#2#3#4\\%
+ \default@bp\sa@border@left{#1}%
+ \let\sa@border@right\sa@border@left
+ \let\sa@border@top\sa@border@left
+ \let\sa@border@bottom\sa@border@left
+ \else
+ \ifx\\#4\\%
+ \default@bp\sa@border@left{#1}%
+ \let\sa@border@right\sa@border@left
+ \default@bp\sa@border@top{#2}%
+ \let\sa@border@bottom\sa@border@top
+ \else
+ \default@bp\sa@border@left{#1}%
+ \default@bp\sa@border@bottom{#2}%
+ \default@bp\sa@border@right{#3}%
+ \default@bp\sa@border@top{#4}%
+ \fi\fi
+}%
+\expandafter\ifx\csname ifluatex\endcsname\relax
+ \IfFileExists{ifluatex.sty}{\@firstoftwo}{\@secondoftwo}{%
+ \RequirePackage{ifluatex}
+ }{
+ \begingroup
+ \expandafter\ifx\csname directlua\endcsname\relax
+ \endgroup
+ \expandafter\let\csname ifluatex\expandafter\endcsname\csname iffalse\endcsname
+ \else
+ \endgroup
+ \expandafter\let\csname ifluatex\expandafter\endcsname\csname iftrue\endcsname
+ \fi
+ }
+\fi
+\expandafter\ifx\csname ifpdf\endcsname\relax
+ \IfFileExists{ifpdf.sty}{\@firstoftwo}{\@secondoftwo}{%
+ \RequirePackage{ifpdf}
+ }{
+ \begingroup
+ \expandafter\ifx\csname pdfoutput\endcsname\relax
+ \endgroup
+ \expandafter\let\csname ifpdf\expandafter\endcsname\csname iffalse\endcsname
+ \else
+ \endgroup
+ \ifnum\pdfoutput<1
+ \expandafter\let\csname ifpdf\expandafter\endcsname\csname iffalse\endcsname
+ \else
+ \expandafter\let\csname ifpdf\expandafter\endcsname\csname iftrue\endcsname
+ \fi
+ \fi
+ }
+\fi
+\expandafter\ifx\csname ifxetex\endcsname\relax
+ \IfFileExists{ifxetex.sty}{\@firstoftwo}{\@secondoftwo}{%
+ \RequirePackage{ifxetex}
+ }{
+ \begingroup
+ \expandafter\ifx\csname XeTeXrevision\endcsname\relax
+ \endgroup
+ \expandafter\let\csname ifxetex\expandafter\endcsname\csname iffalse\endcsname
+ \else
+ \endgroup
+ \expandafter\let\csname ifxetex\expandafter\endcsname\csname iftrue\endcsname
+ \fi
+ }
+\fi
+\let\sa@classoptionslist\@classoptionslist
+\RequirePackage{xkeyval}
+\newif\ifsa@preview
+\newif\ifsa@crop
+\newif\ifsa@multi
+\newif\ifsa@varwidth
+\newif\ifsa@ignorerest
+\newif\ifsa@ignoreempty
+\newif\ifsa@tikz
+\newif\ifsa@pstricks
+\newif\ifsa@convert
+\newif\ifsa@float
+\newif\ifsa@math
+\let\sa@beamertrue\standalonebeamertrue
+\let\sa@beamerfalse\standalonebeamerfalse
+\def\sa@clsoption{%
+ \define(a)key{standalone.cls}%
+}
+\sa@clsoption{border}{%
+ \sa@readborder#1 {} {} {} {} \@nnil
+}
+\def\sa@boolean#1#2{%
+ \sa@boolorvalue{#1}{#2}%
+ {\ClassError{standalone}{Invalid value '#2' for boolean key '#1'}{}}%
+}
+\def\sa@boolorvalue#1#2{%
+ \begingroup
+ \edef\@tempa{#2}%
+ \def\@tempb{true}%
+ \ifx\@tempa\@tempb
+ \endgroup
+ \csname sa@#1true\endcsname
+ \expandafter\@gobble
+ \else
+ \def\@tempb{false}%
+ \ifx\@tempa\@tempb
+ \endgroup
+ \csname sa@#1false\endcsname
+ \expandafter\expandafter
+ \expandafter\@gobble
+ \else
+ \endgroup
+ \expandafter\expandafter
+ \expandafter\@firstofone
+ \fi\fi
+}
+\sa@clsoption{preview}[true]{%
+ \sa@boolean{preview}{#1}%
+ \ifsa@preview
+ \setkeys{standalone.cls}{crop=false,float=false}%
+ \fi
+}
+\sa@previewtrue
+\sa@clsoption{crop}[true]{%
+ \sa@boolean{crop}{#1}%
+ \ifsa@crop
+ \setkeys{standalone.cls}{preview=false,float=false}%
+ \fi
+}
+\sa@clsoption{ignorerest}[true]{%
+ \sa@boolean{ignorerest}{#1}%
+}
+\sa@clsoption{ignoreempty}[true]{%
+ \sa@boolean{ignoreempty}{#1}%
+}
+\sa@clsoption{multi}[true]{%
+ \sa@boolorvalue{multi}{#1}{\sa@multitrue\AtBeginDocument{\standaloneenv{#1}}}%
+}
+\sa@clsoption{math}[true]{%
+ \sa@boolean{math}{#1}%
+ \ifsa@math
+ \setkeys{standalone.cls}{multi=true,ignoreempty=true,border=0.50001bp}%
+ \fi
+}
+\AtBeginDocument{\ifsa@math\sa@math\fi}
+\def\sa@math{%
+ \standaloneenv{math}%
+ \def\({\begingroup\math}%
+ \def\){\endmath\endgroup}%
+ \def\[{\(\displaystyle}%
+ \def\]{\)}%
+ \def\displaymath{\math\displaystyle}%
+ \def\enddisplaymath{\endmath}%
+ \newcommand*\multimathsep{%
+ \endmath
+ \math
+ \let\\\multimathsep
+ }%
+ \newenvironment{multimath}{%
+ \math
+ \let\\\multimathsep
+ }{%
+ \endmath
+ }%
+ \newcommand*\multidisplaymathsep{%
+ \endmath
+ \math\displaystyle
+ \let\\\multidisplaymathsep
+ }%
+ \newenvironment{multidisplaymath}{%
+ \math\displaystyle
+ \let\\\multidisplaymathsep
+ }{%
+ \endmath
+ }%
+}
+\sa@clsoption{varwidth}[true]{%
+ \sa@boolorvalue{varwidth}{#1}{\sa@varwidthtrue\def\sa@width{#1}}%
+ \ifsa@varwidth
+ \def\sa@varwidth{\varwidth{\sa@width}}%
+ \def\sa@endvarwidth{\endvarwidth}%
+ \else
+ \let\sa@varwidth\@empty
+ \let\sa@endvarwidth\@empty
+ \fi
+}
+\let\sa@varwidth\@empty
+\let\sa@endvarwidth\@empty
+\sa@clsoption{tikz}[true]{%
+ \sa@boolean{tikz}{#1}%
+ \ifsa@tikz
+ \setkeys{standalone.cls}{multi=tikzpicture,varwidth=false}%
+ \fi
+}
+\sa@clsoption{pstricks}[true]{%
+ \sa@boolean{pstricks}{#1}%
+ \ifsa@pstricks
+ \setkeys{standalone.cls}{multi=pspicture,varwidth=false}%
+ \fi
+}
+\sa@clsoption{beamer}[true]{%
+ \sa@boolean{beamer}{#1}%
+ \ifstandalonebeamer
+ \def\sa@class{beamer}%
+ \setkeys{standalone.cls}{preview=false,crop=false,varwidth=false}%
+ \else
+ \begingroup
+ \def\@tempa{beamer}%
+ \ifx\@tempa\sa@class
+ \endgroup
+ \def\sa@class{article}%
+ \else
+ \endgroup
+ \fi
+ \fi
+}
+\sa@clsoption{class}{%
+ \def\sa@class{#1}%
+}
+\def\sa@class{article}
+\sa@clsoption{float}[true]{%
+ \sa@boolean{float}{#1}%
+ \ifsa@float
+ \let\@float\sa@origfloat
+ \let\end@float\sa@origendfloat
+ \else
+ \ifx\@float\sa@nofloat\else
+ \let\sa@origfloat\@float
+ \fi
+ \ifx\end@float\sa@endnofloat\else
+ \let\sa@origendfloat\end@float
+ \fi
+ \let\@float\sa@nofloat
+ \let\end@float\sa@endnofloat
+ \fi
+}
+\def\sa@nofloat#1{%
+ \def\@captype{#1}%
+ \trivlist\item[]%
+ \@ifnextchar[{%
+ \begingroup
+ \def\@tempa[####1]{%
+ \endgroup
+ }\@tempa
+ }{}%
+}
+\def\sa@endnofloat{%
+ \endtrivlist
+}
+\sa@clsoption{convert}[]{%
+ \setkeys{standalone.cls/convert}{true,#1}%
+}
+\sa@clsoption{disable@convert}[]{%
+ \typeout{Disable conversion}
+ \sa@convertfalse
+ \let\sa@converttrue\relax
+}
+\def\sa@convertoption{%
+ \define(a)key{standalone.cls/convert}%
+}
+\def\sa@convertvar#1#2{%
+ \define(a)key{standalone.cls/convert}{#1}{%
+ \@namedef{sa@convert@#1}{##1}%
+ }%
+ \@namedef{sa@convert@#1}{#2}%
+}
+\sa@convertoption{true}[]{%
+ \sa@converttrue
+}
+\sa@convertoption{false}[]{%
+ \sa@convertfalse
+}
+\sa@convertoption{png}[]{%
+ \setkeys{standalone.cls/convert}{true,outext={.png}}%
+}
+\sa@clsoption{png}[]{%
+ \setkeys{standalone.cls/convert}{png,#1}%
+}
+\sa@convertoption{jpg}[]{%
+ \setkeys{standalone.cls/convert}{true,outext={.jpg}}%
+}
+\sa@clsoption{jpg}[]{%
+ \setkeys{standalone.cls/convert}{jpg,#1}%
+}
+\sa@convertoption{gif}[]{%
+ \setkeys{standalone.cls/convert}{true,outext={.gif}}%
+}
+\sa@clsoption{gif}[]{%
+ \setkeys{standalone.cls/convert}{gif,#1}%
+}
+\sa@convertoption{onfailure}{%
+ \begingroup
+ \edef\@tempa{#1}%
+ \def\@tempb{error}%
+ \ifx\@tempa\@tempb
+ \endgroup
+ \let\sa@convert@failuremsg\ClassError
+ \else
+ \def\@tempb{warning}%
+ \ifx\@tempa\@tempb
+ \endgroup
+ \let\sa@convert@failuremsg\ClassWarning
+ \else
+ \def\@tempb{info}%
+ \ifx\@tempa\@tempb
+ \endgroup
+ \let\sa@convert@failuremsg\ClassInfo
+ \else
+ \def\@tempb{ignore}%
+ \ifx\@tempa\@tempb
+ \endgroup
+ \def\sa@convert@failuremsg##1##2##3{}%
+ \let\sa@convert@notfoundmsg\@gobbletwo
+ \else
+ \let\on@line\@empty
+ \ClassError{standalone}{Invalid value '\@tempa' for the 'onfailure' option.\MessageBreak
+ Valid values: 'error', 'warning', 'info', 'ignore'}{}%
+ \endgroup
+ \fi\fi\fi\fi
+}
+\let\sa@convert@failuremsg\ClassWarning
+\let\sa@convert@notfoundmsg\ClassWarning
+\sa@convertoption{defgsdevice}{%
+ \sa@defgsdevice#1\relax\relax
+}
+\def\sa@defgsdevice#1#2{%
+ \@namedef{sa@gsdevice@#1}{#2}%
+}
+\@namedef{sa@gsdevice@.jpg}{jpeg}%
+\@namedef{sa@gsdevice@.png}{png16m}%
+\sa@convertoption{command}{%
+ \def\sa@convert@command{#1}%
+}
+\sa@convertoption{pdf2svg}[]{%
+ \def\sa@convert@command{pdf2svg \infile\space\outfile}%
+ \sa(a)convertvar{outext}{.svg}
+}
+\sa@convertoption{imagemagick}[]{%
+ \def\sa@convert@command{\convertexe\space -density \density\space \infile\space \ifx\size\empty\else -resize \size\fi\space -quality 90 \outfile}%
+}
+\sa@convertoption{ghostscript}[]{%
+ \def\sa@convert@command{\gsexe\space -dSAFER -dBATCH -dNOPAUSE -sDEVICE=\gsdevice\space -r\density\space -sOutputFile=\outfile\space \infile}%
+}
+\sa@convertvar{subjobname}{\jobname}
+\sa@convertvar{size}{}
+\sa@convertvar{inname}{\subjobname}
+\sa@convertvar{infile}{\inname\inext}
+\sa(a)convertvar{outext}{.png}
+\sa@convertvar{outname}{\inname}
+\sa@convertvar{outfile}{\outname\ifsa@multi-\@percentchar d\fi\outext}
+\sa@convertvar{density}{300}
+\sa@convertvar{gsdevice}{%
+ \expandafter\ifx\csname sa@gsdevice@\outext\endcsname\relax
+ \expandafter\@gobble\outext
+ \else
+ \csname sa@gsdevice@\outext\endcsname
+ \fi
+}
+\ifluatex
+ \sa@convertvar{latex}{lualatex}
+ \sa(a)convertvar{inext}{.pdf}
+ \sa@convertvar{precommand}{}
+ \setkeys{standalone.cls/convert}{imagemagick}
+\else
+\ifpdf
+ \sa@convertvar{latex}{pdflatex}
+ \sa(a)convertvar{inext}{.pdf}
+ \sa@convertvar{precommand}{}
+ \setkeys{standalone.cls/convert}{imagemagick}
+\else
+\ifxetex
+ \sa@convertvar{latex}{xelatex}
+ \sa(a)convertvar{inext}{.pdf}
+ \sa@convertvar{precommand}{}
+ \setkeys{standalone.cls/convert}{imagemagick}
+\else
+ \sa@convertvar{latex}{latex}
+ \sa(a)convertvar{inext}{.ps}
+ \sa@convertvar{precommand}{dvips \jobname.dvi}
+ \setkeys{standalone.cls/convert}{ghostscript}
+\fi\fi\fi
+\begingroup
+\ifluatex
+ \csname @tempswa\directlua{
+ if os.type == "windows" then
+ tex.sprint("true")
+ else
+ tex.sprint("false")
+ end
+ }\endcsname
+\else
+ \IfFileExists{/dev/null}{\@tempswafalse}{\@tempswatrue}%
+\fi
+\if@tempswa
+ \endgroup
+ \sa@convertvar{convertexe}{imgconvert}
+ \sa@convertvar{gsexe}{gswin32c}
+\else
+ \endgroup
+ \sa@convertvar{convertexe}{convert}
+ \sa@convertvar{gsexe}{gs}
+\fi
+\newcommand*\standaloneenv[1]{%
+ \begingroup
+ \edef\@tempa{\endgroup\noexpand\@for\noexpand\@tempa:=\zap@space#1 \@empty}%
+ \@tempa\do{\expandafter\@standaloneenv\expandafter{\@tempa}}%
+ \setkeys{standalone.cls}{multi}%
+}
+\@onlypreamble\standaloneenv
+\newcommand*{\standaloneconfig}{\setkeys{standalone.cls}}
+\let\@standaloneenv\@gobble
+\newcount\sa@internal
+\let\standalone\empty
+\let\endstandalone\relax
+\def\sa@width{\linewidth}
+\InputIfFileExists{standalone.cfg}{}{}
+\begingroup
+\def\(a)tempa{\endgroup\setkeys*{standalone.cls}}
+\expandafter\expandafter\expandafter\@tempa
+\expandafter\expandafter\expandafter{\csname opt(a)standalone.cls\endcsname}
+\let\@classoptionslist\XKV@rm
+\disable(a)keys{standalone.cls}{crop,preview,class,beamer,ignorerest}
+\AtBeginDocument{%
+ \disable(a)keys{standalone.cls}{multi}%
+}
+\expandafter\expandafter\expandafter\LoadClass
+\expandafter\expandafter\expandafter[%
+\expandafter\@classoptionslist
+\expandafter]\expandafter{\sa@class}
+\ifsa@varwidth
+ \RequirePackage{varwidth}
+\fi
+\ifsa@tikz
+ \RequirePackage{tikz}
+\fi
+\ifsa@pstricks
+ \RequirePackage{pstricks}
+\fi
+\ifsa@preview
+\RequirePackage{preview}
+\ifsa@multi\else
+ \@ifundefined{endstandalone}{%
+ \renewenvironment{standalone}
+ {\preview\sa@varwidth}
+ {\sa@endvarwidth\endpreview}
+ }{}% TODO: Add info message?
+\fi
+\def\PreviewBbAdjust{-\sa@border@left\space -\sa@border@bottom\space \sa@border@right\space \sa@border@top}%
+\def\@standaloneenv#1{%
+ \expandafter\ifx\csname sa@orig@#1\endcsname\relax
+ \expandafter\let\csname sa@orig@#1\expandafter\endcsname\csname #1\endcsname
+ \expandafter\let\csname sa@orig@end#1\expandafter\endcsname\csname end#1\endcsname
+ \fi
+ \expandafter\def\csname #1\endcsname{%
+ \ifnum\sa@internal=0
+ \preview
+ \sa@varwidth
+ \fi
+ \advance\sa@internal\@ne
+ \csname sa@orig@#1\endcsname
+ }%
+ \expandafter\def\csname end#1\endcsname{%
+ \csname sa@orig@end#1\endcsname
+ \advance\sa@internal\m@ne
+ \ifnum\sa@internal=0
+ \sa@endvarwidth
+ \endpreview
+ \fi
+ }%
+}%
+\fi
+\ifsa@crop
+\newbox\sa@box
+\pagestyle{empty}
+\hoffset=-72.27pt
+\voffset=-72.27pt
+\topmargin=0pt
+\headheight=0pt
+\headsep=0pt
+\marginparsep=0pt
+\marginparwidth=0pt
+\footskip=0pt
+\marginparpush=0pt
+\oddsidemargin=0pt
+\evensidemargin=0pt
+\topskip=0pt
+\textheight=\maxdimen
+\def\sa@boxit{%
+ \setbox\sa@box\hbox\bgroup\color@setgroup\sa@varwidth
+}%
+\def\endsa@boxit{%
+ \sa@endvarwidth\color@endgroup\egroup
+}%
+\renewenvironment{standalone}{%
+ \ifsa@multi
+ \ifsa@ignorerest
+ \sa@boxit
+ \fi
+ \else
+ \sa@boxit
+ \fi
+}{%
+ \ifsa@multi
+ \ifsa@ignorerest
+ \endsa@boxit
+ \fi
+ \else
+ \endsa@boxit
+ \sa@handlebox
+ \fi
+}
+\ifsa@multi\else
+ \sa@ignorerestfalse
+\fi
+\ifsa@ignorerest
+ \def\@standaloneenv#1{%
+ \expandafter\ifx\csname sa@orig@#1\endcsname\relax
+ \expandafter\let\csname sa@orig@#1\expandafter\endcsname\csname #1\endcsname
+ \expandafter\let\csname sa@orig@end#1\expandafter\endcsname\csname end#1\endcsname
+ \fi
+ \expandafter\def\csname #1\endcsname{%
+ \ifnum\sa@internal=0
+ \edef\@tempa{\endgroup
+ \noexpand\endsa@boxit
+ \begingroup
+ \def\noexpand\@currenvir{\@currenvir}%
+ \def\noexpand\@currenvline{\@currenvline}%
+ }%
+ \@tempa
+ \sa@boxit
+ \fi
+ \advance\sa@internal\@ne
+ \csname sa@orig@#1\endcsname
+ }%
+ \expandafter\def\csname end#1\endcsname{%
+ \csname sa@orig@end#1\endcsname
+ \advance\sa@internal\m@ne
+ \ifnum\sa@internal=0
+ \endsa@boxit
+ \sa@handlebox
+ \aftergroup\sa@boxit
+ \fi
+ }%
+ }%
+\else
+ \def\@standaloneenv#1{%
+ \expandafter\ifx\csname sa@orig@#1\endcsname\relax
+ \expandafter\let\csname sa@orig@#1\expandafter\endcsname\csname #1\endcsname
+ \expandafter\let\csname sa@orig@end#1\expandafter\endcsname\csname end#1\endcsname
+ \fi
+ \expandafter\def\csname #1\endcsname{%
+ \ifnum\sa@internal=0
+ \sa@boxit
+ \fi
+ \advance\sa@internal\@ne
+ \csname sa@orig@#1\endcsname
+ }%
+ \expandafter\def\csname end#1\endcsname{%
+ \csname sa@orig@end#1\endcsname
+ \advance\sa@internal\m@ne
+ \ifnum\sa@internal=0
+ \endsa@boxit
+ \sa@handlebox
+ \fi
+ }%
+ }%
+\fi
+\def\sa@handlebox{%
+ \ifcase
+ 0%
+ \ifsa@ignoreempty
+ \ifdim\wd\sa@box=\z@
+ \ifdim\ht\sa@box=\z@
+ \ifdim\dp\sa@box=\z@
+ 1%
+ \fi\fi\fi
+ \fi
+ \relax
+ \sbox\sa@box{%
+ \hskip\sa@border@left
+ \@tempdima=\ht\sa@box
+ \advance\@tempdima\sa@border@top\relax
+ \ht\sa@box=\@tempdima
+ \@tempdima=\dp\sa@box
+ \advance\@tempdima\sa@border@bottom\relax
+ \dp\sa@box=\@tempdima
+ \raise\dp\sa@box
+ \box\sa@box
+ \hskip\sa@border@right
+ }%
+ \sa@placebox
+ \fi
+}
+\ifcase0%
+ \ifpdf\else\ifluatex\else\ifxetex\else 1\fi\fi\fi
+ \relax
+ \def\sa@placebox{%
+ \newpage
+ \global\pdfpagewidth=\wd\sa@box
+ \global\pdfpageheight=\ht\sa@box
+ \global\paperwidth=\wd\sa@box
+ \global\paperheight=\ht\sa@box
+ \global\hsize=\wd\sa@box
+ \global\vsize=\ht\sa@box
+ \global\@colht=\ht\sa@box
+ \global\@colroom=\ht\sa@box
+ \noindent\usebox\sa@box
+ \newpage
+ }
+ \else
+ \def\sa@placebox{%
+ \global\paperwidth=\wd\sa@box
+ \global\paperheight=\ht\sa@box
+ \global\@colht=\maxdimen
+ \global\@colroom=\maxdimen
+ \global\hsize=\maxdimen
+ \global\vsize=\maxdimen
+ \sa@papersize
+ \ifsa@multi
+ \begingroup
+ \(a)tempdima0.99626\paperwidth
+ \(a)tempdimb0.99626\paperheight
+ \edef\@tempc{\strip@pt\@tempdima}%
+ \edef\@tempd{\strip@pt\@tempdimb}%
+ \advance\@tempdima by .998pt
+ \advance\@tempdimb by .998pt
+ \def\strip(a)float##1.##2\relax{##1}%
+ \edef\@tempa{\expandafter\strip@float\the\@tempdima\relax}%
+ \edef\@tempb{\expandafter\strip@float\the\@tempdimb\relax}%
+ \special{ps::%
+ \@percentchar\@percentchar PageBoundingBox: 0 0 \@tempa\space\@tempb^^J%
+ \@percentchar\@percentchar HiResPageBoundingBox: 0 0 \@tempc\space\@tempd^^J%
+ \@percentchar\@percentchar BeginPageSetup^^J%
+ << /PageSize [\@tempc\space\@tempd]
+ >> setpagedevice^^J%<<
+ 0 0 bop^^J%
+ \@percentchar\@percentchar EndPageSetup}%
+ \endgroup
+ \fi
+ \topskip=0pt
+ \noindent\sa@ps@content
+ \newpage
+ }
+\def\sa@ps@content{%
+ \noindent\usebox\sa@box
+ \global\def\sa@ps@content{%
+ \@tempdima\sa@yoffset
+ \advance\@tempdima-\topskip
+ \dp\sa@box\z@
+ \ht\sa@box\z@
+ \noindent\lower\@tempdima\copy\sa@box
+ }%
+}
+\def\sa@papersize{%
+ \global\let\sa@papersize\relax
+ \special{papersize=\the\paperwidth,\the\paperheight}%
+ \global\sa@yoffset=\paperheight
+ \special{ps::%
+ \@percentchar\@percentchar HiResBoundingBox: 0 0 \the\paperwidth\space\the\paperheight^^J%
+ }%
+}
+\newlength\sa@yoffset
+\fi
+\fi
+\ifstandalonebeamer
+\newenvironment{standaloneframe}{%
+ \@ifnextchar<%
+ {\@standaloneframe}%
+ {\@@standaloneframe{}}%
+}{\end{frame}}%
+\def\@standaloneframe<#1>{%
+ \@@standaloneframe{<#1>}%
+}
+\def\@@standaloneframe#1{%
+ \@ifnextchar[%]
+ {\@@@standaloneframe{#1}}%
+ {\@@@standaloneframe{#1}[]}%
+}%
+\def\@@@standaloneframe#1[{%
+ \@ifnextchar<%
+ {\@@@@standaloneframe{#1}[}%
+ {\@@@@@@standaloneframe{#1}[}%
+}%
+\def\@@@@standaloneframe#1[#2]{%
+ \@ifnextchar[%]
+ {\@@@@@standaloneframe{#1}{#2}}%
+ {\begin{frame}#1[#2][environment=standaloneframe]}%
+}%
+\def\@@@@@standaloneframe#1#2[#3]{%
+ \begin{frame}#1[#2][environment=standaloneframe,#3]%
+}%
+\def\@@@@@@standaloneframe#1[#2]{%
+ \begin{frame}#1[environment=standaloneframe,#2]%
+}%
+\fi
+\expandafter\ifx\csname sa@internal@run\endcsname\relax\else
+ \sa@convertfalse
+\fi
+\ifsa@convert
+\begingroup
+\let\on@line\@gobble
+\def\sa@convert#1{%
+ \IfFileExists{\outfile}{%
+ \edef\filemodbefore{\csname pdffilemoddate\endcsname{\outfile}}%
+ }{%
+ \IfFileExists{\outname\outext}{%
+ \edef\filemodbefore{\csname pdffilemoddate\endcsname{\outname\outext}}%
+ }{%
+ \IfFileExists{\outname-0\outext}{%
+ \edef\filemodbefore{\csname pdffilemoddate\endcsname{\outname-0\outext}}%
+ }{%
+ \IfFileExists{\outname-1\outext}{%
+ \edef\filemodbefore{\csname pdffilemoddate\endcsname{\outname-1\outext}}%
+ }{%
+ \def\filemodbefore{}%
+ }}}}%
+ \immediate\write18{\sa@convert@latex\space -jobname '\sa@convert@subjobname' '\noexpand\expandafter\def\noexpand\csname sa@internal@run\noexpand\endcsname{1}\noexpand\input{\jobname}'}%
+ \edef\sa@convert@precommand{\sa@convert@precommand}%
+ \ifx\sa@convert@precommand\@empty\else
+ \immediate\write18{\sa@convert@precommand}%
+ \fi
+ \immediate\write18{\sa@convert@command}%
+ \@tempswafalse
+ \IfFileExists{\outfile}{%
+ \@tempswatrue
+ }{%
+ \IfFileExists{\outname\outext}{%
+ \@tempswatrue
+ \def\outfile{\outname\outext}%
+ }{%
+ \IfFileExists{\outname-0\outext}{%
+ \@tempswatrue
+ \def\outfile{\outname-0\outext}%
+ }{%
+ \IfFileExists{\outname-1\outext}{%
+ \@tempswatrue
+ \def\outfile{\outname-1\outext}%
+ }{%
+ }}}}%
+ \if@tempswa
+ \edef\filemodafter{\csname pdffilemoddate\endcsname{\outfile}}%
+ \ifx\filemodbefore\filemodafter
+ \expandafter\ifx\csname pdffilemoddate\endcsname\relax\else
+ \sa@convert@failuremsg{standalone}{#1}{}%
+ \fi
+ \else
+ \ClassInfo{standalone}{Conversion successful.}%
+ \fi
+ \else
+ \sa@convert@failuremsg{standalone}{#1}{}%
+ \fi
+}
+\let\subjobname\sa@convert@subjobname
+\let\infile\sa@convert@infile
+\let\inext\sa@convert@inext
+\let\inname\sa@convert@inname
+\let\gsdevice\sa@convert@gsdevice
+\let\convertexe\sa@convert@convertexe
+\let\gsexe\sa@convert@gsexe
+\let\density\sa@convert@density
+\let\size\sa@convert@size
+\let\outext\sa@convert@outext
+\let\outname\sa@convert@outname
+\let\outfile\sa@convert@outfile
+\let\percent\@percentchar
+\ifcase0%
+ \expandafter\ifx\csname pdfshellescape\endcsname\relax
+ \ifeof18 \else 3\fi
+ \else\the\pdfshellescape\fi
+\relax% 0
+ \sa@convert@failuremsg
+ {standalone}{Shell escape disabled! Cannot convert file '\infile'.}{}%
+\or% 1
+ \sa@convert{Conversion unsuccessful!\MessageBreak
+ There might be something wrong with your\MessageBreak
+ conversation software or the file permissions!}%
+\else% 2 or 3
+ \sa@convert{Conversion failed! Please ensure that shell escape\MessageBreak is enabled (e.g. use '-shell-escape').}%
+\fi
+\endgroup
+\expandafter\stop
+\fi
+\begingroup
+\toks@\expandafter{%
+ \document
+ \sa@cls@afterbegindocument
+}
+\xdef\document{\the\toks@}%
+\toks@\expandafter{%
+ \expandafter
+ \sa@cls@beforeenddocument
+ \enddocument
+}
+\xdef\enddocument{\the\toks@}%
+\endgroup
+\def\sa@cls@afterbegindocument{\standalone\ignorespaces}
+\def\sa@cls@beforeenddocument{\ifhmode\unskip\fi\endstandalone}
+\endinput
+%%
+%% End of file `standalone.cls'.
diff --git a/milena/doc/img/src/ydoc.cfg b/milena/doc/img/src/ydoc.cfg
new file mode 100644
index 0000000..049f0f4
--- /dev/null
+++ b/milena/doc/img/src/ydoc.cfg
@@ -0,0 +1,40 @@
+%%
+%% This is file `ydoc.cfg',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ydoc.dtx (with options: `ydoc.cfg')
+%%
+%% Please delete the following line on manual changes:
+\ProvidesFile{ydoc.cfg}[%
+ 2011/11/19
+ v0.6alpha
+ Default config file for ydoc]
+\usepackage[T1]{fontenc}
+\IfFileExists{fourier.sty}{%
+ \usepackage{fourier}
+}{}
+\IfFileExists{lmodern.sty}{
+ \IfFileExists{fourier.sty}{
+ \renewcommand{\ttdefault}{lmtt}
+ }{
+ \usepackage{lmodern}
+ }
+}{}
+\urlstyle{sf}
+\usepackage{ifpdf}
+\ifpdf
+\usepackage{microtype}
+\fi
+\usepackage{array}
+\usepackage{booktabs}
+\usepackage{multicol}
+\usepackage{xcolor}
+\usepackage{listings}
+\usepackage{booktabs}
+\usepackage{hyperref}
+\reversemarginpar
+\endinput
+%%
+%% End of file `ydoc.cfg'.
diff --git a/milena/doc/img/src/ydoc.cls b/milena/doc/img/src/ydoc.cls
new file mode 100644
index 0000000..a2bc248
--- /dev/null
+++ b/milena/doc/img/src/ydoc.cls
@@ -0,0 +1,21 @@
+%%
+%% This is file `ydoc.cls',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% ydoc.dtx (with options: `ydoc.cls')
+%%
+\NeedsTeXFormat{LaTeX2e}[1999/12/01]
+\ProvidesClass{ydoc}[%
+ 2011/11/19
+ v0.6alpha
+ ydoc class: document LaTeX class and packages]
+\PassOptionsToClass{a4paper}{article}
+\DeclareOption*{\expandafter\PassOptionsToClass\expandafter{\CurrentOption}{article}}
+\ProcessOptions\relax
+\LoadClass{article}
+\RequirePackage{ydoc}
+\endinput
+%%
+%% End of file `ydoc.cls'.
diff --git a/milena/doc/ref-guide.tex b/milena/doc/ref-guide.tex
index 3328947..6e4a790 100644
--- a/milena/doc/ref-guide.tex
+++ b/milena/doc/ref-guide.tex
@@ -290,22 +290,9 @@ This concept allows us to divide a pixel into two information:
Let's say we have a 2D grid like this:
-%FIXME: Find a way to get that figure in HTML output.
-\begin{latexonly}
-\begin{tikzpicture}[scale=1]
-
-\draw[blue!20, thick] (-2, -2) grid [right=0.5cm,above=0.5cm,step=1cm] (3, 3);
-\draw[line width=1mm] (-1, -1) grid [step=1cm] (3, 3);
-\draw[black,line width=2mm,<-] (0, -2) node {y} -- (0, 4);
-\draw[black,line width=2mm,->] (-2, 3) node {x} -- (4, 3);
-
-\foreach \x in {-0.5, 0.5, 1.5, 2.5}
- \foreach \y in {-0.5, 0.5, 1.5, 2.5}
- \node at (\x, \y) [fill=blue!30] {};
-
-\draw[black] (2.5, 1.5) -- (4, 2) node {Point2d(2, 2)};
-\end{tikzpicture}
-\end{latexonly}
+\begin{center}
+\doxyimg{2dgrid}{3cm}
+\end{center}
On such a regular grid, in 2D, we usually use a 2D point as a site which
means we have the following equivalence:
@@ -407,7 +394,7 @@ const Box\& & bbox & - & X & Bounding box. Available only on grid site sets.
\end{tabular} \\
The previous methods are available depending on the site set. A box
-will have the bbox() method since it can be retrived in constant time: a box
+will have the bbox() method since it can be retrieved in constant time: a box
is it's own bounding box.
\doxycode{box2d-bbox}
--
1.7.2.5
1
0
---
milena/apps/graph-morpho/morpho.hh | 18 ++-
milena/doc/Doxyfile.in | 4 +-
milena/doc/DoxygenLayout.xml | 48 +++---
milena/mln/accu/internal/couple.hh | 16 +-
milena/mln/core/box_runend_piter.hh | 13 +-
milena/mln/core/box_runstart_piter.hh | 13 +-
milena/mln/core/concept/delta_point_site.hh | 16 ++-
milena/mln/core/concept/dpoint.hh | 25 ++--
milena/mln/core/concept/function.hh | 9 +-
milena/mln/core/concept/gdpoint.hh | 9 +-
milena/mln/core/concept/meta_accumulator.hh | 32 ++--
milena/mln/core/concept/neighborhood.hh | 10 +-
milena/mln/core/concept/pseudo_site.hh | 13 +-
milena/mln/core/concept/site.hh | 8 +-
milena/mln/core/concept/site_proxy.hh | 7 +-
milena/mln/core/concept/site_set.hh | 19 ++-
milena/mln/core/dpoints_pixter.hh | 26 ++-
milena/mln/core/dpsites_piter.hh | 28 ++--
milena/mln/core/image/ch_piter.hh | 7 +-
milena/mln/core/image/complex_image.hh | 13 +-
.../mln/core/image/complex_neighborhood_piter.hh | 13 +-
milena/mln/core/image/complex_window_piter.hh | 14 +-
milena/mln/core/image/dmorph/extended.hh | 7 +-
milena/mln/core/image/dmorph/extension_fun.hh | 7 +-
milena/mln/core/image/dmorph/extension_ima.hh | 7 +-
milena/mln/core/image/dmorph/extension_val.hh | 7 +-
milena/mln/core/image/dmorph/hexa.hh | 14 +-
milena/mln/core/image/dmorph/hexa_piter.hh | 19 ++-
milena/mln/core/image/dmorph/image2d_h.hh | 3 +-
milena/mln/core/image/dmorph/image_if.hh | 8 +-
milena/mln/core/image/dmorph/p2p_image.hh | 8 +-
milena/mln/core/image/dmorph/slice_image.hh | 7 +-
milena/mln/core/image/dmorph/sub_image.hh | 7 +-
milena/mln/core/image/dmorph/sub_image_if.hh | 7 +-
milena/mln/core/image/dmorph/transformed_image.hh | 9 +-
milena/mln/core/image/dmorph/unproject_image.hh | 8 +-
milena/mln/core/image/edge_image.hh | 7 +-
milena/mln/core/image/flat_image.hh | 7 +-
milena/mln/core/image/graph_window_if_piter.hh | 8 +-
milena/mln/core/image/graph_window_piter.hh | 28 ++-
milena/mln/core/image/image1d.hh | 9 +-
milena/mln/core/image/image2d.hh | 22 ++-
milena/mln/core/image/image3d.hh | 7 +-
milena/mln/core/image/imorph/decorated_image.hh | 8 +-
milena/mln/core/image/imorph/interpolated.hh | 7 +-
milena/mln/core/image/imorph/labeled_image.hh | 7 +-
milena/mln/core/image/imorph/lazy_image.hh | 8 +-
milena/mln/core/image/imorph/plain.hh | 9 +-
milena/mln/core/image/imorph/safe.hh | 9 +-
milena/mln/core/image/imorph/tr_image.hh | 8 +-
milena/mln/core/image/vertex_image.hh | 8 +-
milena/mln/core/image/vmorph/cast_image.hh | 7 +-
milena/mln/core/image/vmorph/fun_image.hh | 9 +-
milena/mln/core/image/vmorph/thru_image.hh | 14 +-
milena/mln/core/image/vmorph/thrubin_image.hh | 9 +-
milena/mln/core/image/vmorph/violent_cast_image.hh | 9 +-
milena/mln/core/internal/box_impl.hh | 12 +-
milena/mln/core/internal/check/image_fastest.hh | 9 +-
milena/mln/core/internal/classical_window_base.hh | 8 +-
.../mln/core/internal/complex_neighborhood_base.hh | 16 +-
milena/mln/core/internal/complex_window_base.hh | 24 ++-
milena/mln/core/internal/complex_window_p_base.hh | 24 ++-
milena/mln/core/internal/fixme.hh | 12 +-
milena/mln/core/internal/graph_psite_base.hh | 9 +-
milena/mln/core/internal/graph_window_base.hh | 10 +-
milena/mln/core/internal/image_base.hh | 19 ++-
milena/mln/core/internal/image_domain_morpher.hh | 19 ++-
milena/mln/core/internal/image_identity.hh | 14 +-
milena/mln/core/internal/image_morpher.hh | 13 +-
milena/mln/core/internal/image_primary.hh | 10 +-
milena/mln/core/internal/image_value_morpher.hh | 14 +-
.../mln/core/internal/is_masked_impl_selector.hh | 21 ++-
milena/mln/core/internal/labeled_image_base.hh | 26 ++--
milena/mln/core/internal/morpher_lvalue.hh | 10 +-
milena/mln/core/internal/neighb_base.hh | 15 +-
milena/mln/core/internal/neighb_niter_base.hh | 9 +-
milena/mln/core/internal/neighb_niter_impl.hh | 97 +++++++----
milena/mln/core/internal/neighborhood_base.hh | 19 ++-
milena/mln/core/internal/piter_adaptor.hh | 15 +-
milena/mln/core/internal/piter_identity.hh | 15 +-
milena/mln/core/internal/pixel_impl.hh | 20 ++-
milena/mln/core/internal/pixel_iterator_base.hh | 18 ++-
milena/mln/core/internal/pseudo_site_base.hh | 13 +-
milena/mln/core/internal/run_image.hh | 16 +-
milena/mln/core/internal/set_of.hh | 26 ++--
.../core/internal/site_relative_iterator_base.hh | 24 ++--
milena/mln/core/internal/site_set_base.hh | 18 ++-
milena/mln/core/internal/site_set_iterator_base.hh | 20 ++-
milena/mln/core/internal/weighted_window_base.hh | 13 +-
milena/mln/core/internal/window_base.hh | 14 +-
milena/mln/core/pixter1d.hh | 13 +-
milena/mln/core/pixter2d.hh | 13 +-
milena/mln/core/pixter3d.hh | 13 +-
milena/mln/core/routine/ops.hh | 32 +++-
.../core/site_set/attic/p_complex_faces_piter.hh | 17 ++-
milena/mln/core/site_set/attic/p_faces_piter.hh | 17 ++-
milena/mln/core/site_set/box_piter.hh | 31 ++--
milena/mln/core/site_set/complex_psite.hh | 5 +-
milena/mln/core/site_set/p_array.hh | 20 ++-
milena/mln/core/site_set/p_complex_piter.hh | 12 +-
milena/mln/core/site_set/p_edges_psite.hh | 9 +-
milena/mln/core/site_set/p_graph_piter.hh | 13 +-
milena/mln/core/site_set/p_if_piter.hh | 21 ++-
milena/mln/core/site_set/p_n_faces_piter.hh | 22 ++-
milena/mln/core/site_set/p_run_piter.hh | 17 +-
milena/mln/core/site_set/p_transformed_piter.hh | 27 ++--
milena/mln/core/site_set/p_vertices_psite.hh | 10 +-
milena/mln/fun/c.hh | 13 +-
milena/mln/fun/internal/ch_function_value_impl.hh | 8 +-
milena/mln/fun/v2v/ch_function_value.hh | 5 +-
milena/mln/fun/x2x/composed.hh | 14 +-
milena/mln/geom/complex_geometry.hh | 9 +-
milena/mln/labeling/blobs.hh | 8 +-
milena/mln/labeling/blobs_and_compute.hh | 11 +-
milena/mln/metal/ands.hh | 10 +-
milena/mln/metal/bexpr.hh | 31 +++-
milena/mln/metal/bool.hh | 13 +-
milena/mln/metal/converts_to.hh | 8 +-
milena/mln/metal/equal.hh | 11 +-
milena/mln/metal/goes_to.hh | 15 +-
milena/mln/metal/if.hh | 13 +-
milena/mln/metal/int.hh | 8 +-
milena/mln/metal/is.hh | 11 +-
milena/mln/metal/is_a.hh | 39 +++--
milena/mln/metal/is_not.hh | 13 +-
milena/mln/metal/is_not_a.hh | 8 +-
milena/mln/pw/image.hh | 8 +-
milena/mln/pw/internal/image_base.hh | 13 +-
.../topo/adj_higher_dim_connected_n_face_iter.hh | 26 ++--
milena/mln/topo/adj_higher_face_iter.hh | 26 ++--
.../topo/adj_lower_dim_connected_n_face_iter.hh | 27 ++--
milena/mln/topo/adj_lower_face_iter.hh | 26 ++--
milena/mln/topo/adj_lower_higher_face_iter.hh | 25 ++-
milena/mln/topo/adj_m_face_iter.hh | 33 +++--
milena/mln/topo/attic/faces_iter.hh | 25 ++-
milena/mln/topo/center_only_iter.hh | 35 ++--
milena/mln/topo/centered_iter_adapter.hh | 29 ++--
milena/mln/topo/complex.hh | 88 ++++++----
milena/mln/topo/face_data.hh | 5 +-
milena/mln/topo/face_iter.hh | 25 ++-
milena/mln/topo/internal/complex_iterator_base.hh | 14 +-
.../internal/complex_relative_iterator_base.hh | 47 +++--
.../internal/complex_relative_iterator_sequence.hh | 24 ++-
.../mln/topo/internal/complex_set_iterator_base.hh | 13 +-
milena/mln/topo/n_face_iter.hh | 24 ++-
milena/mln/topo/static_n_face_iter.hh | 31 ++--
milena/mln/trait/ch_function_value.hh | 5 +-
milena/mln/trait/image/props.hh | 13 +-
milena/mln/trait/images.hh | 4 +-
milena/mln/trait/neighborhood.hh | 30 +++-
milena/mln/trait/promote.hh | 17 ++-
milena/mln/trait/site_set/props.hh | 180 ++++++++++++-------
milena/mln/trait/site_sets.hh | 26 ++-
milena/mln/trait/solve.hh | 22 ++-
milena/mln/trait/window/props.hh | 73 +++++++--
milena/mln/trait/windows.hh | 29 ++-
milena/mln/util/branch_iter.hh | 17 +-
milena/mln/util/branch_iter_ind.hh | 17 +-
milena/mln/util/edge.hh | 5 +-
milena/mln/util/graph.hh | 9 +-
milena/mln/util/internal/edge_impl.hh | 32 ++---
milena/mln/util/internal/graph_base.hh | 7 +-
milena/mln/util/internal/graph_iter.hh | 27 ++-
milena/mln/util/internal/vertex_impl.hh | 27 +--
milena/mln/util/lemmings.hh | 6 +-
milena/mln/util/line_graph.hh | 7 +-
milena/mln/util/site_pair.hh | 9 +-
milena/mln/util/vertex.hh | 7 +-
milena/mln/value/internal/value_like.hh | 15 +-
milena/mln/value/stack.hh | 8 +-
milena/mln/value/viter.hh | 23 ++-
171 files changed, 1927 insertions(+), 1073 deletions(-)
diff --git a/milena/apps/graph-morpho/morpho.hh b/milena/apps/graph-morpho/morpho.hh
index bcdcdd9..c1e8484 100644
--- a/milena/apps/graph-morpho/morpho.hh
+++ b/milena/apps/graph-morpho/morpho.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2012 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -68,7 +69,10 @@
namespace trait
{
- /// Graph traits.
+ /*!
+ \internal
+ \brief Graph traits.
+ */
template <typename I>
struct graph
{
@@ -89,7 +93,10 @@ namespace trait
// Graph traits for (mln::image2d-based) cubical 2-complexes. //
// ----------------------------------------------------------- //
- /// Graph traits for mln::image2d.
+ /*!
+ \internal
+ \brief Graph traits for mln::image2d.
+ */
template <typename T>
struct graph< mln::image2d<T> >
{
@@ -128,7 +135,10 @@ namespace trait
// Graph traits for (general) 1-complexes. //
// ---------------------------------------- //
- /// Graph traits for 1-complexes images.
+ /*!
+ \internal
+ \brief Graph traits for 1-complexes images.
+ */
template <typename G, typename V>
struct graph< mln::complex_image<1, G, V> >
{
diff --git a/milena/doc/Doxyfile.in b/milena/doc/Doxyfile.in
index 9b1cfd6..6ebdcf4 100644
--- a/milena/doc/Doxyfile.in
+++ b/milena/doc/Doxyfile.in
@@ -564,7 +564,7 @@ SHOW_FILES = NO
# This will remove the Namespaces entry from the Quick Index
# and from the Folder Tree View (if specified). The default is YES.
-SHOW_NAMESPACES = YES
+SHOW_NAMESPACES = NO
# The FILE_VERSION_FILTER tag can be used to specify a program or script that
# doxygen should invoke to get the current version for each file (typically from
@@ -859,7 +859,7 @@ ALPHABETICAL_INDEX = YES
# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
# in which this list will be split (can be a number in the range [1..20])
-COLS_IN_ALPHA_INDEX = 5
+COLS_IN_ALPHA_INDEX = 2
# In case all classes in a project start with a common prefix, all
# classes will be put under the same header in the alphabetical index.
diff --git a/milena/doc/DoxygenLayout.xml b/milena/doc/DoxygenLayout.xml
index 5559bca..05f050a 100644
--- a/milena/doc/DoxygenLayout.xml
+++ b/milena/doc/DoxygenLayout.xml
@@ -2,23 +2,31 @@
<!-- Navigation index tabs for HTML output -->
<navindex>
<tab type="mainpage" visible="yes" title="Milena"/>
- <tab type="pages" visible="yes" title="" intro=""/>
- <tab type="modules" visible="yes" title="" intro=""/>
- <tab type="namespaces" visible="yes" title="">
- <tab type="namespacelist" visible="yes" title="" intro=""/>
- <tab type="namespacemembers" visible="yes" title="" intro=""/>
+ <tab type="pages" visible="no" title="" intro=""/>
+ <tab type="usergroup" url="@ref mainpage" title="Getting started">
+ <tab type="user" url="@ref quickref" title="Quick Reference Guide"/>
+ <tab type="user" url="@ref tutorial" title="Tutorial"/>
</tab>
- <tab type="classes" visible="yes" title="">
- <tab type="classlist" visible="yes" title="" intro=""/>
+ <tab type="modules" visible="yes" title="API Reference Manual" intro=""/>
+ <tab type="namespaces" visible="no" title="">
+ <tab type="namespacelist" visible="no" title="" intro=""/>
+ <tab type="namespacemembers" visible="no" title="" intro=""/>
+ </tab>
+ <tab type="classindex" visible="$ALPHABETICAL_INDEX" title="All Classes"/>
+ <tab type="classes" visible="no" title="">
+ <tab type="classlist" visible="no" title="" intro=""/>
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
- <tab type="hierarchy" visible="yes" title="" intro=""/>
- <tab type="classmembers" visible="yes" title="" intro=""/>
+ <tab type="hierarchy" visible="no" title="" intro=""/>
+ <tab type="classmembers" visible="no" title="" intro=""/>
</tab>
- <tab type="files" visible="yes" title="">
+ <tab type="files" visible="no" title="">
<tab type="filelist" visible="yes" title="" intro=""/>
<tab type="globals" visible="yes" title="" intro=""/>
</tab>
- <tab type="examples" visible="yes" title="" intro=""/>
+ <tab type="examples" visible="yes" title="Examples" intro=""/>
+ <tab type="user" url="@ref examples" title="Examples"/>
+ <tab type="user" url="@ref demos" title="Demos"/>
+ <tab type="user" url="http://www.lrde.epita.fr/cgi-bin/twiki/view/Olena/Publications" title="Publications"/>
</navindex>
<!-- Layout definition for a class page -->
@@ -29,20 +37,20 @@
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
<allmemberslink visible="yes"/>
<memberdecl>
- <nestedclasses visible="yes" title=""/>
- <publictypes title=""/>
- <publicslots title=""/>
- <signals title=""/>
<publicmethods title=""/>
<publicstaticmethods title=""/>
<publicattributes title=""/>
<publicstaticattributes title=""/>
- <protectedtypes title=""/>
- <protectedslots title=""/>
<protectedmethods title=""/>
<protectedstaticmethods title=""/>
<protectedattributes title=""/>
<protectedstaticattributes title=""/>
+ <publictypes title=""/>
+ <publicslots title=""/>
+ <protectedtypes title=""/>
+ <protectedslots title=""/>
+ <nestedclasses visible="yes" title=""/>
+ <signals title=""/>
<packagetypes title=""/>
<packagemethods title=""/>
<packagestaticmethods title=""/>
@@ -62,15 +70,15 @@
</memberdecl>
<detaileddescription title=""/>
<memberdef>
- <inlineclasses title=""/>
- <typedefs title=""/>
- <enums title=""/>
<constructors title=""/>
<functions title=""/>
<related title=""/>
<variables title=""/>
<properties title=""/>
<events title=""/>
+ <inlineclasses title=""/>
+ <typedefs title=""/>
+ <enums title=""/>
</memberdef>
<usedfiles visible="$SHOW_USED_FILES"/>
<authorsection visible="yes"/>
diff --git a/milena/mln/accu/internal/couple.hh b/milena/mln/accu/internal/couple.hh
index 55c6cc4..2e861b3 100644
--- a/milena/mln/accu/internal/couple.hh
+++ b/milena/mln/accu/internal/couple.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2012 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -47,11 +48,14 @@ namespace mln
namespace internal
{
- /// Base implementation of a couple of accumulators.
- ///
- /// The parameter \c T is the type of values.
- ///
- /// \todo Check that, when T is not provided, A1 and A2 have the same value.
+ /*!
+ \internal
+ \brief Base implementation of a couple of accumulators.
+
+ The parameter \c T is the type of values.
+
+ \todo Check that, when T is not provided, A1 and A2 have the same value.
+ */
template <typename A1, typename A2, typename R, typename E>
class couple
: public base<R,E>,
diff --git a/milena/mln/core/box_runend_piter.hh b/milena/mln/core/box_runend_piter.hh
index e40760f..fdb886f 100644
--- a/milena/mln/core/box_runend_piter.hh
+++ b/milena/mln/core/box_runend_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2012 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -41,10 +42,12 @@
namespace mln
{
- /*! \brief A generic backward iterator on points by lines.
- *
- * The parameter \c P is the type of points.
- */
+ /*!
+ \internal
+ \brief A generic backward iterator on points by lines.
+
+ The parameter \c P is the type of points.
+ */
template <typename P>
class box_runend_piter :
public internal::site_set_iterator_base< box<P>,
diff --git a/milena/mln/core/box_runstart_piter.hh b/milena/mln/core/box_runstart_piter.hh
index d031a2b..dec4a42 100644
--- a/milena/mln/core/box_runstart_piter.hh
+++ b/milena/mln/core/box_runstart_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -41,10 +42,12 @@
namespace mln
{
- /*! \brief A generic forward iterator on points by lines.
- *
- * The parameter \c P is the type of points.
- */
+ /*!
+ \internal
+ \brief A generic forward iterator on points by lines.
+
+ The parameter \c P is the type of points.
+ */
template <typename P>
class box_runstart_piter :
public internal::site_set_iterator_base< box<P>,
diff --git a/milena/mln/core/concept/delta_point_site.hh b/milena/mln/core/concept/delta_point_site.hh
index 693320f..b7107a9 100644
--- a/milena/mln/core/concept/delta_point_site.hh
+++ b/milena/mln/core/concept/delta_point_site.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -65,7 +66,10 @@ namespace mln
- /// Delta point site category flag type.
+ /*!
+ \internal
+ \brief Delta point site category flag type.
+ */
template <>
struct Delta_Point_Site<void>
{
@@ -73,8 +77,10 @@ namespace mln
};
- /*! \brief FIXME: Doc!
- */
+ /*!
+ \internal
+ \brief FIXME: Doc!
+ */
template <typename E>
struct Delta_Point_Site : public Object<E>
{
@@ -101,7 +107,7 @@ namespace mln
// Operators.
template <typename D>
- std::ostream&
+ std::ostream&
operator<<(std::ostream& ostr, const Delta_Point_Site<D>& dp);
diff --git a/milena/mln/core/concept/dpoint.hh b/milena/mln/core/concept/dpoint.hh
index 80f8ae6..7b2fa39 100644
--- a/milena/mln/core/concept/dpoint.hh
+++ b/milena/mln/core/concept/dpoint.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -49,16 +50,18 @@ namespace mln
};
- /*! \brief Base class for implementation of delta-point classes.
- *
- * A delta-point is a vector defined by a couple of points.
- *
- * 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.
- */
+ /*!
+ \internal
+ \brief Base class for implementation of delta-point classes.
+
+ A delta-point is a vector defined by a couple of points.
+
+ 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.
+ */
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 22e338e..361c893 100644
--- a/milena/mln/core/concept/function.hh
+++ b/milena/mln/core/concept/function.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -46,7 +46,10 @@ namespace mln
template <typename E> struct Function_vv2b;
- /// Function category flag type.
+ /*!
+ \internal
+ \brief Function category flag type.
+ */
template <>
struct Function<void>
{
diff --git a/milena/mln/core/concept/gdpoint.hh b/milena/mln/core/concept/gdpoint.hh
index 722db89..9e10105 100644
--- a/milena/mln/core/concept/gdpoint.hh
+++ b/milena/mln/core/concept/gdpoint.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -83,7 +83,10 @@ namespace mln
- /// Delta point site category flag type.
+ /*!
+ \internal
+ \brief Delta point site category flag type.
+ */
template <>
struct Gdpoint<void>
{
diff --git a/milena/mln/core/concept/meta_accumulator.hh b/milena/mln/core/concept/meta_accumulator.hh
index f00a0c6..c86bde5 100644
--- a/milena/mln/core/concept/meta_accumulator.hh
+++ b/milena/mln/core/concept/meta_accumulator.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -62,9 +62,11 @@ namespace mln
namespace internal
{
- /// Make the type resolution easier for the compiler.
- /// Introduced for ICC compatibility.
- //
+ /*!
+ \internal
+ \brief Make the type resolution easier for the compiler.
+ Introduced for ICC compatibility.
+ */
template <typename A, typename T>
struct meta_accu_ret_result_helper
{
@@ -72,9 +74,11 @@ namespace mln
};
- /// Make the type resolution easier for the compiler.
- /// Introduced for ICC compatibility.
- //
+ /*!
+ \internal
+ \brief Make the type resolution easier for the compiler.
+ Introduced for ICC compatibility.
+ */
template <typename A, typename T>
struct accu_with_helper
{
@@ -92,12 +96,14 @@ namespace mln
typedef Object<void> super;
};
- /*! \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.
+ /*!
+ \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.
*/
template <typename E>
struct Meta_Accumulator : public Object<E>
diff --git a/milena/mln/core/concept/neighborhood.hh b/milena/mln/core/concept/neighborhood.hh
index 3fa0521..00fb222 100644
--- a/milena/mln/core/concept/neighborhood.hh
+++ b/milena/mln/core/concept/neighborhood.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -49,8 +49,10 @@ namespace mln
template <typename E> struct Neighborhood;
- /// Neighborhood category flag type.
-
+ /*!
+ \internal
+ \brief Neighborhood category flag type.
+ */
template <>
struct Neighborhood<void>
{
diff --git a/milena/mln/core/concept/pseudo_site.hh b/milena/mln/core/concept/pseudo_site.hh
index b550baf..77eb961 100644
--- a/milena/mln/core/concept/pseudo_site.hh
+++ b/milena/mln/core/concept/pseudo_site.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -48,7 +48,10 @@ namespace mln
- /// Pseudo_Site category flag type.
+ /*!
+ \internal
+ \brief Pseudo_Site category flag type.
+ */
template <>
struct Pseudo_Site<void>
{
@@ -125,7 +128,7 @@ namespace mln
template <>
struct helper< /* is an Object */ true >
{
-
+
template <typename P>
void change_target(Pseudo_Site<P>& p,
const mln_target(P)& new_target) const
@@ -138,7 +141,7 @@ namespace mln
{
// No-op.
}
-
+
};
template <>
@@ -150,7 +153,7 @@ namespace mln
// No-op.
}
};
-
+
} // namespace mln::if_possible::internal
diff --git a/milena/mln/core/concept/site.hh b/milena/mln/core/concept/site.hh
index cc6c73d..68a4bcb 100644
--- a/milena/mln/core/concept/site.hh
+++ b/milena/mln/core/concept/site.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -41,7 +42,10 @@ namespace mln
template <typename E> struct Site;
- /// Site category flag type.
+ /*!
+ \internal
+ \brief Site category flag type.
+ */
template <>
struct Site<void>
{
diff --git a/milena/mln/core/concept/site_proxy.hh b/milena/mln/core/concept/site_proxy.hh
index 2d964e7..8293423 100644
--- a/milena/mln/core/concept/site_proxy.hh
+++ b/milena/mln/core/concept/site_proxy.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -45,7 +45,10 @@ namespace mln
template <typename E> struct Site_Proxy;
- /// Site_Proxy category flag type.
+ /*!
+ \internal
+ \brief Site_Proxy category flag type.
+ */
template <>
struct Site_Proxy<void>
{
diff --git a/milena/mln/core/concept/site_set.hh b/milena/mln/core/concept/site_set.hh
index bbf217c..9ddadc9 100644
--- a/milena/mln/core/concept/site_set.hh
+++ b/milena/mln/core/concept/site_set.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -50,7 +50,10 @@ namespace mln
template <typename E> struct Site_Set;
- /// Site_Set category flag type.
+ /*!
+ \internal
+ \brief Site_Set category flag type.
+ */
template <>
struct Site_Set<void>
{
@@ -58,10 +61,12 @@ namespace mln
};
- /// Base class for implementation classes of site sets.
- ///
- /// \see mln::doc::Site_Set for a complete documentation of this
- /// class contents.
+ /*!
+ \brief Base class for implementation classes of site sets.
+
+ \see mln::doc::Site_Set for a complete documentation of this
+ class contents.
+ */
template <typename E>
struct Site_Set : public Object<E>
{
diff --git a/milena/mln/core/dpoints_pixter.hh b/milena/mln/core/dpoints_pixter.hh
index eb19c2b..514ed1a 100644
--- a/milena/mln/core/dpoints_pixter.hh
+++ b/milena/mln/core/dpoints_pixter.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -50,10 +50,13 @@ namespace mln
| dpoints_fwd_pixter<I>. |
`------------------------*/
- /// \brief A generic forward iterator on the pixels of a
- /// dpoint-based window or neighborhood.
- ///
- /// Parameter \c I is the image type.
+ /*!
+ \internal
+ \brief A generic forward iterator on the pixels of a
+ dpoint-based window or neighborhood.
+
+ Parameter \c I is the image type.
+ */
template <typename I>
class dpoints_fwd_pixter
: public Pixel_Iterator< dpoints_fwd_pixter<I> >,
@@ -133,10 +136,13 @@ namespace mln
| dpoints_bkd_pixter<I>. |
`------------------------*/
- /// \brief A generic backward iterator on the pixels of a
- /// dpoint-based window or neighborhood.
- ///
- /// Parameter \c I is the image type.
+ /*!
+ \internal
+ \brief A generic backward iterator on the pixels of a
+ dpoint-based window or neighborhood.
+
+ Parameter \c I is the image type.
+ */
template <typename I>
class dpoints_bkd_pixter
: public Pixel_Iterator< dpoints_bkd_pixter<I> >,
diff --git a/milena/mln/core/dpsites_piter.hh b/milena/mln/core/dpsites_piter.hh
index 0bbb0f5..927ac6b 100644
--- a/milena/mln/core/dpsites_piter.hh
+++ b/milena/mln/core/dpsites_piter.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -39,11 +39,14 @@
namespace mln
{
- /// A generic forward iterator on points of windows and of
- /// neighborhoods.
- ///
- /// The parameter \c V is the type of std::vector enclosing
- /// structure.
+ /*!
+ \internal
+ \brief A generic forward iterator on points of windows and of
+ neighborhoods.
+
+ The parameter \c V is the type of std::vector enclosing
+ structure.
+ */
template <typename V>
class dpsites_fwd_piter
: public internal::site_relative_iterator_base< V, dpsites_fwd_piter<V> >
@@ -85,11 +88,14 @@ namespace mln
};
- /// A generic backward iterator on points of windows and of
- /// neighborhoods.
- ///
- /// The parameter \c V is the type of std::vector enclosing
- /// structure.
+ /*!
+ \internal
+ \brief A generic backward iterator on points of windows and of
+ neighborhoods.
+
+ The parameter \c V is the type of std::vector enclosing
+ structure.
+ */
template <typename V>
class dpsites_bkd_piter :
public internal::site_relative_iterator_base< V, dpsites_bkd_piter<V> >
diff --git a/milena/mln/core/image/ch_piter.hh b/milena/mln/core/image/ch_piter.hh
index b7c53f8..2677edd 100644
--- a/milena/mln/core/image/ch_piter.hh
+++ b/milena/mln/core/image/ch_piter.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -47,7 +47,10 @@ namespace mln
namespace internal
{
- /// \internal Data structure for \c mln::ch_piter_image<I,Fwd>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::ch_piter_image<I,Fwd>.
+ */
template <typename I, typename Fwd>
struct data< ch_piter_image<I,Fwd> >
{
diff --git a/milena/mln/core/image/complex_image.hh b/milena/mln/core/image/complex_image.hh
index 07c6e91..d6b7480 100644
--- a/milena/mln/core/image/complex_image.hh
+++ b/milena/mln/core/image/complex_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -52,7 +53,10 @@ namespace mln
namespace internal
{
- /// A boolean proxy, used to fool std::vector.
+ /*!
+ \internal
+ \brief A boolean proxy, used to fool std::vector.
+ */
struct bool_proxy
{
public:
@@ -94,7 +98,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::complex_image.
+ /*!
+ \internal
+ \brief Data structure for \c mln::complex_image.
+ */
template <unsigned D, typename G, typename V>
struct data< complex_image<D, G, V> >
{
diff --git a/milena/mln/core/image/complex_neighborhood_piter.hh b/milena/mln/core/image/complex_neighborhood_piter.hh
index 6298aac..51c049a 100644
--- a/milena/mln/core/image/complex_neighborhood_piter.hh
+++ b/milena/mln/core/image/complex_neighborhood_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -48,7 +49,10 @@ namespace mln
| complex_neighborhood_fwd_piter<I, G, N>. |
`------------------------------------------*/
- /// \brief Forward iterator on complex neighborhood.
+ /*!
+ \internal
+ \brief Forward iterator on complex neighborhood.
+ */
template <typename I, typename G, typename N>
class complex_neighborhood_fwd_piter
: public internal::site_relative_iterator_base< N,
@@ -119,7 +123,10 @@ namespace mln
| complex_neighborhood_bkd_piter<I, G, N>. |
`------------------------------------------*/
- /// \brief Backward iterator on complex neighborhood.
+ /*!
+ \internal
+ \brief Backward iterator on complex neighborhood.
+ */
template <typename I, typename G, typename N>
class complex_neighborhood_bkd_piter
: public internal::site_relative_iterator_base< N,
diff --git a/milena/mln/core/image/complex_window_piter.hh b/milena/mln/core/image/complex_window_piter.hh
index ab6326c..208d4e6 100644
--- a/milena/mln/core/image/complex_window_piter.hh
+++ b/milena/mln/core/image/complex_window_piter.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2008, 2009, 2010, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2010, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -49,7 +49,10 @@ namespace mln
| complex_window_fwd_piter<I, G, W>. |
`------------------------------------*/
- /// \brief Forward iterator on complex window.
+ /*!
+ \internal
+ \brief Forward iterator on complex window.
+ */
template <typename I, typename G, typename W>
class complex_window_fwd_piter
: public internal::site_relative_iterator_base< W,
@@ -119,7 +122,10 @@ namespace mln
| complex_window_bkd_piter<I, G, W>. |
`------------------------------------*/
- /// \brief Backward iterator on complex window.
+ /*!
+ \internal
+ \brief Backward iterator on complex window.
+ */
template <typename I, typename G, typename W>
class complex_window_bkd_piter
: public internal::site_relative_iterator_base< W,
diff --git a/milena/mln/core/image/dmorph/extended.hh b/milena/mln/core/image/dmorph/extended.hh
index 791ab1d..ed94a04 100644
--- a/milena/mln/core/image/dmorph/extended.hh
+++ b/milena/mln/core/image/dmorph/extended.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -50,7 +50,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::extended<I>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::extended<I>.
+ */
template <typename I>
struct data< extended<I> >
{
diff --git a/milena/mln/core/image/dmorph/extension_fun.hh b/milena/mln/core/image/dmorph/extension_fun.hh
index 887fe02..aa5274e 100644
--- a/milena/mln/core/image/dmorph/extension_fun.hh
+++ b/milena/mln/core/image/dmorph/extension_fun.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -49,7 +49,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::extension_fun<I, F>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::extension_fun<I, F>.
+ */
template <typename I, typename F>
struct data< extension_fun<I, F> >
{
diff --git a/milena/mln/core/image/dmorph/extension_ima.hh b/milena/mln/core/image/dmorph/extension_ima.hh
index 63ea0ed..d194b82 100644
--- a/milena/mln/core/image/dmorph/extension_ima.hh
+++ b/milena/mln/core/image/dmorph/extension_ima.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -46,7 +46,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::extension_ima<I, J>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::extension_ima<I, J>.
+ */
template <typename I, typename J>
struct data< extension_ima<I, J> >
{
diff --git a/milena/mln/core/image/dmorph/extension_val.hh b/milena/mln/core/image/dmorph/extension_val.hh
index c0ccbe0..e5ecef7 100644
--- a/milena/mln/core/image/dmorph/extension_val.hh
+++ b/milena/mln/core/image/dmorph/extension_val.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -48,7 +48,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::extension_val<I>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::extension_val<I>.
+ */
template <typename I>
struct data< extension_val<I> >
{
diff --git a/milena/mln/core/image/dmorph/hexa.hh b/milena/mln/core/image/dmorph/hexa.hh
index 314cba1..cd856bd 100644
--- a/milena/mln/core/image/dmorph/hexa.hh
+++ b/milena/mln/core/image/dmorph/hexa.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -48,7 +48,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::hexa<I>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::hexa<I>.
+ */
template <typename I>
struct data< hexa<I> >
{
@@ -63,7 +66,10 @@ namespace mln
namespace trait
{
- /// FIXME: use the right properties.
+ /*!
+ \internal
+ FIXME: use the right properties.
+ */
template <typename I>
struct image_< hexa<I> > : default_image_morpher< I, mln_value(I),
hexa<I> >
diff --git a/milena/mln/core/image/dmorph/hexa_piter.hh b/milena/mln/core/image/dmorph/hexa_piter.hh
index 97b2077..d4841cd 100644
--- a/milena/mln/core/image/dmorph/hexa_piter.hh
+++ b/milena/mln/core/image/dmorph/hexa_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -39,13 +40,15 @@
namespace mln
{
- /// A generic forward iterator on points of subsets.
- ///
- /// Parameter \c S is a point set type; parameter F is a function
- /// from point to Boolean.
- ///
- /// \see mln::hexa
- ///
+ /*!
+ \internal
+ \brief A generic forward iterator on points of subsets.
+
+ Parameter \c S is a point set type; parameter F is a function
+ from point to Boolean.
+
+ \see mln::hexa
+ */
template <typename S>
class hexa_fwd_piter_
: public internal::piter_adaptor_< mln_fwd_piter(S),
diff --git a/milena/mln/core/image/dmorph/image2d_h.hh b/milena/mln/core/image/dmorph/image2d_h.hh
index adcb272..35dcf5a 100644
--- a/milena/mln/core/image/dmorph/image2d_h.hh
+++ b/milena/mln/core/image/dmorph/image2d_h.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
diff --git a/milena/mln/core/image/dmorph/image_if.hh b/milena/mln/core/image/dmorph/image_if.hh
index 58b6106..ed9a05a 100644
--- a/milena/mln/core/image/dmorph/image_if.hh
+++ b/milena/mln/core/image/dmorph/image_if.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -47,7 +48,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::image_if<I,F>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::image_if<I,F>.
+ */
template <typename I, typename F>
struct data< image_if<I,F> >
{
diff --git a/milena/mln/core/image/dmorph/p2p_image.hh b/milena/mln/core/image/dmorph/p2p_image.hh
index ca1b3d5..3b2c563 100644
--- a/milena/mln/core/image/dmorph/p2p_image.hh
+++ b/milena/mln/core/image/dmorph/p2p_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -45,7 +46,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::p2p_image<I,F>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::p2p_image<I,F>.
+ */
template <typename I, typename F>
struct data< p2p_image<I,F> >
{
diff --git a/milena/mln/core/image/dmorph/slice_image.hh b/milena/mln/core/image/dmorph/slice_image.hh
index a5e2983..c779858 100644
--- a/milena/mln/core/image/dmorph/slice_image.hh
+++ b/milena/mln/core/image/dmorph/slice_image.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -49,7 +49,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::slice_image<I>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::slice_image<I>.
+ */
template <typename I>
struct data< slice_image<I> >
{
diff --git a/milena/mln/core/image/dmorph/sub_image.hh b/milena/mln/core/image/dmorph/sub_image.hh
index d266ce6..bf42c75 100644
--- a/milena/mln/core/image/dmorph/sub_image.hh
+++ b/milena/mln/core/image/dmorph/sub_image.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
+// Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012 EPITA Research and
// Development Laboratory (LRDE)
//
// This file is part of Olena.
@@ -50,7 +50,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::sub_image<I,S>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::sub_image<I,S>.
+ */
template <typename I, typename S>
struct data< sub_image<I,S> >
{
diff --git a/milena/mln/core/image/dmorph/sub_image_if.hh b/milena/mln/core/image/dmorph/sub_image_if.hh
index 2cc9661..f4c9fe2 100644
--- a/milena/mln/core/image/dmorph/sub_image_if.hh
+++ b/milena/mln/core/image/dmorph/sub_image_if.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -53,7 +53,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::sub_image_if<I,S>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::sub_image_if<I,S>.
+ */
template <typename I, typename S>
struct data< sub_image_if<I,S> >
{
diff --git a/milena/mln/core/image/dmorph/transformed_image.hh b/milena/mln/core/image/dmorph/transformed_image.hh
index 0fb4509..2a7970b 100644
--- a/milena/mln/core/image/dmorph/transformed_image.hh
+++ b/milena/mln/core/image/dmorph/transformed_image.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2011 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2011, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -49,7 +49,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::transformed_image<I,F>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::transformed_image<I,F>.
+ */
template <typename I, typename F>
struct data< transformed_image<I,F> >
{
diff --git a/milena/mln/core/image/dmorph/unproject_image.hh b/milena/mln/core/image/dmorph/unproject_image.hh
index 6a79012..1f6c078 100644
--- a/milena/mln/core/image/dmorph/unproject_image.hh
+++ b/milena/mln/core/image/dmorph/unproject_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2012 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -47,7 +48,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::unproject_image<I,D,F>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::unproject_image<I,D,F>.
+ */
template <typename I, typename D, typename F>
struct data< unproject_image<I,D,F> >
{
diff --git a/milena/mln/core/image/edge_image.hh b/milena/mln/core/image/edge_image.hh
index 1c19b07..5be1ff0 100644
--- a/milena/mln/core/image/edge_image.hh
+++ b/milena/mln/core/image/edge_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2012 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -66,7 +67,9 @@ namespace mln
namespace internal
{
- /// Data structure for mln::pw::internal::image
+ /*! \internal
+ \brief Data structure for mln::pw::internal::image
+ */
template <typename P, typename V, typename G>
struct data< mln::edge_image<P,V,G> >
{
diff --git a/milena/mln/core/image/flat_image.hh b/milena/mln/core/image/flat_image.hh
index 6647766..813f29c 100644
--- a/milena/mln/core/image/flat_image.hh
+++ b/milena/mln/core/image/flat_image.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -48,7 +48,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::flat_image<T,S>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::flat_image<T,S>.
+ */
template <typename T, typename S>
struct data< flat_image<T,S> >
{
diff --git a/milena/mln/core/image/graph_window_if_piter.hh b/milena/mln/core/image/graph_window_if_piter.hh
index 068fbdb..f91b7da 100644
--- a/milena/mln/core/image/graph_window_if_piter.hh
+++ b/milena/mln/core/image/graph_window_if_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2012 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -42,7 +43,10 @@ namespace mln
- /// Forward iterator on line graph window.
+ /*!
+ \internal
+ \brief Forward iterator on line graph window.
+ */
template <typename S, typename W, typename I>
class graph_window_if_piter
: public internal::site_relative_iterator_base< W,
diff --git a/milena/mln/core/image/graph_window_piter.hh b/milena/mln/core/image/graph_window_piter.hh
index ae86e8f..744e0bb 100644
--- a/milena/mln/core/image/graph_window_piter.hh
+++ b/milena/mln/core/image/graph_window_piter.hh
@@ -49,8 +49,11 @@ namespace mln
namespace internal
{
- /// The window center and the window elements are part of
- /// different site sets.
+ /*!
+ \internal
+ \brief The window center and the window elements are part of
+ different site sets.
+ */
template <typename C, typename P, typename E>
struct impl_selector
{
@@ -63,8 +66,11 @@ namespace mln
};
- /// The window center and the window elements are part of the same
- /// site set.
+ /*!
+ \internal
+ \brief The window center and the window elements are part of the same
+ site set.
+ */
template <typename C, typename E>
struct impl_selector<C,C,E>
{
@@ -89,12 +95,14 @@ namespace mln
} // end of namespace mln::internal
- /// Forward iterator on line graph window.
- ///
- /// \tparam S is the site set type.
- /// \tparam W is the window type.
- /// \tparam I is the underlying iterator type.
- //
+ /*!
+ \internal
+ \brief Forward iterator on line graph window.
+
+ \tparam S is the site set type.
+ \tparam W is the window type.
+ \tparam I is the underlying iterator type.
+ */
template <typename S, typename W, typename I>
class graph_window_piter
: public internal::site_relative_iterator_base< W,
diff --git a/milena/mln/core/image/image1d.hh b/milena/mln/core/image/image1d.hh
index 6d10aa5..4e0817f 100644
--- a/milena/mln/core/image/image1d.hh
+++ b/milena/mln/core/image/image1d.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -58,7 +58,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::image1d<T>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::image1d<T>.
+ */
template <typename T>
struct data< image1d<T> >
{
diff --git a/milena/mln/core/image/image2d.hh b/milena/mln/core/image/image2d.hh
index bc49561..ea8f3f8 100644
--- a/milena/mln/core/image/image2d.hh
+++ b/milena/mln/core/image/image2d.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -65,7 +65,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::image2d<T>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::image2d<T>.
+ */
template <typename T>
struct data< image2d<T> >
{
@@ -164,9 +167,13 @@ namespace mln
image2d(const box2d& b, unsigned bdr = border::thickness);
+ /// @cond INTERNAL_API
+
/// Initialize an empty image.
void init_(const box2d& b, unsigned bdr = border::thickness);
+ /// @endcond
+
/// Test if \p p is valid.
bool has(const point2d& p) const;
@@ -210,12 +217,17 @@ namespace mln
// Specific methods:
// -----------------
+ /// @cond INTERNAL_API
+
/// Read-only access to the image value located at (\p row, \p col).
const T& at_(mln::def::coord row, mln::def::coord col) const;
/// Read-write access to the image value located at (\p row, \p col).
T& at_(mln::def::coord row, mln::def::coord col);
+ /// @endcond
+
+
/// Give the number of rows.
unsigned nrows() const;
@@ -254,8 +266,12 @@ namespace mln
T* buffer();
+ /// @cond INTERNAL_API
+
/// Resize image border with new_border.
void resize_(unsigned new_border);
+
+ /// @endcond
};
diff --git a/milena/mln/core/image/image3d.hh b/milena/mln/core/image/image3d.hh
index 59d6908..2789341 100644
--- a/milena/mln/core/image/image3d.hh
+++ b/milena/mln/core/image/image3d.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
+// Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012 EPITA Research and
// Development Laboratory (LRDE)
//
// This file is part of Olena.
@@ -58,7 +58,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::image3d<T>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::image3d<T>.
+ */
template <typename T>
struct data< image3d<T> >
{
diff --git a/milena/mln/core/image/imorph/decorated_image.hh b/milena/mln/core/image/imorph/decorated_image.hh
index 54acbc7..48f827f 100644
--- a/milena/mln/core/image/imorph/decorated_image.hh
+++ b/milena/mln/core/image/imorph/decorated_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -59,7 +60,10 @@ namespace mln
typedef mln::value::proxy<const E> lvalue;
};
- /// Data structure for \c mln::decorated_image<I,D>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::decorated_image<I,D>.
+ */
template <typename I, typename D>
struct data< decorated_image<I,D> >
{
diff --git a/milena/mln/core/image/imorph/interpolated.hh b/milena/mln/core/image/imorph/interpolated.hh
index 43f9a7e..d92dd0f 100644
--- a/milena/mln/core/image/imorph/interpolated.hh
+++ b/milena/mln/core/image/imorph/interpolated.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -50,7 +50,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::interpolated<I, F>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::interpolated<I, F>.
+ */
template <typename I, template <class> class F>
struct data< interpolated<I,F> >
{
diff --git a/milena/mln/core/image/imorph/labeled_image.hh b/milena/mln/core/image/imorph/labeled_image.hh
index c99f386..d62735f 100644
--- a/milena/mln/core/image/imorph/labeled_image.hh
+++ b/milena/mln/core/image/imorph/labeled_image.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2009, 2010, 2011 EPITA Research and Development
+// Copyright (C) 2009, 2010, 2011, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -62,7 +62,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::labeled_image<I>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::labeled_image<I>.
+ */
template <typename I>
struct data< labeled_image<I> >
: data< labeled_image_base<I, labeled_image<I> > >
diff --git a/milena/mln/core/image/imorph/lazy_image.hh b/milena/mln/core/image/imorph/lazy_image.hh
index 0110bec..bcba84d 100644
--- a/milena/mln/core/image/imorph/lazy_image.hh
+++ b/milena/mln/core/image/imorph/lazy_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -46,7 +47,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::lazy_image<I>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::lazy_image<I>.
+ */
template <typename I, typename F, typename B>
struct data< lazy_image<I,F,B> >
{
diff --git a/milena/mln/core/image/imorph/plain.hh b/milena/mln/core/image/imorph/plain.hh
index 66c9ebd..8f862f4 100644
--- a/milena/mln/core/image/imorph/plain.hh
+++ b/milena/mln/core/image/imorph/plain.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -47,7 +47,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::plain<I>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::plain<I>.
+ */
template <typename I>
struct data< plain<I> >
{
diff --git a/milena/mln/core/image/imorph/safe.hh b/milena/mln/core/image/imorph/safe.hh
index c516ef4..37efd61 100644
--- a/milena/mln/core/image/imorph/safe.hh
+++ b/milena/mln/core/image/imorph/safe.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -48,7 +48,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::safe_image<I>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::safe_image<I>.
+ */
template <typename I>
struct data< safe_image<I> >
{
diff --git a/milena/mln/core/image/imorph/tr_image.hh b/milena/mln/core/image/imorph/tr_image.hh
index 64eb5a0..ad2b1af 100644
--- a/milena/mln/core/image/imorph/tr_image.hh
+++ b/milena/mln/core/image/imorph/tr_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -47,7 +48,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::tr_image<S,I,T>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::tr_image<S,I,T>.
+ */
template <typename S, typename I, typename T>
struct data< tr_image<S,I,T> >
{
diff --git a/milena/mln/core/image/vertex_image.hh b/milena/mln/core/image/vertex_image.hh
index d50f826..042423d 100644
--- a/milena/mln/core/image/vertex_image.hh
+++ b/milena/mln/core/image/vertex_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2012 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -69,7 +70,10 @@ namespace mln
namespace internal
{
- /// Data structure for mln::pw::internal::image
+ /*!
+ \internal
+ \brief Data structure for mln::pw::internal::image
+ */
template <typename P, typename V, typename G>
struct data< mln::vertex_image<P,V,G> >
{
diff --git a/milena/mln/core/image/vmorph/cast_image.hh b/milena/mln/core/image/vmorph/cast_image.hh
index 0226ad0..9d6248c 100644
--- a/milena/mln/core/image/vmorph/cast_image.hh
+++ b/milena/mln/core/image/vmorph/cast_image.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2007, 2009, 2011, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -48,7 +48,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::cast_image_<T,I>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::cast_image_<T,I>.
+ */
template <typename T, typename I>
struct data< cast_image_<T,I> >
{
diff --git a/milena/mln/core/image/vmorph/fun_image.hh b/milena/mln/core/image/vmorph/fun_image.hh
index 24d7e37..e1f50a7 100644
--- a/milena/mln/core/image/vmorph/fun_image.hh
+++ b/milena/mln/core/image/vmorph/fun_image.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -50,7 +50,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::fun_image<T,I>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::fun_image<T,I>.
+ */
template <typename F, typename I>
struct data< fun_image<F,I> >
{
diff --git a/milena/mln/core/image/vmorph/thru_image.hh b/milena/mln/core/image/vmorph/thru_image.hh
index e829b27..7dd4d7a 100644
--- a/milena/mln/core/image/vmorph/thru_image.hh
+++ b/milena/mln/core/image/vmorph/thru_image.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -50,7 +50,10 @@ namespace mln
template <typename I, typename F> class thru_image_write;
template <typename I, typename F> class thru_image_read;
- /// Find correct implementation
+ /*!
+ \internal
+ \brief Find correct implementation
+ */
template <typename I, typename F>
struct thru_find_impl
{
@@ -63,7 +66,10 @@ namespace mln
write, read) ret;
};
- /// Data structure for \c mln::thru_image<I>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::thru_image<I>.
+ */
template <typename I, typename F>
struct data< thru_image<I, F> >
{
diff --git a/milena/mln/core/image/vmorph/thrubin_image.hh b/milena/mln/core/image/vmorph/thrubin_image.hh
index 0195d1a..1263acd 100644
--- a/milena/mln/core/image/vmorph/thrubin_image.hh
+++ b/milena/mln/core/image/vmorph/thrubin_image.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -46,7 +46,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::thrubin_image<I>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::thrubin_image<I>.
+ */
template <typename I1, typename I2, typename F>
struct data< thrubin_image<I1, I2, F> >
{
diff --git a/milena/mln/core/image/vmorph/violent_cast_image.hh b/milena/mln/core/image/vmorph/violent_cast_image.hh
index 0ce4669..e389902 100644
--- a/milena/mln/core/image/vmorph/violent_cast_image.hh
+++ b/milena/mln/core/image/vmorph/violent_cast_image.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -45,7 +45,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::violent_cast_image<T,I>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::violent_cast_image<T,I>.
+ */
template <typename T, typename I>
struct data< violent_cast_image<T,I> >
{
diff --git a/milena/mln/core/internal/box_impl.hh b/milena/mln/core/internal/box_impl.hh
index bb176c7..3ea2756 100644
--- a/milena/mln/core/internal/box_impl.hh
+++ b/milena/mln/core/internal/box_impl.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
+// Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012 EPITA Research and
// Development Laboratory (LRDE)
//
// This file is part of Olena.
@@ -46,10 +46,12 @@ namespace mln
// box_impl
- /*! Implementation class to equip objects having a bounding
- * box.
- *
- */
+ /*!
+ \internal
+ \brief Implementation class to equip objects having a bounding
+ box.
+
+ */
template <unsigned n, typename C, typename E>
struct box_impl_;
diff --git a/milena/mln/core/internal/check/image_fastest.hh b/milena/mln/core/internal/check/image_fastest.hh
index 9aa7c51..edcf4da 100644
--- a/milena/mln/core/internal/check/image_fastest.hh
+++ b/milena/mln/core/internal/check/image_fastest.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -50,7 +50,10 @@ namespace mln
namespace check
{
- /// FIXME
+ /*!
+ \internal
+ \brief Statically checks the interface of fastest images.
+ */
template < typename E, typename B = metal::true_ >
struct image_fastest_
{
diff --git a/milena/mln/core/internal/classical_window_base.hh b/milena/mln/core/internal/classical_window_base.hh
index a701510..21f68c3 100644
--- a/milena/mln/core/internal/classical_window_base.hh
+++ b/milena/mln/core/internal/classical_window_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -47,8 +48,9 @@ namespace mln
namespace internal
{
- /*! FIXME.
- *
+ /*!
+ \internal
+ \brief Base class for classes based on a set of dpoints.
*/
template <typename D, typename E>
class classical_window_base : public window_base<D, E>
diff --git a/milena/mln/core/internal/complex_neighborhood_base.hh b/milena/mln/core/internal/complex_neighborhood_base.hh
index d71dec9..4ffd8a0 100644
--- a/milena/mln/core/internal/complex_neighborhood_base.hh
+++ b/milena/mln/core/internal/complex_neighborhood_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -55,11 +56,14 @@ namespace mln
namespace internal
{
- /** \brief Generic neighborhood centered on the face of a complex,
- based on an pair of (forward and backward) complex iterators.
-
- \tparam W The underlying window.
- \tparam E The exact type. */
+ /*!
+ \internal
+ \brief Generic neighborhood centered on the face of a complex,
+ based on an pair of (forward and backward) complex iterators.
+
+ \tparam W The underlying window.
+ \tparam E The exact type.
+ */
template <typename W, typename E>
class complex_neighborhood_base : public Neighborhood<E>
{
diff --git a/milena/mln/core/internal/complex_window_base.hh b/milena/mln/core/internal/complex_window_base.hh
index 1a248a0..eeb62fd 100644
--- a/milena/mln/core/internal/complex_window_base.hh
+++ b/milena/mln/core/internal/complex_window_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -70,15 +71,18 @@ namespace mln
namespace internal
{
- /** \brief Generic window centered on the face of a complex, based
- on an pair of (forward and backward) complex iterators. The
- center (site) is part of the window.
-
- \tparam D The dimension of the complex.
- \tparam G The type of the geometry functor of the complex.
- \tparam F The underlying forward iterator type.
- \tparam B The underlying backward iterator type.
- \tparam E The exact type. */
+ /*!
+ \internal
+ \brief Generic window centered on the face of a complex, based
+ on an pair of (forward and backward) complex iterators. The
+ center (site) is part of the window.
+
+ \tparam D The dimension of the complex.
+ \tparam G The type of the geometry functor of the complex.
+ \tparam F The underlying forward iterator type.
+ \tparam B The underlying backward iterator type.
+ \tparam E The exact type.
+ */
template <unsigned D, typename G, typename F, typename B, typename E>
class complex_window_base : public Window<E>
{
diff --git a/milena/mln/core/internal/complex_window_p_base.hh b/milena/mln/core/internal/complex_window_p_base.hh
index 65e79e9..55de131 100644
--- a/milena/mln/core/internal/complex_window_p_base.hh
+++ b/milena/mln/core/internal/complex_window_p_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -65,15 +66,18 @@ namespace mln
namespace internal
{
- /** \brief Generic window centered on the face of a complex, based
- on an pair of (forward and backward) complex iterators. The
- center (site) is part of the window.
-
- \tparam D The dimension of the complex.
- \tparam G The type of the geometry functor of the complex.
- \tparam F The underlying forward iterator type.
- \tparam B The underlying backward iterator type.
- \tparam E The exact type. */
+ /*!
+ \internal
+ \brief Generic window centered on the face of a complex, based
+ on an pair of (forward and backward) complex iterators. The
+ center (site) is part of the window.
+
+ \tparam D The dimension of the complex.
+ \tparam G The type of the geometry functor of the complex.
+ \tparam F The underlying forward iterator type.
+ \tparam B The underlying backward iterator type.
+ \tparam E The exact type.
+ */
template <unsigned D, typename G, typename F, typename B, typename E>
class complex_window_p_base
: public complex_window_base
diff --git a/milena/mln/core/internal/fixme.hh b/milena/mln/core/internal/fixme.hh
index 819a926..10622c5 100644
--- a/milena/mln/core/internal/fixme.hh
+++ b/milena/mln/core/internal/fixme.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -38,10 +39,11 @@ namespace mln
namespace internal
{
- /*! A FIXME class to make explicit in code that a type is
- * not yet implemented.
- *
- */
+ /*!
+ \internal
+ \brief A FIXME class to make explicit in code that a type is
+ not yet implemented.
+ */
struct fixme
{};
diff --git a/milena/mln/core/internal/graph_psite_base.hh b/milena/mln/core/internal/graph_psite_base.hh
index cb3b123..4cef358 100644
--- a/milena/mln/core/internal/graph_psite_base.hh
+++ b/milena/mln/core/internal/graph_psite_base.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -159,7 +159,10 @@ namespace mln
/// \{
- /// subject_impl specialization (Proxy)
+ /*!
+ \internal
+ \brief subject_impl specialization (Proxy)
+ */
template <typename S, typename P, typename E>
struct subject_impl< const graph_psite_base<S,P>&, E >
{
diff --git a/milena/mln/core/internal/graph_window_base.hh b/milena/mln/core/internal/graph_window_base.hh
index cb7baa3..335a32e 100644
--- a/milena/mln/core/internal/graph_window_base.hh
+++ b/milena/mln/core/internal/graph_window_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -35,7 +36,12 @@
namespace mln
{
- /// \tparam P Site type.
+ /*!
+ \internal
+ \brief Base class for windows on graphes.
+
+ \tparam P Site type.
+ */
template <typename P, typename E>
class graph_window_base : public Window<E>
{
diff --git a/milena/mln/core/internal/image_base.hh b/milena/mln/core/internal/image_base.hh
index c9f76de..c810547 100644
--- a/milena/mln/core/internal/image_base.hh
+++ b/milena/mln/core/internal/image_base.hh
@@ -146,18 +146,25 @@ namespace mln
/// Copy constructor (performs a shallow copy).
image_base(const image_base& rhs);
- /// Give an identifier of this image. When several image
- /// variables designate the same image, they share the same
- /// identifier.
+ /// @cond INTERNAL_API
+
+ /*!
+ \brief Give an identifier of this image.
+
+ When several image variables designate the same image, they
+ share the same identifier.
+ */
const void* id_() const;
+ /// \brief Hook to the image data.
+ const util::tracked_ptr< internal::data<E> >& hook_data_() const;
+
+ /// @endcond
+
/// Detach data from an image (free it if nobody else hold it).
void destroy();
- /// Hook to the image data.
- const util::tracked_ptr< internal::data<E> >& hook_data_() const;
-
protected:
/// Constructor without argument.
diff --git a/milena/mln/core/internal/image_domain_morpher.hh b/milena/mln/core/internal/image_domain_morpher.hh
index 576574e..2a2aa1e 100644
--- a/milena/mln/core/internal/image_domain_morpher.hh
+++ b/milena/mln/core/internal/image_domain_morpher.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -40,13 +41,15 @@ namespace mln
{
- /*! A base class for image morphers w.r.t. domain.
- *
- * Parameter \p I is the morphed image type.
- * Parameter \p S is the morpher site set type.
- * Parameter \p E is the exact (morpher image) type.
- *
- */
+ /*!
+ \internal
+ \brief A base class for image morphers w.r.t. domain.
+
+ Parameter \p I is the morphed image type.
+ Parameter \p S is the morpher site set type.
+ Parameter \p E is the exact (morpher image) type.
+
+ */
template <typename I, typename S, typename E>
class image_domain_morpher : public image_morpher<I, mln_value(I), S, E>
{
diff --git a/milena/mln/core/internal/image_identity.hh b/milena/mln/core/internal/image_identity.hh
index 239ffbf..84d9cf8 100644
--- a/milena/mln/core/internal/image_identity.hh
+++ b/milena/mln/core/internal/image_identity.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -119,10 +120,13 @@ namespace mln
- /*! A base class for image morphers w.r.t. identity.
- * Parameter \p S is a point set type.
- *
- */
+ /*!
+ \internal
+ \brief A base class for image morphers w.r.t. identity.
+
+ Parameter \p S is a point set type.
+
+ */
template <typename I, typename S, typename E>
class image_identity
: public image_identity_impl<I, E>,
diff --git a/milena/mln/core/internal/image_morpher.hh b/milena/mln/core/internal/image_morpher.hh
index 288e6a2..579230a 100644
--- a/milena/mln/core/internal/image_morpher.hh
+++ b/milena/mln/core/internal/image_morpher.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -44,10 +45,12 @@ namespace mln
namespace internal
{
- /// A base class for images that are morphers. Parameter
- ///
- /// \c I is the underlying-morphed image type.
- //
+ /*!
+ \internal
+ \brief A base class for images that are morphers.
+
+ Parameter \c I is the underlying-morphed image type.
+ */
template <typename I, typename T, typename S, typename E>
class image_morpher : public image_base<T, S, E>
{
diff --git a/milena/mln/core/internal/image_primary.hh b/milena/mln/core/internal/image_primary.hh
index 58f9065..6e9dbea 100644
--- a/milena/mln/core/internal/image_primary.hh
+++ b/milena/mln/core/internal/image_primary.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -41,9 +42,10 @@ namespace mln
{
- /*! A base class for primary images.
- *
- */
+ /*!
+ \internal
+ \brief A base class for primary images.
+ */
template <typename T, typename S, typename E>
struct image_primary : public image_base<T, S, E>
{
diff --git a/milena/mln/core/internal/image_value_morpher.hh b/milena/mln/core/internal/image_value_morpher.hh
index b7f7c41..8329242 100644
--- a/milena/mln/core/internal/image_value_morpher.hh
+++ b/milena/mln/core/internal/image_value_morpher.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -45,10 +46,13 @@ namespace mln
//FIXME: Fix doxygen.
- /*! A base class for image morphers w.r.t. value.
- * Parameter \p S is a point set type.
- * Parameter \p P is a value type.
- */
+ /*!
+ \internal
+ \brief A base class for image morphers w.r.t. value.
+
+ Parameter \p S is a point set type.
+ Parameter \p P is a value type.
+ */
template <typename I, typename T, typename E>
class image_value_morpher : public image_morpher<I, T, mln_domain(I), E>
{
diff --git a/milena/mln/core/internal/is_masked_impl_selector.hh b/milena/mln/core/internal/is_masked_impl_selector.hh
index 41d941b..361d85e 100644
--- a/milena/mln/core/internal/is_masked_impl_selector.hh
+++ b/milena/mln/core/internal/is_masked_impl_selector.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2011 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2011, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -46,8 +46,11 @@ namespace mln
namespace internal
{
- /// Default implementation. D == S.
- /// D and S are site sets.
+ /*!
+ \internal
+ \brief Default implementation. D == S.
+ D and S are site sets.
+ */
template <typename S, typename D, typename E>
struct is_masked_impl_selector
{
@@ -56,7 +59,10 @@ namespace mln
const mln_graph_element(S)& element) const;
};
- /// Restrict iteration on vertices according to masked edges.
+ /*!
+ \internal
+ \brief Restrict iteration on vertices according to masked edges.
+ */
template <typename G1, typename F1, typename G2, typename F2, typename E>
struct is_masked_impl_selector< p_vertices<G1,F1>, p_edges<G2,F2>, E >
{
@@ -67,7 +73,10 @@ namespace mln
const mln_graph_element(S)& element) const;
};
- /// Restrict iteration on edges according to masked vertices.
+ /*!
+ \internal
+ \brief Restrict iteration on edges according to masked vertices.
+ */
template <typename G1, typename F1, typename G2, typename F2, typename E>
struct is_masked_impl_selector< p_edges<G1,F1>, p_vertices<G2,F2>, E >
{
diff --git a/milena/mln/core/internal/labeled_image_base.hh b/milena/mln/core/internal/labeled_image_base.hh
index 45f3ed2..9c9466c 100644
--- a/milena/mln/core/internal/labeled_image_base.hh
+++ b/milena/mln/core/internal/labeled_image_base.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -60,7 +60,10 @@ namespace mln
namespace internal
{
- /// Data structure for \c mln::labeled_image_base<I,E>.
+ /*!
+ \internal
+ \brief Data structure for \c mln::labeled_image_base<I,E>.
+ */
template <typename I, typename E>
struct data< labeled_image_base<I,E> >
{
@@ -100,17 +103,18 @@ namespace mln
- /*! \brief Base class Morpher providing an improved interface for
- labeled image.
+ /*!
+ \internal
+ \brief Base class Morpher providing an improved interface for
+ labeled image.
- \tparam I The label image type.
+ \tparam I The label image type.
- This image type allows to access every site set at a given
- label.
-
- This image type guaranties that labels are contiguous (from 1 to
- n).
+ This image type allows to access every site set at a given
+ label.
+ This image type guaranties that labels are contiguous (from 1 to
+ n).
*/
template <typename I, typename E>
class labeled_image_base
diff --git a/milena/mln/core/internal/morpher_lvalue.hh b/milena/mln/core/internal/morpher_lvalue.hh
index d851e55..e437fa1 100644
--- a/milena/mln/core/internal/morpher_lvalue.hh
+++ b/milena/mln/core/internal/morpher_lvalue.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -44,8 +45,11 @@ namespace mln
namespace internal
{
- /// Return the lvalue type when an image with type \c I
- /// is morphed.
+ /*!
+ \internal
+ \brief Return the lvalue type when an image with type \c I
+ is morphed.
+ */
template <typename I>
struct morpher_lvalue_
{
diff --git a/milena/mln/core/internal/neighb_base.hh b/milena/mln/core/internal/neighb_base.hh
index bfb499a..05d4b67 100644
--- a/milena/mln/core/internal/neighb_base.hh
+++ b/milena/mln/core/internal/neighb_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2012 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -42,11 +43,13 @@ namespace mln
{
- /// Adapter class from window to neighborhood.
- ///
- /// \tparam W The underlying window type.
- /// \tparam E The exact neighborhood type.
- //
+ /*!
+ \internal
+ \brief Adapter class from window to neighborhood.
+
+ \tparam W The underlying window type.
+ \tparam E The exact neighborhood type.
+ */
template <typename W, typename E>
class neighb_base
: public internal::neighborhood_base< W, E >,
diff --git a/milena/mln/core/internal/neighb_niter_base.hh b/milena/mln/core/internal/neighb_niter_base.hh
index 27459b6..daa41db 100644
--- a/milena/mln/core/internal/neighb_niter_base.hh
+++ b/milena/mln/core/internal/neighb_niter_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2012 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -39,8 +40,10 @@ namespace mln
namespace internal
{
- // neighb_niter_base<W,I,E>
-
+ /*!
+ \internal
+ \brief Base implementation for neighborhood iterators.
+ */
template <typename W, typename N, typename I, typename E>
class neighb_niter_base
: public internal::site_relative_iterator_base< N,
diff --git a/milena/mln/core/internal/neighb_niter_impl.hh b/milena/mln/core/internal/neighb_niter_impl.hh
index f2c8ee0..eb5b6d2 100644
--- a/milena/mln/core/internal/neighb_niter_impl.hh
+++ b/milena/mln/core/internal/neighb_niter_impl.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -54,25 +54,31 @@ namespace mln
namespace internal
{
- /// Default optional implementation.
+ /*!
+ \internal
+ \brief Default optional implementation.
+ */
template <typename W, typename E>
struct neighb_niter_impl
{
};
- /// Add more implementation for neighborhoods made from
- /// graph_window_base windows.
- ///
- /// FIXME: we need to redeclare the graph element interface.
- /// Here, a neighb niter iterator encapsulates a window qiter iterator.
- /// A window qiter iterator is a Proxy on a site P and can convert towards
- /// a graph element through its member element().
- ///
- /// The window qiter iterator cannot have an automatic conversion towards
- /// a graph element since there would be an ambiguity between this
- /// conversion and the conversion to a psite P, if P is also a graph
- /// element.
+ /*!
+ \internal
+ \brief Add more implementation for neighborhoods made from
+ graph_window_base windows.
+
+ FIXME: we need to redeclare the graph element interface.
+ Here, a neighb niter iterator encapsulates a window qiter iterator.
+ A window qiter iterator is a Proxy on a site P and can convert towards
+ a graph element through its member element().
+
+ The window qiter iterator cannot have an automatic conversion towards
+ a graph element since there would be an ambiguity between this
+ conversion and the conversion to a psite P, if P is also a graph
+ element.
+ */
template <typename P, typename E>
struct neighb_niter_impl_graph_window
{
@@ -83,29 +89,38 @@ namespace mln
};
- /// In this case, The site P is a util::vertex which means this iterator
- /// can automatically converts towards this type.
- /// There would be an ambiguity between util::vertex members and the one
- /// declared in neighb_niter_impl_graph_window<P,E> if this
- /// specialization did not exist.
+ /*!
+ \internal
+ In this case, The site P is a util::vertex which means this iterator
+ can automatically converts towards this type.
+ There would be an ambiguity between util::vertex members and the one
+ declared in neighb_niter_impl_graph_window<P,E> if this
+ specialization did not exist.
+ */
template <typename G, typename E>
struct neighb_niter_impl_graph_window< util::vertex<G>, E >
{
};
- /// In this case, The site P is a util::vertex which means this iterator
- /// can automatically converts towards this type.
- /// There would be an ambiguity between util::edge members and the one
- /// declared in neighb_niter_impl_graph_window<P,E> if this
- /// specialization did not exist.
+ /*!
+ \internal
+ In this case, The site P is a util::vertex which means this iterator
+ can automatically converts towards this type.
+ There would be an ambiguity between util::edge members and the one
+ declared in neighb_niter_impl_graph_window<P,E> if this
+ specialization did not exist.
+ */
template <typename G, typename E>
struct neighb_niter_impl_graph_window< util::edge<G>, E >
{
};
- /// Add more implementation for neighborhoods made from
- /// graph_window_base windows.
+ /*!
+ \internal
+ \brief Add more implementation for neighborhoods made from
+ graph_window_base windows.
+ */
template <typename P, typename T, typename E>
struct neighb_niter_impl< graph_window_base<P, T>, E >
: neighb_niter_impl_graph_window<P,E>
@@ -124,8 +139,11 @@ namespace mln
- /// Add more implementation for neighborhoods made from a
- /// graph_window_piter.
+ /*!
+ \internal
+ \brief Add more implementation for neighborhoods made from a
+ graph_window_piter.
+ */
template <typename G, typename S, typename E>
struct neighb_niter_impl<graph_elt_window<G,S>, E>
: public neighb_niter_impl< graph_window_base< mln_result(S::fun_t),
@@ -135,8 +153,11 @@ namespace mln
};
- /// Add more implementation for neighborhoods made from a
- /// line_graph_window_piter.
+ /*!
+ \internal
+ \brief Add more implementation for neighborhoods made from a
+ line_graph_window_piter.
+ */
template <typename G, typename F, typename E>
struct neighb_niter_impl<line_graph_elt_window<G,F>, E>
: public neighb_niter_impl< graph_window_base< mln_result(F),
@@ -147,8 +168,11 @@ namespace mln
};
- /// Add more implementation for neighborhoods made from a
- /// graph_window_if_piter.
+ /*!
+ \internal
+ \brief Add more implementation for neighborhoods made from a
+ graph_window_if_piter.
+ */
template <typename G, typename S, typename I, typename E>
struct neighb_niter_impl<graph_elt_window_if<G,S,I>, E>
: public neighb_niter_impl< graph_window_base< mln_result(S::fun_t),
@@ -159,8 +183,11 @@ namespace mln
};
- /// Add more implementation for neighborhoods made from a
- /// graph_window_piter.
+ /*!
+ \internal
+ \brief Add more implementation for neighborhoods made from a
+ graph_window_piter.
+ */
template <typename G, typename S, typename S2, typename E>
struct neighb_niter_impl<graph_elt_mixed_window<G,S,S2>, E>
: public neighb_niter_impl< graph_window_base< mln_result(S2::fun_t),
diff --git a/milena/mln/core/internal/neighborhood_base.hh b/milena/mln/core/internal/neighborhood_base.hh
index f1765c9..c24ab19 100644
--- a/milena/mln/core/internal/neighborhood_base.hh
+++ b/milena/mln/core/internal/neighborhood_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -66,25 +67,25 @@ namespace mln
/// Give the foreground neighborhood in the case of a dual
/// neighborhood. For instance, with (object:c4, background:c8),
/// the result is c4.
-
+
neighb<W> foreground() const
{
W win = internal::force_exact<E>(*this).win().window_(1); // True, so object.
neighb<W> nbh(win);
return nbh;
}
-
+
/// Give the background neighborhood in the case of a dual
/// neighborhood. For instance, with (object:c4, background:c8),
/// the result is c8.
-
+
neighb<W> background() const
{
W win = internal::force_exact<E>(*this).win().window_(0); // False, so background.
neighb<W> nbh(win);
return nbh;
}
-
+
};
@@ -111,10 +112,12 @@ namespace mln
};
- /// Base class for neighborhood implementation classes.
- ///
- /// \p W is the underlying window type.
+ /*!
+ \internal
+ \base Base class for neighborhood implementation classes.
+ \p W is the underlying window type.
+ */
template <typename W, typename E>
struct neighborhood_base : public neighborhood_impl<W,E>
{
diff --git a/milena/mln/core/internal/piter_adaptor.hh b/milena/mln/core/internal/piter_adaptor.hh
index 41c6333..fa84a43 100644
--- a/milena/mln/core/internal/piter_adaptor.hh
+++ b/milena/mln/core/internal/piter_adaptor.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -44,11 +45,13 @@ namespace mln
namespace internal
{
- /// A base class for point iterator adaptors.
- ///
- /// Parameter \c Pi is the type of the point iterator adaptee;
- /// parameter E is the exact type.
- ///
+ /*!
+ \internal
+ \brief A base class for point iterator adaptors.
+
+ Parameter \c Pi is the type of the point iterator adaptee;
+ parameter E is the exact type.
+ */
template <typename Pi, typename S, typename E>
class piter_adaptor_ : public internal::site_iterator_base< S, E >
{
diff --git a/milena/mln/core/internal/piter_identity.hh b/milena/mln/core/internal/piter_identity.hh
index 00fb16d..e0549f7 100644
--- a/milena/mln/core/internal/piter_identity.hh
+++ b/milena/mln/core/internal/piter_identity.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2012 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -39,11 +40,13 @@ namespace mln
namespace internal
{
- /// A base class for site iterator identity adaptors.
- ///
- /// Parameter \c Pi is the type of the site iterator adaptee;
- /// parameter E is the exact type.
- ///
+ /*!
+ \internal
+ \brief A base class for site iterator identity adaptors.
+
+ Parameter \c Pi is the type of the site iterator adaptee;
+ parameter E is the exact type.
+ */
template <typename Pi, typename E>
class piter_identity_ : public piter_adaptor_< Pi, // Adaptee.
mln_pset(Pi), // Site set.
diff --git a/milena/mln/core/internal/pixel_impl.hh b/milena/mln/core/internal/pixel_impl.hh
index d0549b1..ac78d31 100644
--- a/milena/mln/core/internal/pixel_impl.hh
+++ b/milena/mln/core/internal/pixel_impl.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2010 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2010, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -109,9 +109,11 @@ namespace mln
};
- /// Implementation class to equip generalized pixel
- /// classes based on mutable images.
- ///
+ /*!
+ \internal
+ \brief Implementation class to equip generalized pixel
+ classes based on mutable images.
+ */
template <typename I, typename E>
class pixel_impl_
@@ -168,9 +170,11 @@ namespace mln
};
- /// Implementation class to equip generalized pixel
- /// classes based on constant images.
- ///
+ /*!
+ \internal
+ \brief Implementation class to equip generalized pixel
+ classes based on constant images.
+ */
template <typename I, typename E>
class pixel_impl_< const I, E >
diff --git a/milena/mln/core/internal/pixel_iterator_base.hh b/milena/mln/core/internal/pixel_iterator_base.hh
index 5e8107e..7f3b6ce 100644
--- a/milena/mln/core/internal/pixel_iterator_base.hh
+++ b/milena/mln/core/internal/pixel_iterator_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -45,7 +46,10 @@ namespace mln
| internal::pixel_iterator_base_<I, E>. |
`---------------------------------------*/
- /// A base class for pixel iterators.
+ /*!
+ \internal
+ \brief A base class for pixel iterators.
+ */
template <typename I, typename E>
class pixel_iterator_base_ : public Pixel_Iterator<E>,
public internal::pixel_impl_<I, E>
@@ -73,7 +77,10 @@ namespace mln
| internal::forward_pixel_iterator_base_<I, E>. |
`-----------------------------------------------*/
- /// A base class for forward pixel iterators.
+ /*!
+ \internal
+ \brief A base class for forward pixel iterators.
+ */
template <typename I, typename E>
class forward_pixel_iterator_base_ : public pixel_iterator_base_<I, E>
{
@@ -102,7 +109,10 @@ namespace mln
| internal::backward_pixel_iterator_base_<I, E>. |
`------------------------------------------------*/
- /// A base class for backward pixel iterators.
+ /*!
+ \internal
+ \brief A base class for backward pixel iterators.
+ */
template <typename I, typename E>
class backward_pixel_iterator_base_ : public pixel_iterator_base_<I, E>
{
diff --git a/milena/mln/core/internal/pseudo_site_base.hh b/milena/mln/core/internal/pseudo_site_base.hh
index da61277..576428e 100644
--- a/milena/mln/core/internal/pseudo_site_base.hh
+++ b/milena/mln/core/internal/pseudo_site_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -40,10 +41,12 @@ namespace mln
namespace internal
{
- /*! A base class for pseudo sites.
- *
- * Parameter \c P is FIXME: a point site type.
- */
+ /*!
+ \internal
+ \brief A base class for pseudo sites.
+
+ Parameter \c P is FIXME: a point site type.
+ */
template <typename P, typename E>
struct pseudo_site_base_ : Pseudo_Site<E>,
proxy_impl<P, E>
diff --git a/milena/mln/core/internal/run_image.hh b/milena/mln/core/internal/run_image.hh
index da12ad8..1751b1b 100644
--- a/milena/mln/core/internal/run_image.hh
+++ b/milena/mln/core/internal/run_image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -41,11 +42,14 @@ namespace mln
namespace internal
{
- /*! Factorization class for run_image.
- * Parameter \c T is the type of the image value.
- * Parameter \c P is the type of the image point.
- * Parameter \c E is the Exact type of the image.
- */
+ /*!
+ \internal
+ \brief Factorization class for run_image.
+
+ Parameter \c T is the type of the image value.
+ Parameter \c P is the type of the image point.
+ Parameter \c E is the Exact type of the image.
+ */
template <typename T, typename P, typename E>
class run_image_ : public internal::image_primary< P, p_set_of< p_run<P> >, E >
{
diff --git a/milena/mln/core/internal/set_of.hh b/milena/mln/core/internal/set_of.hh
index df8568b..f4d4bed 100644
--- a/milena/mln/core/internal/set_of.hh
+++ b/milena/mln/core/internal/set_of.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -45,16 +46,19 @@ namespace mln
namespace internal
{
- /*! An "efficient" mathematical set class.
- * This set class is designed to store a mathematical set and to
- * present it to the user as a linear array (std::vector).
- * Elements are stored by copy. Implementation is lazy.
- * \invariant \a v_.size() == s_.size()
- * The parameter \c E is the element type, which shall not be
- * const-qualified.
- *
- * \todo Add a remove method.
- */
+ /*!
+ \internal
+ \brief An "efficient" mathematical set class.
+
+ This set class is designed to store a mathematical set and to
+ present it to the user as a linear array (std::vector).
+ Elements are stored by copy. Implementation is lazy.
+ \invariant \a v_.size() == s_.size()
+ The parameter \c E is the element type, which shall not be
+ const-qualified.
+
+ \todo Add a remove method.
+ */
template <typename E>
class set_of_
{
diff --git a/milena/mln/core/internal/site_relative_iterator_base.hh b/milena/mln/core/internal/site_relative_iterator_base.hh
index 7483dfa..c091203 100644
--- a/milena/mln/core/internal/site_relative_iterator_base.hh
+++ b/milena/mln/core/internal/site_relative_iterator_base.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -47,16 +47,18 @@ namespace mln
namespace internal
{
- /// A generic iterator on points of windows and of
- /// neighborhoods.
- ///
- /// Parameter \c S is the targeted "site set definition" type. It
- /// can be either a Window, or a Neighborhood.
- ///
- /// IMPORTANT: Sub-classes have to define center_at_, do_start_, do_next_,
- /// is_valid_, invalidate_ and compute_p_. They shall define
- /// NEITHER start_ NOR next_.
- ///
+ /*!
+ \internal
+ \brief A generic iterator on points of windows and of
+ neighborhoods.
+
+ Parameter \c S is the targeted "site set definition" type. It
+ can be either a Window, or a Neighborhood.
+
+ IMPORTANT: Sub-classes have to define center_at_, do_start_, do_next_,
+ is_valid_, invalidate_ and compute_p_. They shall define
+ NEITHER start_ NOR next_.
+ */
template <typename S, typename E, typename C = mln_psite(S)>
class site_relative_iterator_base : public site_iterator_base< S, E >
{
diff --git a/milena/mln/core/internal/site_set_base.hh b/milena/mln/core/internal/site_set_base.hh
index 076d480..191a16c 100644
--- a/milena/mln/core/internal/site_set_base.hh
+++ b/milena/mln/core/internal/site_set_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -42,12 +43,15 @@ namespace mln
{
- /// A base class for site set classes.
- ///
- /// \tparam P The psite type of what is ``contained'' in the site
- /// set, not the psite of the site set (which is
- /// different, and defined by the site set itself).
- /// \tparam E The exact type of the site set.
+ /*!
+ \internal
+ \brief A base class for site set classes.
+
+ \tparam P The psite type of what is ``contained'' in the site
+ set, not the psite of the site set (which is
+ different, and defined by the site set itself).
+ \tparam E The exact type of the site set.
+ */
template <typename P, typename E>
struct site_set_base_ : public Site_Set<E>
{
diff --git a/milena/mln/core/internal/site_set_iterator_base.hh b/milena/mln/core/internal/site_set_iterator_base.hh
index 71c3fe3..0b85fbb 100644
--- a/milena/mln/core/internal/site_set_iterator_base.hh
+++ b/milena/mln/core/internal/site_set_iterator_base.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -41,14 +41,16 @@ namespace mln
namespace internal
{
- /// A base class for iterators on site sets.
- ///
- /// Parameter \c S is the targeted site set type.
- ///
- /// IMPORTANT: Sub-classes have to define start_, next_,
- /// is_valid_ and invalidate_. They may also define
- /// change_target_.
- //
+ /*!
+ \internal
+ \brief A base class for iterators on site sets.
+
+ Parameter \c S is the targeted site set type.
+
+ IMPORTANT: Sub-classes have to define start_, next_,
+ is_valid_ and invalidate_. They may also define
+ change_target_.
+ */
template <typename S, typename E>
class site_set_iterator_base : public site_iterator_base<S, E>
{
diff --git a/milena/mln/core/internal/weighted_window_base.hh b/milena/mln/core/internal/weighted_window_base.hh
index cb21536..4a6698c 100644
--- a/milena/mln/core/internal/weighted_window_base.hh
+++ b/milena/mln/core/internal/weighted_window_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -39,10 +40,12 @@ namespace mln
namespace internal
{
- /// Base class for weighted window classes.
- ///
- /// \p W is the corresponding window type.
+ /*!
+ \internal
+ \brief Base class for weighted window classes.
+ \p W is the corresponding window type.
+ */
template <typename W, typename E>
struct weighted_window_base : public Weighted_Window<E>
{
@@ -70,7 +73,7 @@ namespace mln
/// method is valid iff the support is regular and the
/// definition is not varying.
bool is_centered() const;
-
+
/// Give the maximum coordinate gap; final method. This method
/// is valid iff the support is regular and the definition is
/// not varying.
diff --git a/milena/mln/core/internal/window_base.hh b/milena/mln/core/internal/window_base.hh
index 0047055..bfe8da5 100644
--- a/milena/mln/core/internal/window_base.hh
+++ b/milena/mln/core/internal/window_base.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -41,10 +41,12 @@ namespace mln
{
- /// A base class for window classes.
- ///
- /// \p D is a dpsite type.
- ///
+ /*!
+ \internal
+ \brief A base class for window classes.
+
+ \p D is a dpsite type.
+ */
template <typename D, typename E>
struct window_base : public Window<E>
{
diff --git a/milena/mln/core/pixter1d.hh b/milena/mln/core/pixter1d.hh
index da0eb75..8a626da 100644
--- a/milena/mln/core/pixter1d.hh
+++ b/milena/mln/core/pixter1d.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -40,7 +41,10 @@ namespace mln
| fwd_pixter1d<I>. |
`------------------*/
- /// Forward pixel iterator on a 1-D image with border.
+ /*!
+ \internal
+ \brief Forward pixel iterator on a 1-D image with border.
+ */
template <typename I>
class fwd_pixter1d :
public internal::forward_pixel_iterator_base_< I, fwd_pixter1d<I> >
@@ -64,7 +68,10 @@ namespace mln
| bkd_pixter1d<I>. |
`------------------*/
- /// Backward pixel iterator on a 1-D image with border.
+ /*!
+ \internal
+ \brief Backward pixel iterator on a 1-D image with border.
+ */
template <typename I>
class bkd_pixter1d :
public internal::backward_pixel_iterator_base_< I, bkd_pixter1d<I> >
diff --git a/milena/mln/core/pixter2d.hh b/milena/mln/core/pixter2d.hh
index 930addd..49011aa 100644
--- a/milena/mln/core/pixter2d.hh
+++ b/milena/mln/core/pixter2d.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -42,7 +43,10 @@ namespace mln
| fwd_pixter2d<I>. |
`------------------*/
- /// Forward pixel iterator on a 2-D image with border.
+ /*!
+ \internal
+ \brief Forward pixel iterator on a 2-D image with border.
+ */
template <typename I>
class fwd_pixter2d
: public internal::forward_pixel_iterator_base_< I, fwd_pixter2d<I> >
@@ -82,7 +86,10 @@ namespace mln
| bkd_pixter2d<I>. |
`------------------*/
- /// Backward pixel iterator on a 2-D image with border.
+ /*!
+ \internal
+ \brief Backward pixel iterator on a 2-D image with border.
+ */
template <typename I>
class bkd_pixter2d
: public internal::backward_pixel_iterator_base_< I, bkd_pixter2d<I> >
diff --git a/milena/mln/core/pixter3d.hh b/milena/mln/core/pixter3d.hh
index a9cb48b..93bad74 100644
--- a/milena/mln/core/pixter3d.hh
+++ b/milena/mln/core/pixter3d.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -43,7 +44,10 @@ namespace mln
| fwd_pixter3d<I>. |
`------------------*/
- /// Forward pixel iterator on a 3-D image with border.
+ /*!
+ \internal
+ \brief Forward pixel iterator on a 3-D image with border.
+ */
template <typename I>
class fwd_pixter3d
: public internal::forward_pixel_iterator_base_< I, fwd_pixter3d<I> >
@@ -95,7 +99,10 @@ namespace mln
| bkd_pixter3d<I>. |
`------------------*/
- /// Backward pixel iterator on a 3-D image with border.
+ /*!
+ \internal
+ \brief Backward pixel iterator on a 3-D image with border.
+ */
template <typename I>
class bkd_pixter3d
: public internal::backward_pixel_iterator_base_< I, bkd_pixter3d<I> >
diff --git a/milena/mln/core/routine/ops.hh b/milena/mln/core/routine/ops.hh
index db26631..220e14d 100644
--- a/milena/mln/core/routine/ops.hh
+++ b/milena/mln/core/routine/ops.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -107,27 +107,45 @@ namespace mln
// For unary operators.
- /// Default definition of op::uplus trait.
+ /*!
+ \internal
+ \brief Default definition of op::uplus trait.
+ */
template <typename O>
struct set_unary_< op::uplus, Object,O > { typedef O ret; };
- /// Default definition of op::uminus trait.
+ /*!
+ \internal
+ \brief Default definition of op::uminus trait.
+ */
template <typename O>
struct set_unary_< op::uminus, Object,O > { typedef mln_trait_op_minus(O, O) ret; };
- /// Default definition of op::preinc trait.
+ /*!
+ \internal
+ \brief Default definition of op::preinc trait.
+ */
template <typename O>
struct set_unary_< op::preinc, Object,O > { typedef O& ret; };
- /// Default definition of op::preinc trait.
+ /*!
+ \internal
+ \brief Default definition of op::preinc trait.
+ */
template <typename O>
struct set_unary_< op::predec, Object,O > { typedef O& ret; };
- /// Default definition of op::postinc trait.
+ /*!
+ \internal
+ \brief Default definition of op::postinc trait.
+ */
template <typename O>
struct set_unary_< op::postinc, Object,O > { typedef O ret; };
- /// Default definition of op::postinc trait.
+ /*!
+ \internal
+ \brief Default definition of op::postinc trait.
+ */
template <typename O>
struct set_unary_< op::postdec, Object,O > { typedef O ret; };
diff --git a/milena/mln/core/site_set/attic/p_complex_faces_piter.hh b/milena/mln/core/site_set/attic/p_complex_faces_piter.hh
index d910b4f..1f01319 100644
--- a/milena/mln/core/site_set/attic/p_complex_faces_piter.hh
+++ b/milena/mln/core/site_set/attic/p_complex_faces_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -55,8 +56,11 @@ namespace mln
| p_complex_faces_fwd_piter_<N, D, P>. |
`--------------------------------------*/
- /// \brief Forward iterator on the \p N-faces sites of an
- /// mln::p_complex<D, P>.
+ /*!
+ \internal
+ \brief Forward iterator on the \p N-faces sites of an
+ mln::p_complex<D, P>.
+ */
template <unsigned N, unsigned D, typename P>
class p_complex_faces_fwd_piter_
: public internal::p_complex_piter_base_< topo::faces_fwd_iter_<N, D>,
@@ -83,8 +87,11 @@ namespace mln
| p_complex_faces_bkd_piter_<N, D, P>. |
`--------------------------------------*/
- /// \brief Backward iterator on the \p N-faces sites of an
- /// mln::p_complex<D, P>.
+ /*!
+ \internal
+ \brief Backward iterator on the \p N-faces sites of an
+ mln::p_complex<D, P>.
+ */
template <unsigned N, unsigned D, typename P>
class p_complex_faces_bkd_piter_
/* FIXME: Rename internal::p_complex_piter_base_ to something else,
diff --git a/milena/mln/core/site_set/attic/p_faces_piter.hh b/milena/mln/core/site_set/attic/p_faces_piter.hh
index 148872c..7f67bbc 100644
--- a/milena/mln/core/site_set/attic/p_faces_piter.hh
+++ b/milena/mln/core/site_set/attic/p_faces_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -51,8 +52,11 @@ namespace mln
| p_faces_fwd_piter_<N, D, P>. |
`------------------------------*/
- /// \brief Forward iterator on the \p N-faces sites of an
- /// mln::p_faces<N, D, P>.
+ /*!
+ \internal
+ \brief Forward iterator on the \p N-faces sites of an
+ mln::p_faces<N, D, P>.
+ */
template <unsigned N, unsigned D, typename P>
class p_faces_fwd_piter_
: public internal::p_complex_piter_base_< topo::faces_fwd_iter_<N, D>,
@@ -79,8 +83,11 @@ namespace mln
| p_faces_bkd_piter_<N, D, P>. |
`------------------------------*/
- /// \brief Backward iterator on the \p N-faces sites of an
- /// mln::p_faces<N, D, P>.
+ /*!
+ \internal
+ \brief Backward iterator on the \p N-faces sites of an
+ mln::p_faces<N, D, P>.
+ */
template <unsigned N, unsigned D, typename P>
class p_faces_bkd_piter_
/* FIXME: Rename internal::p_complex_piter_base_ to something else,
diff --git a/milena/mln/core/site_set/box_piter.hh b/milena/mln/core/site_set/box_piter.hh
index b031654..d3b548f 100644
--- a/milena/mln/core/site_set/box_piter.hh
+++ b/milena/mln/core/site_set/box_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -38,12 +39,14 @@
namespace mln
{
- /// \brief A generic forward iterator on points of boxes.
- ///
- /// The parameter \c P is the type of points.
- ///
- /// \see mln::box
- ///
+ /*!
+ \internal
+ \brief A generic forward iterator on points of boxes.
+
+ The parameter \c P is the type of points.
+
+ \see mln::box
+ */
template <typename P>
class box_fwd_piter_ : public internal::site_set_iterator_base< box<P>,
box_fwd_piter_<P> >
@@ -84,12 +87,14 @@ namespace mln
- /// A generic backward iterator on points of boxes.
- ///
- /// The parameter \c P is the type of points.
- ///
- /// \see mln::box
- ///
+ /*!
+ \internal
+ \brief A generic backward iterator on points of boxes.
+
+ The parameter \c P is the type of points.
+
+ \see mln::box
+ */
template <typename P>
class box_bkd_piter_ : public internal::site_set_iterator_base< box<P>,
box_bkd_piter_<P> >
diff --git a/milena/mln/core/site_set/complex_psite.hh b/milena/mln/core/site_set/complex_psite.hh
index 9e150cc..c15c12d 100644
--- a/milena/mln/core/site_set/complex_psite.hh
+++ b/milena/mln/core/site_set/complex_psite.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -227,7 +228,7 @@ namespace mln
complex_psite<D, G>::complex_psite(const p_complex<D, G>& pc,
unsigned n, unsigned face_id)
: pc_(&pc),
- face_(pc.cplx(), n, face_id)
+ face_(pc.cplx(), n, face_id)
{
if (is_valid())
update_();
diff --git a/milena/mln/core/site_set/p_array.hh b/milena/mln/core/site_set/p_array.hh
index 0ca810e..08a041e 100644
--- a/milena/mln/core/site_set/p_array.hh
+++ b/milena/mln/core/site_set/p_array.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
+// Copyright (C) 2007, 2008, 2009, 2010, 2011, 2012 EPITA Research and
// Development Laboratory (LRDE)
//
// This file is part of Olena.
@@ -177,8 +177,10 @@ namespace mln
- /// Psite class for indexed site sets such as p_array<P>.
- ///
+ /*!
+ \internal
+ \brief Psite class for indexed site sets such as p_array<P>.
+ */
template <typename S>
class p_indexed_psite : public internal::pseudo_site_base_< const mln_element(S)&,
p_indexed_psite<S> >
@@ -229,8 +231,10 @@ namespace mln
- /// Forward iterator on sites of an indexed site set.
-
+ /*!
+ \internal
+ \brief Forward iterator on sites of an indexed site set.
+ */
template <typename S>
class p_indexed_fwd_piter
:
@@ -270,8 +274,10 @@ namespace mln
- /// Backward iterator on sites of an indexed site set.
-
+ /*!
+ \internal
+ \brief Backward iterator on sites of an indexed site set.
+ */
template <typename S>
class p_indexed_bkd_piter
:
diff --git a/milena/mln/core/site_set/p_complex_piter.hh b/milena/mln/core/site_set/p_complex_piter.hh
index 9fa2282..ac52cb7 100644
--- a/milena/mln/core/site_set/p_complex_piter.hh
+++ b/milena/mln/core/site_set/p_complex_piter.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2010, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -48,7 +48,10 @@ namespace mln
| p_complex_fwd_piter_<D, G>. |
`-----------------------------*/
- /// \brief Forward iterator on (all) the faces of an mln::p_complex<D, G>.
+ /*!
+ \internal
+ \brief Forward iterator on (all) the faces of an mln::p_complex<D, G>.
+ */
template <unsigned D, typename G>
class p_complex_fwd_piter_
: public internal::p_complex_piter_base_< topo::face_fwd_iter<D>,
@@ -75,7 +78,10 @@ namespace mln
| p_complex_bkd_piter_<D, G>. |
`-----------------------------*/
- /// \brief Backward iterator on (all) the faces of an mln::p_complex<D, G>.
+ /*!
+ \internal
+ \brief Backward iterator on (all) the faces of an mln::p_complex<D, G>.
+ */
template <unsigned D, typename G>
class p_complex_bkd_piter_
: public internal::p_complex_piter_base_< topo::face_bkd_iter<D>,
diff --git a/milena/mln/core/site_set/p_edges_psite.hh b/milena/mln/core/site_set/p_edges_psite.hh
index c72e9bb..9b0a0fa 100644
--- a/milena/mln/core/site_set/p_edges_psite.hh
+++ b/milena/mln/core/site_set/p_edges_psite.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -89,8 +90,10 @@ namespace mln
namespace internal
{
- /// Subject_impl (Proxy)
-
+ /*!
+ \internal
+ \brief Subject_impl (Proxy)
+ */
template <typename G, typename F, typename E>
struct subject_impl< const p_edges_psite<G,F>&, E >
: subject_impl< const graph_psite_base< p_edges<G,F>,
diff --git a/milena/mln/core/site_set/p_graph_piter.hh b/milena/mln/core/site_set/p_graph_piter.hh
index 12b7e0d..2a52048 100644
--- a/milena/mln/core/site_set/p_graph_piter.hh
+++ b/milena/mln/core/site_set/p_graph_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -50,7 +51,10 @@ namespace mln
| p_graph_piter<S,I>. |
`------------------------*/
- /// Generic iterator on point sites of a mln::S.
+ /*!
+ \internal
+ \brief Generic iterator on point sites of a mln::S.
+ */
template <typename S, typename I>
class p_graph_piter
: public internal::site_set_iterator_base< S,
@@ -112,7 +116,10 @@ namespace mln
{
/// \{
- /// subject_impl specialization (Proxy)
+ /*!
+ \internal
+ \brief subject_impl specialization (Proxy)
+ */
template <typename S, typename I, typename E>
struct subject_impl< const p_graph_piter<S,I>&, E >
{
diff --git a/milena/mln/core/site_set/p_if_piter.hh b/milena/mln/core/site_set/p_if_piter.hh
index 8bfa124..7820d40 100644
--- a/milena/mln/core/site_set/p_if_piter.hh
+++ b/milena/mln/core/site_set/p_if_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -39,13 +40,15 @@ namespace mln
{
- /*! \brief Iterator on site sets conditionned by a function.
- *
- * Parameter \c S is a site set type; parameter F is a function
- * from point to Boolean.
- *
- * \see mln::p_if
- */
+ /*!
+ \internal
+ \brief Iterator on site sets conditionned by a function.
+
+ Parameter \c S is a site set type; parameter F is a function
+ from point to Boolean.
+
+ \see mln::p_if
+ */
template <typename Pi, typename S, typename F>
struct p_if_piter_
: public internal::piter_adaptor_< Pi, // Adaptee.
@@ -112,7 +115,7 @@ namespace mln
pi_.next();
while (pi_.is_valid() && ! s_->pred(pi_));
}
-
+
template <typename Pi, typename S, typename F>
inline
void
diff --git a/milena/mln/core/site_set/p_n_faces_piter.hh b/milena/mln/core/site_set/p_n_faces_piter.hh
index 3282be8..0a1849f 100644
--- a/milena/mln/core/site_set/p_n_faces_piter.hh
+++ b/milena/mln/core/site_set/p_n_faces_piter.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2010, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -50,8 +50,11 @@ namespace mln
| p_n_faces_fwd_piter<D, G>. |
`----------------------------*/
- /// \brief Forward iterator on the n-faces sites of an
- /// mln::p_complex<D, G>.
+ /*!
+ \internal
+ \brief Forward iterator on the n-faces sites of an
+ mln::p_complex<D, G>.
+ */
template <unsigned D, typename G>
class p_n_faces_fwd_piter
: public internal::p_complex_piter_base_< topo::n_face_fwd_iter<D>,
@@ -86,8 +89,11 @@ namespace mln
| p_n_faces_bkd_piter<D, G>. |
`----------------------------*/
- /// \brief Backward iterator on the n-faces sites of an
- /// mln::p_complex<D, G>.
+ /*!
+ \internal
+ \brief Backward iterator on the n-faces sites of an
+ mln::p_complex<D, G>.
+ */
template <unsigned D, typename G>
class p_n_faces_bkd_piter
/* FIXME: Rename internal::p_complex_piter_base_ to something else,
@@ -145,7 +151,7 @@ namespace mln
template <unsigned D, typename G>
inline
- unsigned
+ unsigned
p_n_faces_fwd_piter<D, G>::n() const
{
return this->iter_.n();
@@ -158,7 +164,7 @@ namespace mln
{
this->iter_.set_n(n);
}
-
+
/*----------------------------.
| p_n_faces_bkd_piter<D, G>. |
@@ -182,7 +188,7 @@ namespace mln
template <unsigned D, typename G>
inline
- unsigned
+ unsigned
p_n_faces_bkd_piter<D, G>::n() const
{
return this->iter_.n();
diff --git a/milena/mln/core/site_set/p_run_piter.hh b/milena/mln/core/site_set/p_run_piter.hh
index dd04610..1495723 100644
--- a/milena/mln/core/site_set/p_run_piter.hh
+++ b/milena/mln/core/site_set/p_run_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -38,9 +39,10 @@
namespace mln
{
- /*! \brief Forward iterator on points of a p_run<P>.
- *
- */
+ /*!
+ \internal
+ \brief Forward iterator on points of a p_run<P>.
+ */
template <typename P>
class p_run_fwd_piter_
:
@@ -76,9 +78,10 @@ namespace mln
- /*! \brief Backward iterator on points of a p_run<P>.
- *
- */
+ /*!
+ \internal
+ \brief Backward iterator on points of a p_run<P>.
+ */
template <typename P>
class p_run_bkd_piter_
:
diff --git a/milena/mln/core/site_set/p_transformed_piter.hh b/milena/mln/core/site_set/p_transformed_piter.hh
index 25375fb..505c72d 100644
--- a/milena/mln/core/site_set/p_transformed_piter.hh
+++ b/milena/mln/core/site_set/p_transformed_piter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2012 EPITA Research and Development Laboratory
+// (LRDE)
//
// This file is part of Olena.
//
@@ -39,13 +40,15 @@ namespace mln
{
- /// Iterator on p_transformed<S,F>.
- ///
- /// Parameter \c S is a site set type; parameter F is a function
- /// from point to Boolean.
- ///
- /// \see mln::p_transformed
- //
+ /*!
+ \internal
+ \brief Iterator on p_transformed<S,F>.
+
+ Parameter \c S is a site set type; parameter F is a function
+ from point to Boolean.
+
+ \see mln::p_transformed
+ */
template <typename Pi, typename S, typename F>
struct p_transformed_piter
: public internal::site_set_iterator_base< p_transformed<S,F>, // Site_Set.
@@ -59,16 +62,16 @@ namespace mln
/// Test the iterator validity.
bool is_valid_() const;
-
+
/// Invalidate the iterator.
void invalidate_();
-
+
/// Start an iteration.
void start_();
-
+
/// Go to the next point.
void next_();
-
+
/// Change the set site targeted by this iterator.
void change_target(const p_transformed<S,F>& s);
diff --git a/milena/mln/core/site_set/p_vertices_psite.hh b/milena/mln/core/site_set/p_vertices_psite.hh
index 320796f..a8b2cb2 100644
--- a/milena/mln/core/site_set/p_vertices_psite.hh
+++ b/milena/mln/core/site_set/p_vertices_psite.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -84,8 +84,10 @@ namespace mln
namespace internal
{
- /// Subject_impl (Proxy)
-
+ /*!
+ \internal
+ \brief Subject_impl (Proxy)
+ */
template <typename G, typename F, typename E>
struct subject_impl< const p_vertices_psite<G,F>&, E >
: subject_impl< const graph_psite_base< p_vertices<G,F>,
diff --git a/milena/mln/fun/c.hh b/milena/mln/fun/c.hh
index a09325c..32666d0 100644
--- a/milena/mln/fun/c.hh
+++ b/milena/mln/fun/c.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -41,12 +42,18 @@
namespace mln
{
- /// Concept-like.
+ /*!
+ \internal
+ \brief Concept-like.
+ */
template <typename E>
struct C_Function;
- /// Category declaration for a unary C function.
+ /*!
+ \internal
+ \brief Category declaration for a unary C function.
+ */
template <typename R, typename A>
struct category< R (*)(A) >
{
diff --git a/milena/mln/fun/internal/ch_function_value_impl.hh b/milena/mln/fun/internal/ch_function_value_impl.hh
index 387cb17..185634a 100644
--- a/milena/mln/fun/internal/ch_function_value_impl.hh
+++ b/milena/mln/fun/internal/ch_function_value_impl.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -39,7 +40,10 @@ namespace mln
namespace internal
{
- /// Default implementation.
+ /*!
+ \internal
+ \brief Default implementation.
+ */
template <typename F, typename V>
struct ch_function_value_impl
{
diff --git a/milena/mln/fun/v2v/ch_function_value.hh b/milena/mln/fun/v2v/ch_function_value.hh
index 68fc9ee..8fc6f32 100644
--- a/milena/mln/fun/v2v/ch_function_value.hh
+++ b/milena/mln/fun/v2v/ch_function_value.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -47,7 +48,7 @@ namespace mln
namespace v2v
{
- /// Wrap a function v2v and convert its result to another type.
+ /// \brief Wrap a function v2v and convert its result to another type.
template <typename F, typename V>
class ch_function_value : public Function_v2v< ch_function_value<F,V> >,
public internal::ch_function_value_impl<F, V>
diff --git a/milena/mln/fun/x2x/composed.hh b/milena/mln/fun/x2x/composed.hh
index a95dfeb..162e2fe 100644
--- a/milena/mln/fun/x2x/composed.hh
+++ b/milena/mln/fun/x2x/composed.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2010 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2010, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -58,7 +58,10 @@ namespace mln
struct helper_composed_;
- /// Helper for describing a bijective composition.
+ /*!
+ \internal
+ \brief Helper for describing a bijective composition.
+ */
template <typename T2, typename T1, typename E>
struct helper_composed_<T2,T1,E,true>
: public fun::internal::x2x_linear_impl_<mln_result(T2), typename T2::data_t, E >,
@@ -99,7 +102,10 @@ namespace mln
T1 g_;
};
- /// Helper for describing a non bijective composition.
+ /*!
+ \internal
+ \brief Helper for describing a non bijective composition.
+ */
template <typename T2, typename T1, typename E>
struct helper_composed_<T2,T1,E,false>
: public fun::internal::x2x_linear_impl_<mln_result(T2), typename T2::data_t, E >,
diff --git a/milena/mln/geom/complex_geometry.hh b/milena/mln/geom/complex_geometry.hh
index ef23c3e..fbad8c4 100644
--- a/milena/mln/geom/complex_geometry.hh
+++ b/milena/mln/geom/complex_geometry.hh
@@ -114,9 +114,12 @@ namespace mln
namespace internal
{
- /// The data stored in a complex_geometry object.
- ///
- /// \tparam P The type of the location of a 0-face.
+ /*!
+ \internal
+ \brief The data stored in a complex_geometry object.
+
+ \tparam P The type of the location of a 0-face.
+ */
template <typename P>
struct complex_geometry_data
{
diff --git a/milena/mln/labeling/blobs.hh b/milena/mln/labeling/blobs.hh
index ce06b7d..d41563f 100644
--- a/milena/mln/labeling/blobs.hh
+++ b/milena/mln/labeling/blobs.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -74,8 +74,10 @@ namespace mln
namespace internal
{
- /// Functor not computing anything. To be passed to the labeling
- /// blobs canvas.
+ /*!
+ \brief Functor not computing anything. To be passed to the labeling
+ blobs canvas.
+ */
template <typename L>
struct dummy_functor
{
diff --git a/milena/mln/labeling/blobs_and_compute.hh b/milena/mln/labeling/blobs_and_compute.hh
index e8f784c..39ea59d 100644
--- a/milena/mln/labeling/blobs_and_compute.hh
+++ b/milena/mln/labeling/blobs_and_compute.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory
-// (LRDE)
+// Copyright (C) 2009, 2010, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -71,8 +71,11 @@ namespace mln
namespace internal
{
- /// Functor not computing anything. To be passed to the labeling
- /// blobs canvas.
+ /*!
+ \internal
+ \brief Functor not computing anything.
+ To be passed to the labeling blobs canvas.
+ */
template <typename L, typename A>
struct compute_functor
{
diff --git a/milena/mln/metal/ands.hh b/milena/mln/metal/ands.hh
index b2329a1..6a65436 100644
--- a/milena/mln/metal/ands.hh
+++ b/milena/mln/metal/ands.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -38,8 +39,11 @@ namespace mln
namespace metal
{
-
- /// Ands type.
+
+ /*!
+ \internal
+ \brief Ands type.
+ */
template < typename E1,
typename E2,
typename E3,
diff --git a/milena/mln/metal/bexpr.hh b/milena/mln/metal/bexpr.hh
index 0dc1821..1631151 100644
--- a/milena/mln/metal/bexpr.hh
+++ b/milena/mln/metal/bexpr.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -45,26 +46,38 @@ namespace mln
namespace metal
{
-
- /// Negate type.
+
+ /*!
+ \internal
+ \brief Negate type.
+ */
template <typename B>
struct not_ : bool_<( ! B::value )>
{};
-
- /// And type.
+
+ /*!
+ \internal
+ \brief And type.
+ */
template <typename L, typename R>
struct and_ : bool_<( L::value && R::value )>
{};
-
- /// Or type.
+
+ /*!
+ \internal
+ \brief Or type.
+ */
template <typename L, typename R>
struct or_ : bool_<( L::value || R::value )>
{};
-
- /// Xor type.
+
+ /*!
+ \internal
+ \brief Xor type.
+ */
template <typename L, typename R>
struct xor_ : bool_<( L::value ^ R::value )>
{};
diff --git a/milena/mln/metal/bool.hh b/milena/mln/metal/bool.hh
index 3960b8d..4b6ff59 100644
--- a/milena/mln/metal/bool.hh
+++ b/milena/mln/metal/bool.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -50,7 +51,10 @@ namespace mln
template <bool b> struct bool_;
- /// "true" type.
+ /*!
+ \internal
+ \brief "true" type.
+ */
template <>
struct bool_< true >
{
@@ -64,7 +68,10 @@ namespace mln
typedef bool_<true> true_;
- /// "false" type.
+ /*!
+ \internal
+ \brief "false" type.
+ */
template <>
struct bool_< false >
{
diff --git a/milena/mln/metal/converts_to.hh b/milena/mln/metal/converts_to.hh
index 25be3e9..8d877ba 100644
--- a/milena/mln/metal/converts_to.hh
+++ b/milena/mln/metal/converts_to.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -73,7 +74,10 @@ namespace mln
- /// \brief "converts-to" check.
+ /*!
+ \internal
+ \brief "converts-to" check.
+ */
template <typename T, typename U>
struct converts_to : bool_<( sizeof(internal::helper_converts_to_<T, U>
::selector(*internal::make_<mlc_const(T)>::ptr(),
diff --git a/milena/mln/metal/equal.hh b/milena/mln/metal/equal.hh
index 47b7c4f..170ed91 100644
--- a/milena/mln/metal/equal.hh
+++ b/milena/mln/metal/equal.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -42,9 +43,11 @@ namespace mln
namespace metal
{
- /// Definition of a static 'equal' test.
- /// Check whether type T1 is exactly type T2.
- //
+ /*!
+ \internal
+ \brief Definition of a static 'equal' test.
+ Check whether type T1 is exactly type T2.
+ */
template <typename T1, typename T2>
struct equal : false_
{};
diff --git a/milena/mln/metal/goes_to.hh b/milena/mln/metal/goes_to.hh
index f8757c9..79bbd15 100644
--- a/milena/mln/metal/goes_to.hh
+++ b/milena/mln/metal/goes_to.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -45,14 +46,16 @@ namespace mln
namespace metal
{
- /*! \brief "goes-to" check.
- *
- * FIXME: Doc!
- */
+ /*!
+ \internal
+ \brief "goes-to" check.
+
+ FIXME: Doc!
+ */
template <typename T, typename U>
struct goes_to : or_< mlc_converts_to(T,U), mlc_is(T,U) >::eval
{};
-
+
} // end of namespace mln::metal
diff --git a/milena/mln/metal/if.hh b/milena/mln/metal/if.hh
index ab5a64f..5adb0e7 100644
--- a/milena/mln/metal/if.hh
+++ b/milena/mln/metal/if.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -64,10 +65,12 @@ namespace mln
} // end of namespace mln::metal::internal
- /*! \brief "if-then-else" expression.
- *
- * FIXME: Doc!
- */
+ /*!
+ \internal
+ \brief "if-then-else" expression.
+
+ FIXME: Doc!
+ */
template <typename Cond, typename Then, typename Else>
struct if_ : internal::helper_if_< Cond::value, Then, Else >
{
diff --git a/milena/mln/metal/int.hh b/milena/mln/metal/int.hh
index a216db9..d52291c 100644
--- a/milena/mln/metal/int.hh
+++ b/milena/mln/metal/int.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -41,7 +42,10 @@ namespace mln
namespace metal
{
- /// "int" type.
+ /*!
+ \internal
+ \brief "int" type.
+ */
template <int i>
struct int_
{
diff --git a/milena/mln/metal/is.hh b/milena/mln/metal/is.hh
index 10db237..f4f2c10 100644
--- a/milena/mln/metal/is.hh
+++ b/milena/mln/metal/is.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -57,9 +58,11 @@ namespace mln
- /// \brief "is" check.
- /// Check whether T inherits from U.
- //
+ /*!
+ \internal
+ \brief "is" check.
+ Check whether T inherits from U.
+ */
template <typename T, typename U>
struct is : bool_<( sizeof(internal::helper_is_<T, U>::selector(internal::make_<T>::ptr()))
==
diff --git a/milena/mln/metal/is_a.hh b/milena/mln/metal/is_a.hh
index 2244c33..7a0c803 100644
--- a/milena/mln/metal/is_a.hh
+++ b/milena/mln/metal/is_a.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -33,14 +34,16 @@
# include <mln/metal/bool.hh>
-/// \brief Expand to a "metalic" boolean expression stating whether \a
-/// T is a subclass of \a M or not.
-///
-/// In the current implementation, \a M must be template class with
-/// exactly one, non template parameter.
-///
-/// This macro is the recommended user interface of the "is_a"
-/// facility.
+/*!
+ \brief Expand to a "metalic" boolean expression stating whether \a
+ T is a subclass of \a M or not.
+
+ In the current implementation, \a M must be template class with
+ exactly one, non template parameter.
+
+ This macro is the recommended user interface of the "is_a"
+ facility.
+*/
# define mlc_is_a(T, M) mln::metal::is_a<T, M>
@@ -87,28 +90,30 @@ namespace mln
- /// \brief "is_a" check.
- ///
- /// Check whether T inherits from _CONCEPT_ M.
- //
+ /*!
+ \internal
+ \brief "is_a" check.
+
+ Check whether T inherits from _CONCEPT_ M.
+ */
template <typename T, template <class> class M>
struct is_a : bool_<( sizeof( internal::helper_is_a_< T, M >::selector(internal::make_< T >::ptr()) )
==
sizeof( internal::yes_ ) )>
{};
-
+
template <typename T, template <class> class M>
struct is_a< const T, M > : is_a< T, M >::eval
{};
-
+
template <typename T, template <class> class M>
struct is_a< T&, M > : is_a< T, M >::eval
{};
-
+
template <typename T, template <class> class M>
struct is_a< const T&, M > : is_a< T, M >::eval
{};
-
+
} // end of namespace mln::metal
diff --git a/milena/mln/metal/is_not.hh b/milena/mln/metal/is_not.hh
index 2857934..c00d009 100644
--- a/milena/mln/metal/is_not.hh
+++ b/milena/mln/metal/is_not.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -44,10 +45,12 @@ namespace mln
namespace metal
{
- /*! \brief "is_not" check.
- *
- * FIXME: Doc!
- */
+ /*!
+ \internal
+ \brief "is_not" check.
+
+ FIXME: Doc!
+ */
template <typename T, typename U>
struct is_not : not_< is<T, U> >::eval
{
diff --git a/milena/mln/metal/is_not_a.hh b/milena/mln/metal/is_not_a.hh
index 1519590..15cbac6 100644
--- a/milena/mln/metal/is_not_a.hh
+++ b/milena/mln/metal/is_not_a.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -43,7 +44,10 @@ namespace mln
namespace metal
{
- /// "is_not_a" static Boolean expression.
+ /*!
+ \internal
+ \brief "is_not_a" static Boolean expression.
+ */
template <typename T, template <class> class M>
struct is_not_a : not_< is_a<T, M> >::eval
{
diff --git a/milena/mln/pw/image.hh b/milena/mln/pw/image.hh
index f88a811..ccf5b9e 100644
--- a/milena/mln/pw/image.hh
+++ b/milena/mln/pw/image.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -59,7 +60,10 @@ namespace mln
namespace internal
{
- /// Data structure for mln::pw::internal::image
+ /*!
+ \internal
+ \brief Data structure for mln::pw::internal::image
+ */
template <typename F, typename S>
struct data< mln::pw::image<F,S> >
{
diff --git a/milena/mln/pw/internal/image_base.hh b/milena/mln/pw/internal/image_base.hh
index 537f2eb..87693dc 100644
--- a/milena/mln/pw/internal/image_base.hh
+++ b/milena/mln/pw/internal/image_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2009, 2010 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2009, 2010, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -107,9 +108,13 @@ namespace mln
namespace internal
{
- /// A base class for point-wise images.
- /// Parameter \p F is the image value type.
- /// Parameter \p S is the image site set type.
+ /*!
+ \internal
+ \brief A base class for point-wise images.
+
+ Parameter \p F is the image value type.
+ Parameter \p S is the image site set type.
+ */
template <typename F, typename S, typename E>
class image_base
: public mln::internal::image_primary<mln_result(F), S, E >
diff --git a/milena/mln/topo/adj_higher_dim_connected_n_face_iter.hh b/milena/mln/topo/adj_higher_dim_connected_n_face_iter.hh
index 034f139..5b04e19 100644
--- a/milena/mln/topo/adj_higher_dim_connected_n_face_iter.hh
+++ b/milena/mln/topo/adj_higher_dim_connected_n_face_iter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -56,11 +57,12 @@ namespace mln
| topo::adj_higher_dim_connected_n_face_fwd_iter<D>. |
`----------------------------------------------------*/
- /// \brief Forward iterator on all the n-faces sharing an adjacent
- /// (n+1)-face with a (reference) n-face of an mln::complex<D>.
- ///
- /// \tparam D The dimension of the complex this iterator belongs to.
- //
+ /*! \internal
+ \brief Forward iterator on all the n-faces sharing an adjacent
+ (n+1)-face with a (reference) n-face of an mln::complex<D>.
+
+ \tparam D The dimension of the complex this iterator belongs to.
+ */
template <unsigned D>
class adj_higher_dim_connected_n_face_fwd_iter
: public internal::forward_complex_relative_iterator_base< topo::face<D>,
@@ -95,11 +97,13 @@ namespace mln
| topo::adj_higher_dim_connected_n_face_bkd_iter<D>. |
`----------------------------------------------------*/
- /// \brief Backward iterator on all the n-faces sharing an adjacent
- /// (n+1)-face with a (reference) n-face of an mln::complex<D>.
- ///
- /// \tparam D The dimension of the complex this iterator belongs to.
- //
+ /*!
+ \internal
+ \brief Backward iterator on all the n-faces sharing an adjacent
+ (n+1)-face with a (reference) n-face of an mln::complex<D>.
+
+ \tparam D The dimension of the complex this iterator belongs to.
+ */
template <unsigned D>
class adj_higher_dim_connected_n_face_bkd_iter
: public internal::backward_complex_relative_iterator_base< topo::face<D>,
diff --git a/milena/mln/topo/adj_higher_face_iter.hh b/milena/mln/topo/adj_higher_face_iter.hh
index 2b4ef65..797c5d1 100644
--- a/milena/mln/topo/adj_higher_face_iter.hh
+++ b/milena/mln/topo/adj_higher_face_iter.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2010, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -63,11 +63,13 @@ namespace mln
| topo::adj_higher_face_fwd_iter<D>. |
`------------------------------------*/
- /// \brief Forward iterator on all the adjacent (n+1)-faces of the
- /// n-face of an mln::complex<D>.
- ///
- /// \tparam D The dimension of the complex this iterator belongs to.
- //
+ /*!
+ \internal
+ \brief Forward iterator on all the adjacent (n+1)-faces of the
+ n-face of an mln::complex<D>.
+
+ \tparam D The dimension of the complex this iterator belongs to.
+ */
template <unsigned D>
class adj_higher_face_fwd_iter
: public internal::forward_complex_relative_iterator_base< topo::face<D>,
@@ -97,11 +99,13 @@ namespace mln
| topo::adj_higher_face_bkd_iter<D>. |
`------------------------------------*/
- /// \brief Backward iterator on all the adjacent (n+1)-faces of
- /// the n-face of an mln::complex<D>.
- ///
- /// \tparam D The dimension of the complex this iterator belongs to.
- //
+ /*!
+ \internal
+ \brief Backward iterator on all the adjacent (n+1)-faces of
+ the n-face of an mln::complex<D>.
+
+ \tparam D The dimension of the complex this iterator belongs to.
+ */
template <unsigned D>
class adj_higher_face_bkd_iter
: public internal::backward_complex_relative_iterator_base< topo::face<D>,
diff --git a/milena/mln/topo/adj_lower_dim_connected_n_face_iter.hh b/milena/mln/topo/adj_lower_dim_connected_n_face_iter.hh
index d493ea9..24f2800 100644
--- a/milena/mln/topo/adj_lower_dim_connected_n_face_iter.hh
+++ b/milena/mln/topo/adj_lower_dim_connected_n_face_iter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -56,11 +57,13 @@ namespace mln
| topo::adj_lower_dim_connected_n_face_fwd_iter<D>. |
`---------------------------------------------------*/
- /// \brief Forward iterator on all the n-faces sharing an adjacent
- /// (n-1)-face with a (reference) n-face of an mln::complex<D>.
- ///
- /// \tparam D The dimension of the complex this iterator belongs to.
- //
+ /*!
+ \internal
+ \brief Forward iterator on all the n-faces sharing an adjacent
+ (n-1)-face with a (reference) n-face of an mln::complex<D>.
+
+ \tparam D The dimension of the complex this iterator belongs to.
+ */
template <unsigned D>
class adj_lower_dim_connected_n_face_fwd_iter
: public internal::forward_complex_relative_iterator_base< topo::face<D>,
@@ -95,11 +98,13 @@ namespace mln
| topo::adj_lower_dim_connected_n_face_bkd_iter<D>. |
`---------------------------------------------------*/
- /// \brief Backward iterator on all the n-faces sharing an adjacent
- /// (n-1)-face with a (reference) n-face of an mln::complex<D>.
- ///
- /// \tparam D The dimension of the complex this iterator belongs to.
- //
+ /*!
+ \internal
+ \brief Backward iterator on all the n-faces sharing an adjacent
+ (n-1)-face with a (reference) n-face of an mln::complex<D>.
+
+ \tparam D The dimension of the complex this iterator belongs to.
+ */
template <unsigned D>
class adj_lower_dim_connected_n_face_bkd_iter
: public internal::backward_complex_relative_iterator_base< topo::face<D>,
diff --git a/milena/mln/topo/adj_lower_face_iter.hh b/milena/mln/topo/adj_lower_face_iter.hh
index a903460..5a6b7f0 100644
--- a/milena/mln/topo/adj_lower_face_iter.hh
+++ b/milena/mln/topo/adj_lower_face_iter.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2010, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -64,11 +64,13 @@ namespace mln
| topo::adj_lower_face_fwd_iter<D>. |
`-----------------------------------*/
- /// \brief Forward iterator on all the adjacent (n-1)-faces of the
- /// n-face of an mln::complex<D>.
- ///
- /// \tparam D The dimension of the complex this iterator belongs to.
- //
+ /*!
+ \internal
+ \brief Forward iterator on all the adjacent (n-1)-faces of the
+ n-face of an mln::complex<D>.
+
+ \tparam D The dimension of the complex this iterator belongs to.
+ */
template <unsigned D>
class adj_lower_face_fwd_iter
: public internal::forward_complex_relative_iterator_base< topo::face<D>,
@@ -99,11 +101,13 @@ namespace mln
| topo::adj_lower_face_bkd_iter<D>. |
`-----------------------------------*/
- /// \brief Backward iterator on all the adjacent (n-1)-faces of
- /// the n-face of an mln::complex<D>.
- ///
- /// \tparam D The dimension of the complex this iterator belongs to.
- //
+ /*!
+ \internal
+ \brief Backward iterator on all the adjacent (n-1)-faces of
+ the n-face of an mln::complex<D>.
+
+ \tparam D The dimension of the complex this iterator belongs to.
+ */
template <unsigned D>
class adj_lower_face_bkd_iter
: public internal::backward_complex_relative_iterator_base< topo::face<D>,
diff --git a/milena/mln/topo/adj_lower_higher_face_iter.hh b/milena/mln/topo/adj_lower_higher_face_iter.hh
index 2ed4abd..4788ed7 100644
--- a/milena/mln/topo/adj_lower_higher_face_iter.hh
+++ b/milena/mln/topo/adj_lower_higher_face_iter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -63,10 +64,13 @@ namespace mln
| topo::adj_lower_higher_face_fwd_iter<D>. |
`------------------------------------------*/
- /// Forward iterator on all the adjacent (n-1)-faces and
- /// (n+1)-faces of the n-face of an mln::complex<D>.
- ///
- /// \tparam D The dimension of the complex this iterator belongs to.
+ /*!
+ \internal
+ \brief Forward iterator on all the adjacent (n-1)-faces and
+ (n+1)-faces of the n-face of an mln::complex<D>.
+
+ \tparam D The dimension of the complex this iterator belongs to.
+ */
template <unsigned D>
class adj_lower_higher_face_fwd_iter
: public internal::complex_relative_iterator_sequence<adj_lower_face_fwd_iter<D>,
@@ -94,10 +98,13 @@ namespace mln
| topo::adj_lower_higher_face_bkd_iter<D>. |
`------------------------------------------*/
- /// Forward iterator on all the adjacent (n-1)-faces and
- /// (n+1)-faces of the n-face of an mln::complex<D>.
- ///
- /// \tparam D The dimension of the complex this iterator belongs to.
+ /*!
+ \internal
+ \brief Forward iterator on all the adjacent (n-1)-faces and
+ (n+1)-faces of the n-face of an mln::complex<D>.
+
+ \tparam D The dimension of the complex this iterator belongs to.
+ */
template <unsigned D>
class adj_lower_higher_face_bkd_iter
: public internal::complex_relative_iterator_sequence<adj_higher_face_bkd_iter<D>,
diff --git a/milena/mln/topo/adj_m_face_iter.hh b/milena/mln/topo/adj_m_face_iter.hh
index 1b070a9..abe4514 100644
--- a/milena/mln/topo/adj_m_face_iter.hh
+++ b/milena/mln/topo/adj_m_face_iter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -57,15 +58,18 @@ namespace mln
| topo::adj_m_face_fwd_iter<D>. |
`-------------------------------*/
- /** Forward iterator on all the m-faces transitively
- adjacent to a (reference) n-face in a complex.
+ /*!
+ \internal
+ \brief Forward iterator on all the m-faces transitively
+ adjacent to a (reference) n-face in a complex.
- \tparam D The dimension of the complex this iterator belongs to.
+ \tparam D The dimension of the complex this iterator belongs to.
- The dimension parameter (\a m_) must be lower or equal to D.
+ The dimension parameter (\a m_) must be lower or equal to D.
- If \a m_ is equal to the dimension of the reference face, then
- the iterated set is empty. */
+ If \a m_ is equal to the dimension of the reference face, then
+ the iterated set is empty.
+ */
template <unsigned D>
class adj_m_face_fwd_iter
: public internal::forward_complex_relative_iterator_base< topo::face<D>,
@@ -105,15 +109,18 @@ namespace mln
| topo::adj_m_face_bkd_iter<D>. |
`-------------------------------*/
- /** Backward iterator on all the m-faces transitively
- adjacent to a (reference) n-face in a complex.
+ /*!
+ \internal
+ \brief Backward iterator on all the m-faces transitively
+ adjacent to a (reference) n-face in a complex.
- \tparam D The dimension of the complex this iterator belongs to.
+ \tparam D The dimension of the complex this iterator belongs to.
- The dimension parameter (\a m_) must be lower or equal to D.
+ The dimension parameter (\a m_) must be lower or equal to D.
- If \a m_ is equal to the dimension of the reference face, then
- the iterated set is empty. */
+ If \a m_ is equal to the dimension of the reference face, then
+ the iterated set is empty.
+ */
template <unsigned D>
class adj_m_face_bkd_iter
: public internal::backward_complex_relative_iterator_base< topo::face<D>,
diff --git a/milena/mln/topo/attic/faces_iter.hh b/milena/mln/topo/attic/faces_iter.hh
index eca6f40..b97397e 100644
--- a/milena/mln/topo/attic/faces_iter.hh
+++ b/milena/mln/topo/attic/faces_iter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -43,10 +44,13 @@ namespace mln
| topo::faces_fwd_iter_<N, D>. |
`------------------------------*/
- /// \brief Forward iterator on all the faces of a mln::complex<D>.
- ///
- /// \tparam N The dimension of the face associated to this iterator.
- /// \tparam D The dimension of the complex this iterator belongs to.
+ /*!
+ \internal
+ \brief Forward iterator on all the faces of a mln::complex<D>.
+
+ \tparam N The dimension of the face associated to this iterator.
+ \tparam D The dimension of the complex this iterator belongs to.
+ */
template <unsigned N, unsigned D>
class faces_fwd_iter_
: public internal::complex_set_iterator_base< n_face<N, D>,
@@ -90,10 +94,13 @@ namespace mln
| topo::faces_bkd_iter_<N, D>. |
`------------------------------*/
- /// \brief Backward iterator on all the faces of a mln::complex<D>.
- ///
- /// \tparam N The dimension of the face associated to this iterator.
- /// \tparam D The dimension of the complex this iterator belongs to.
+ /*!
+ \internal
+ \brief Backward iterator on all the faces of a mln::complex<D>.
+
+ \tparam N The dimension of the face associated to this iterator.
+ \tparam D The dimension of the complex this iterator belongs to.
+ */
template <unsigned N, unsigned D>
class faces_bkd_iter_
: public internal::complex_set_iterator_base< n_face<N, D>,
diff --git a/milena/mln/topo/center_only_iter.hh b/milena/mln/topo/center_only_iter.hh
index 5e695ce..a5b08b3 100644
--- a/milena/mln/topo/center_only_iter.hh
+++ b/milena/mln/topo/center_only_iter.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -52,24 +52,27 @@ namespace mln
| topo::center_only_iter<D>. |
`----------------------------*/
- /** \brief Iterator on all the adjacent (n-1)-faces of the n-face
- of an mln::complex<D>.
-
- \tparam D The dimension of the complex this iterator belongs to.
-
- mln::topo::center_only_iter inherits from
- mln::topo::internal::forward_complex_relative_iterator_base,
- but it could inherit from
- mln::topo::internal::backward_complex_relative_iterator_base
- as well, since it always contains a single element, the
- center/reference face (and the traversal order is
- meaningless).
-
- This iterator is essentially used to implement other iterators.
- \see mln::topo::centered_iter_adapter
- \see mln::complex_lower_window
- \see mln::complex_higher_window
- \see mln::complex_lower_higher_window */
+ /*!
+ \internal
+ \brief Iterator on all the adjacent (n-1)-faces of the n-face
+ of an mln::complex<D>.
+
+ \tparam D The dimension of the complex this iterator belongs to.
+
+ mln::topo::center_only_iter inherits from
+ mln::topo::internal::forward_complex_relative_iterator_base,
+ but it could inherit from
+ mln::topo::internal::backward_complex_relative_iterator_base
+ as well, since it always contains a single element, the
+ center/reference face (and the traversal order is
+ meaningless).
+
+ This iterator is essentially used to implement other iterators.
+ \see mln::topo::centered_iter_adapter
+ \see mln::complex_lower_window
+ \see mln::complex_higher_window
+ \see mln::complex_lower_higher_window
+ */
template <unsigned D>
class center_only_iter
: public internal::forward_complex_relative_iterator_base< topo::face<D>,
diff --git a/milena/mln/topo/centered_iter_adapter.hh b/milena/mln/topo/centered_iter_adapter.hh
index 4a6e0cc..bc19dc5 100644
--- a/milena/mln/topo/centered_iter_adapter.hh
+++ b/milena/mln/topo/centered_iter_adapter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -48,11 +49,14 @@ namespace mln
// FIXME: We should deduce D from I.
- /// \brief Backward complex relative iterator adapters adding the
- /// central (reference) point to the set of iterated faces.
- ///
- /// \tparam D The dimension of the complex this iterator belongs to.
- /// \tparam I The adapated complex relative iterator.
+ /*!
+ \internal
+ \brief Backward complex relative iterator adapters adding the
+ central (reference) point to the set of iterated faces.
+
+ \tparam D The dimension of the complex this iterator belongs to.
+ \tparam I The adapated complex relative iterator.
+ */
template <unsigned D, typename I>
class centered_fwd_iter_adapter
: public internal::complex_relative_iterator_sequence< center_only_iter<D>,
@@ -82,11 +86,14 @@ namespace mln
// FIXME: We should deduce D from I.
- /// \brief Forward complex relative iterator adapters adding the
- /// central (reference) point to the set of iterated faces.
- ///
- /// \tparam D The dimension of the complex this iterator belongs to.
- /// \tparam I The adapated complex relative iterator.
+ /*!
+ \internal
+ \brief Forward complex relative iterator adapters adding the
+ central (reference) point to the set of iterated faces.
+
+ \tparam D The dimension of the complex this iterator belongs to.
+ \tparam I The adapated complex relative iterator.
+ */
template <unsigned D, typename I>
class centered_bkd_iter_adapter
: public internal::complex_relative_iterator_sequence< I,
diff --git a/milena/mln/topo/complex.hh b/milena/mln/topo/complex.hh
index 9cfd266..bb11e5c 100644
--- a/milena/mln/topo/complex.hh
+++ b/milena/mln/topo/complex.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2010, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -81,8 +81,9 @@ namespace mln
| Complex. |
`----------*/
- /// \brief General complex of dimension \p D.
- //
+ /*!
+ \brief General complex of dimension \p D.
+ */
template <unsigned D>
class complex
{
@@ -240,12 +241,12 @@ namespace mln
,-----------> higher_dim_faces_set_mixin<0, D>
|
- faces_set_mixin<0, D>
+ faces_set_mixin<0, D>
^
|
| ,-----------> higher_dim_faces_set_mixin<1, D>
| | ,---------> lower_dim_faces_set_mixin<1, D>
- | | |
+ | | |
faces_set_mixin<1, D>
^
|
@@ -257,13 +258,13 @@ namespace mln
|
| ,-----------> higher_dim_faces_set_mixin<D - 1, D>
| | ,---------> lower_dim_faces_set_mixin<D - 1, D>
- | | |
+ | | |
faces_set_mixin<D - 1, D>
^
- |
+ |
| ,---------> lower_dim_faces_set_mixin<D, D>
- | |
- faces_set_mixin<D, D>
+ | |
+ faces_set_mixin<D, D>
^
|
|
@@ -303,13 +304,16 @@ namespace mln
// mln::topo::internal::faces_set_mixin. //
// -------------------------------------- //
- /// Recursive mixins of set of faces.
+ /// \internal \brief Recursive mixins of set of faces.
/// \{
template <unsigned N, unsigned D> struct faces_set_mixin;
- /// Faces of intermediate dimension (greater than 0, lower than \p D).
+ /*!
+ \internal
+ \brief Faces of intermediate dimension (greater than 0, lower than \p D).
+ */
template <unsigned N, unsigned D>
struct faces_set_mixin : public faces_set_mixin<N - 1, D>,
public lower_dim_faces_set_mixin<N, D>,
@@ -340,7 +344,10 @@ namespace mln
/// \}
};
- /// Faces of highest dimension (\p D).
+ /*!
+ \internal
+ \brief Faces of highest dimension (\p D).
+ */
template <unsigned D>
struct faces_set_mixin<D, D> : public faces_set_mixin<D - 1, D>,
public lower_dim_faces_set_mixin<D, D>
@@ -368,7 +375,10 @@ namespace mln
/// \}
};
- /// Faces of lowest dimension (0).
+ /*!
+ \internal
+ \brief Faces of lowest dimension (0).
+ */
template <unsigned D>
struct faces_set_mixin<0u, D> : public higher_dim_faces_set_mixin<0u, D>
{
@@ -395,7 +405,10 @@ namespace mln
/// \}
};
- /// Faces of a 0-complex.
+ /*!
+ \internal
+ \brief Faces of a 0-complex.
+ */
template <>
struct faces_set_mixin<0u, 0u>
{
@@ -428,7 +441,10 @@ namespace mln
// class to be defined after the specializations of
// 'faces_set_mixin'.
- /// Complex data.
+ /*!
+ \internal
+ \brief Complex data.
+ */
template <unsigned D>
struct complex_data : public faces_set_mixin<D, D>
{
@@ -441,7 +457,7 @@ namespace mln
// mln::topo::internal::higher_dim_faces_set_mixin. //
// ------------------------------------------------- //
- /// Mixins of mixin mln::faces_set_mixin.
+ /// \internal \brief Mixins of mixin mln::faces_set_mixin.
/// \{
template <unsigned N, unsigned D>
struct lower_dim_faces_set_mixin
@@ -530,14 +546,17 @@ namespace mln
namespace internal
{
- /// A binary meta-functor defined by:
- ///
- /// \code
- /// add_size : x, c -> x + c.size()
- /// \endcode
- ///
- /// \see mln::complex<D>::nfaces_of_static_dim<N> (static version).
- /// \see mln::complex<D>::fold_left_.
+ /*!
+ \internal
+ \brief A binary meta-functor defined by:
+
+ \code
+ add_size : x, c -> x + c.size()
+ \endcode
+
+ \see mln::complex<D>::nfaces_of_static_dim<N> (static version).
+ \see mln::complex<D>::fold_left_.
+ */
struct add_size
{
template <typename T, typename Container>
@@ -547,14 +566,17 @@ namespace mln
}
};
- /// An unary meta-functor defined by:
- ///
- /// \code
- /// add_size : c -> c.size()
- /// \endcode
- ///
- /// \see mln::complex<D>::nfaces_of_dim (dynamic version).
- /// \see mln::complex<D>::apply_if_dim_matches_.
+ /*!
+ \internal
+ \brief An unary meta-functor defined by:
+
+ \code
+ add_size : c -> c.size()
+ \endcode
+
+ \see mln::complex<D>::nfaces_of_dim (dynamic version).
+ \see mln::complex<D>::apply_if_dim_matches_.
+ */
struct get_size
{
typedef std::size_t result_type;
@@ -695,7 +717,7 @@ namespace mln
template <unsigned D>
inline
- const void*
+ const void*
complex<D>::addr() const
{
return data_.ptr_;
diff --git a/milena/mln/topo/face_data.hh b/milena/mln/topo/face_data.hh
index 1622e51..118598a 100644
--- a/milena/mln/topo/face_data.hh
+++ b/milena/mln/topo/face_data.hh
@@ -105,7 +105,10 @@ namespace mln
namespace internal
{
- /// Factored implementation of faces.
+ /*!
+ \internal
+ \brief Factored implementation of faces.
+ */
/// \{
template <unsigned N, unsigned D>
class lower_dim_faces_data_mixin
diff --git a/milena/mln/topo/face_iter.hh b/milena/mln/topo/face_iter.hh
index c78500a..01a421a 100644
--- a/milena/mln/topo/face_iter.hh
+++ b/milena/mln/topo/face_iter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -60,11 +61,13 @@ namespace mln
| topo::face_fwd_iter<D>. |
`-------------------------*/
- /// \brief Forward iterator on all the faces of an
- /// mln::complex<D>.
- ///
- /// \tparam D The dimension of the complex this iterator belongs to.
- //
+ /*!
+ \internal
+ \brief Forward iterator on all the faces of an
+ mln::complex<D>.
+
+ \tparam D The dimension of the complex this iterator belongs to.
+ */
template <unsigned D>
class face_fwd_iter
: public internal::complex_set_iterator_base< topo::face<D>, face_fwd_iter<D> >
@@ -104,10 +107,12 @@ namespace mln
| topo::face_bkd_iter<D>. |
`-------------------------*/
- /// \brief Backward iterator on all the faces of an mln::complex<D>.
- ///
- /// \tparam D The dimension of the complex this iterator belongs to.
- //
+ /*!
+ \internal
+ \brief Backward iterator on all the faces of an mln::complex<D>.
+
+ \tparam D The dimension of the complex this iterator belongs to.
+ */
template <unsigned D>
class face_bkd_iter
: public internal::complex_set_iterator_base< topo::face<D>, face_bkd_iter<D> >
diff --git a/milena/mln/topo/internal/complex_iterator_base.hh b/milena/mln/topo/internal/complex_iterator_base.hh
index bc8f26e..5c0d212 100644
--- a/milena/mln/topo/internal/complex_iterator_base.hh
+++ b/milena/mln/topo/internal/complex_iterator_base.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -70,10 +71,13 @@ namespace mln
namespace internal
{
- /// Factoring class for iterators on mln::complex.
- ///
- /// \tparam F The type of the face handle.
- /// \tparam E The type exact type of the iterator.
+ /*!
+ \internal
+ \brief Factoring class for iterators on mln::complex.
+
+ \tparam F The type of the face handle.
+ \tparam E The type exact type of the iterator.
+ */
template <typename F, typename E>
class complex_iterator_base : public Iterator<E>
{
diff --git a/milena/mln/topo/internal/complex_relative_iterator_base.hh b/milena/mln/topo/internal/complex_relative_iterator_base.hh
index 03f9cda..4fd03bf 100644
--- a/milena/mln/topo/internal/complex_relative_iterator_base.hh
+++ b/milena/mln/topo/internal/complex_relative_iterator_base.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2011 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2011, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -32,7 +32,7 @@
iterators on mln::complex.
The hierarchy of classes in this file is as follows
-
+
\verbatim
complex_relative_iterator_base<C, F, E>
@@ -76,11 +76,14 @@ namespace mln
| topo::internal::complex_relative_iterator_base<C, F, E>. |
`----------------------------------------------------------*/
- /// Factoring class for relative iterators on mln::complex.
- ///
- /// \tparam C The type of the center face handle.
- /// \tparam F The type of the face handle.
- /// \tparam E The type exact type of the iterator.
+ /*!
+ \internal
+ \brief Factoring class for relative iterators on mln::complex.
+
+ \tparam C The type of the center face handle.
+ \tparam F The type of the face handle.
+ \tparam E The type exact type of the iterator.
+ */
template <typename C, typename F, typename E>
class complex_relative_iterator_base :
public complex_iterator_base<F, E>
@@ -128,12 +131,15 @@ namespace mln
| topo::internal::forward_complex_relative_iterator_base<C, F, E>. |
`------------------------------------------------------------------*/
- /// Factoring class for forward relative iterators on
- /// mln::complex.
- ///
- /// \tparam C The type of the center face handle.
- /// \tparam F The type of the face handle.
- /// \tparam E The type exact type of the iterator.
+ /*!
+ \internal
+ \brief Factoring class for forward relative iterators on
+ mln::complex.
+
+ \tparam C The type of the center face handle.
+ \tparam F The type of the face handle.
+ \tparam E The type exact type of the iterator.
+ */
template <typename C, typename F, typename E>
class forward_complex_relative_iterator_base
: public complex_relative_iterator_base<C, F, E>
@@ -179,12 +185,15 @@ namespace mln
| topo::internal::backward_complex_relative_iterator_base<C, F, E>. |
`-------------------------------------------------------------------*/
- /// Factoring class for backward relative iterators on
- /// mln::complex.
- ///
- /// \tparam C The type of the center face handle.
- /// \tparam F The type of the face handle.
- /// \tparam E The type exact type of the iterator.
+ /*!
+ \internal
+ \brief Factoring class for backward relative iterators on
+ mln::complex.
+
+ \tparam C The type of the center face handle.
+ \tparam F The type of the face handle.
+ \tparam E The type exact type of the iterator.
+ */
template <typename C, typename F, typename E>
class backward_complex_relative_iterator_base
: public complex_relative_iterator_base<C, F, E>
diff --git a/milena/mln/topo/internal/complex_relative_iterator_sequence.hh b/milena/mln/topo/internal/complex_relative_iterator_sequence.hh
index fda267c..ed6b216 100644
--- a/milena/mln/topo/internal/complex_relative_iterator_sequence.hh
+++ b/milena/mln/topo/internal/complex_relative_iterator_sequence.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -56,15 +57,18 @@ namespace mln
};
- /// A meta relative iterator on the faces of a complex
- /// using two complex relative iterators sequentially.
- ///
- /// The first relative iterator is used, and when it becomes
- /// invalid, the second one is used.
- ///
- /// \tparam I1 The type of the first relative iterator.
- /// \tparam I2 The type of the second relative iterator.
- /// \tparam E The type exact type of the iterator.
+ /*!
+ \internal
+ \brief A meta relative iterator on the faces of a complex
+ using two complex relative iterators sequentially.
+
+ The first relative iterator is used, and when it becomes
+ invalid, the second one is used.
+
+ \tparam I1 The type of the first relative iterator.
+ \tparam I2 The type of the second relative iterator.
+ \tparam E The type exact type of the iterator.
+ */
template <typename I1, typename I2, typename E>
class complex_relative_iterator_sequence : public Iterator<E>
{
diff --git a/milena/mln/topo/internal/complex_set_iterator_base.hh b/milena/mln/topo/internal/complex_set_iterator_base.hh
index f428566..2cd9276 100644
--- a/milena/mln/topo/internal/complex_set_iterator_base.hh
+++ b/milena/mln/topo/internal/complex_set_iterator_base.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2010, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -49,10 +49,13 @@ namespace mln
class complex_iterator_base;
- /// Factoring class for (set) iterators on mln::complex.
- ///
- /// \tparam F The type of the face handle.
- /// \tparam E The type exact type of the iterator.
+ /*!
+ \internal
+ \brief Factoring class for (set) iterators on mln::complex.
+
+ \tparam F The type of the face handle.
+ \tparam E The type exact type of the iterator.
+ */
template <typename F, typename E>
class complex_set_iterator_base : public complex_iterator_base<F, E>
{
diff --git a/milena/mln/topo/n_face_iter.hh b/milena/mln/topo/n_face_iter.hh
index 4cdb091..0ed55be 100644
--- a/milena/mln/topo/n_face_iter.hh
+++ b/milena/mln/topo/n_face_iter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -63,11 +64,13 @@ namespace mln
| topo::n_face_fwd_iter<D>. |
`---------------------------*/
- /// \brief Forward iterator on all the faces of an
- /// mln::complex<D>.
- ///
- /// \tparam D The dimension of the complex this iterator belongs to.
- //
+ /*!
+ \internal
+ \brief Forward iterator on all the faces of an
+ mln::complex<D>.
+
+ \tparam D The dimension of the complex this iterator belongs to.
+ */
template <unsigned D>
class n_face_fwd_iter
: public internal::complex_set_iterator_base< topo::face<D>,
@@ -120,9 +123,12 @@ namespace mln
| topo::n_face_bkd_iter<D>. |
`---------------------------*/
- /// Backward iterator on all the faces of an mln::complex<D>.
- ///
- /// \tparam D The dimension of the complex this iterator belongs to.
+ /*!
+ \internal
+ \brief Backward iterator on all the faces of an mln::complex<D>.
+
+ \tparam D The dimension of the complex this iterator belongs to.
+ */
template <unsigned D>
class n_face_bkd_iter
: public internal::complex_set_iterator_base< topo::face<D>,
diff --git a/milena/mln/topo/static_n_face_iter.hh b/milena/mln/topo/static_n_face_iter.hh
index 21a7639..ebd22e3 100644
--- a/milena/mln/topo/static_n_face_iter.hh
+++ b/milena/mln/topo/static_n_face_iter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -45,12 +46,14 @@ namespace mln
| topo::static_n_face_fwd_iter<N, D>. |
`-------------------------------------*/
- /// \brief Forward iterator on all the \p N-faces of a
- /// mln::complex<D>.
- ///
- /// \tparam N The dimension of the face associated to this iterator.
- /// \tparam D The dimension of the complex this iterator belongs to.
- //
+ /*!
+ \internal
+ \brief Forward iterator on all the \p N-faces of a
+ mln::complex<D>.
+
+ \tparam N The dimension of the face associated to this iterator.
+ \tparam D The dimension of the complex this iterator belongs to.
+ */
template <unsigned N, unsigned D>
class static_n_face_fwd_iter
: public internal::complex_set_iterator_base< topo::face<D>,
@@ -91,12 +94,14 @@ namespace mln
| topo::static_n_face_bkd_iter<N, D>. |
`-------------------------------------*/
- /// \brief Backward iterator on all the \p N-faces of a
- /// mln::complex<D>.
- ///
- /// \tparam N The dimension of the face associated to this iterator.
- /// \tparam D The dimension of the complex this iterator belongs to.
- //
+ /*!
+ \internal
+ \brief Backward iterator on all the \p N-faces of a
+ mln::complex<D>.
+
+ \tparam N The dimension of the face associated to this iterator.
+ \tparam D The dimension of the complex this iterator belongs to.
+ */
template <unsigned N, unsigned D>
class static_n_face_bkd_iter
: public internal::complex_set_iterator_base< topo::face<D>,
diff --git a/milena/mln/trait/ch_function_value.hh b/milena/mln/trait/ch_function_value.hh
index 2c01e79..9a41ea9 100644
--- a/milena/mln/trait/ch_function_value.hh
+++ b/milena/mln/trait/ch_function_value.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -52,7 +53,7 @@ namespace mln
namespace impl
{
- /// Default.
+ // Default.
template <typename F, typename VF, typename V>
struct ch_function_value
{
diff --git a/milena/mln/trait/image/props.hh b/milena/mln/trait/image/props.hh
index c7b7746..1e6463e 100644
--- a/milena/mln/trait/image/props.hh
+++ b/milena/mln/trait/image/props.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -759,7 +760,10 @@ namespace mln
// FIXME: To be moved elsewhere?
- /// Compute the image::space trait from a point type.
+ /*!
+ \internal
+ \brief Compute the image::space trait from a point type.
+ */
/// \{
// Fwd decl. (used by trait::image::space_from_point).
@@ -782,7 +786,10 @@ namespace mln
namespace image
{
- /// Function mapping a point type to the corresponding space trait.
+ /*!
+ \internal
+ \brief Function mapping a point type to the corresponding space trait.
+ */
/// \{
template <typename P>
struct space_from_point
diff --git a/milena/mln/trait/images.hh b/milena/mln/trait/images.hh
index 2ae9299..7541c07 100644
--- a/milena/mln/trait/images.hh
+++ b/milena/mln/trait/images.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2011 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2011, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
diff --git a/milena/mln/trait/neighborhood.hh b/milena/mln/trait/neighborhood.hh
index c63cd6f..623202a 100644
--- a/milena/mln/trait/neighborhood.hh
+++ b/milena/mln/trait/neighborhood.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -59,27 +60,42 @@ namespace mln
// FIXME: Might be moved to another file, as it's the case for
// images and values.
- /// Traits related to neighborhoods.
+ /*!
+ \internal
+ \brief Traits related to neighborhoods.
+ */
namespace neighborhood
{
- /// Kind of neighborhood.
+ /*!
+ \internal
+ \brief Kind of neighborhood.
+ */
struct kind
{
- /// The base class of the hierarchy of neighborhood traits.
+ /*!
+ \internal
+ \brief The base class of the hierarchy of neighborhood traits.
+ */
struct any
{
std::string name() const { return "kind::any"; }
};
- /// A generic neighborhood, with no particular feature.
+ /*!
+ \internal
+ \brief A generic neighborhood, with no particular feature.
+ */
struct generic : any
{
std::string name() const { return "kind::generic"; }
};
- /// A neighborhood on a regular grid, i.e.
- /// holding/convertible to a window.
+ /*!
+ \internal
+ \brief A neighborhood on a regular grid, i.e.
+ holding/convertible to a window.
+ */
struct regular : any
{
std::string name() const { return "kind::regular"; }
diff --git a/milena/mln/trait/promote.hh b/milena/mln/trait/promote.hh
index 681ebde..3b5c5aa 100644
--- a/milena/mln/trait/promote.hh
+++ b/milena/mln/trait/promote.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2006, 2007, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2006, 2007, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -52,7 +53,10 @@ namespace mln
namespace trait
{
- /// Declaration of the "promote" trait.
+ /*!
+ \internal
+ \brief Declaration of the "promote" trait.
+ */
template <typename T, typename U>
struct promote : public solve_binary<promote, T, U>
{
@@ -60,10 +64,11 @@ namespace mln
/*!
- * \brief Default case when one type is involved twice: the
- * promotion type is the same as the input type (so actually there
- * is no promotion).
- */
+ \internal
+ \brief Default case when one type is involved twice: the
+ promotion type is the same as the input type (so actually there
+ is no promotion).
+ */
template <typename T>
struct set_binary_< promote, Object, T, Object, T >
{
diff --git a/milena/mln/trait/site_set/props.hh b/milena/mln/trait/site_set/props.hh
index 9d1fd31..859f3dd 100644
--- a/milena/mln/trait/site_set/props.hh
+++ b/milena/mln/trait/site_set/props.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -38,41 +39,46 @@
# include <mln/trait/undef.hh>
-
-// Properties of site sets.
-// ========================
-
-// nsites: /any/
-// |
-// + -- unknown
-// |
-// + -- known
-
-// bbox: /any/
-// |
-// + -- unknown
-// |
-// + -- /known/
-// |
-// + -- lazy
-// |
-// + -- straight
-
-// contents: /any/
-// |
-// + -- fixed
-// |
-// + -- /dynamic/
-// |
-// + -- growing
-// |
-// + -- free
-
-// arity: /any/
-// |
-// + -- unique
-// |
-// + -- multiple
+/*!
+ \verbatim
+
+ Properties of site sets.
+ ========================
+
+ nsites: /any/
+ |
+ + -- unknown
+ |
+ + -- known
+
+ bbox: /any/
+ |
+ + -- unknown
+ |
+ + -- /known/
+ |
+ + -- lazy
+ |
+ + -- straight
+
+ contents: /any/
+ |
+ + -- fixed
+ |
+ + -- /dynamic/
+ |
+ + -- growing
+ |
+ + -- free
+
+ arity: /any/
+ |
+ + -- unique
+ |
+ + -- multiple
+
+ \endverbatim
+*/
namespace mln
@@ -85,59 +91,95 @@ namespace mln
{
- /// Site set property about the 'nsites' method presence.
+ /*!
+ \internal
+ \brief Site set property about the 'nsites' method presence.
+ */
struct nsites
{
- /// Base class for the site set 'nsites' property.
+ /*!
+ \internal
+ \brief Base class for the site set 'nsites' property.
+ */
struct any { protected: any() {} };
- /// Property that states that the number of sites cannot be
- /// retrieved from a site set in O(1) complexity so the site
- /// set does not feature the 'nsites' methods.
+ /*!
+ \internal
+ \brief Property that states that the number of sites cannot be
+ retrieved from a site set in O(1) complexity so the site
+ set does not feature the 'nsites' methods.
+ */
struct unknown : any { std::string name() const { return "nsites::unknown"; } };
- /// Property that states that a site set features the method
- /// 'nsites' because the number of sites is known so its
- /// retrieval has O(1) complexity.
+ /*!
+ \internal
+ \brief Property that states that a site set features the method
+ 'nsites' because the number of sites is known so its
+ retrieval has O(1) complexity.
+ */
struct known : any { std::string name() const { return "nsites::known"; } };
};
- /// Site set property about the 'bbox' method presence.
+ /*!
+ \internal
+ \brief Site set property about the 'bbox' method presence.
+ */
struct bbox
{
- /// Base class for the site set 'bbox' property.
+ /*!
+ \internal
+ \brief Base class for the site set 'bbox' property.
+ */
struct any { protected: any() {} };
- /// Property that states that the bounding box of a site set
- /// is not featured as a method. This is either because the
- /// notion of bounding box is meaningless for the site set
- /// type, or because the bounding box cannot be retrieved in
- /// O(1) complexity.
+ /*!
+ \internal
+ Property that states that the bounding box of a site set
+ is not featured as a method. This is either because the
+ notion of bounding box is meaningless for the site set
+ type, or because the bounding box cannot be retrieved in
+ O(1) complexity.
+ */
struct unknown : any { std::string name() const { return "bbox::unknown"; } };
- /// Property that states that the bounding box of a site set
- /// is featured by the 'bbox' method. It means that the
- /// notion of bounding box makes sense and that such a piece
- /// of information can be retrieved in O(1) complexity.
- /// Warning: this property is pseudo-abstract. The more
- /// precise properties are 'lazy' and 'straight'.
+ /*!
+ \internal
+ Property that states that the bounding box of a site set
+ is featured by the 'bbox' method. It means that the
+ notion of bounding box makes sense and that such a piece
+ of information can be retrieved in O(1) complexity.
+ Warning: this property is pseudo-abstract. The more
+ precise properties are 'lazy' and 'straight'.
+ */
struct known : any { protected: known() {} };
- /// Property that states that the bounding box of a site set
- /// is computed by the site set in a lazy way.
+ /*!
+ \internal
+ Property that states that the bounding box of a site set
+ is computed by the site set in a lazy way.
+ */
struct lazy : known { std::string name() const { return "bbox::lazy"; } };
- /// Property that states that the bounding box of a site set
- /// is always kept up to date by the site set.
+ /*!
+ \internal
+ Property that states that the bounding box of a site set
+ is always kept up to date by the site set.
+ */
struct straight : known { std::string name() const { return "bbox::straight"; } };
};
- /// Site set property about how the contents can evolve.
+ /*!
+ \internal
+ \brief Site set property about how the contents can evolve.
+ */
struct contents
{
- /// Base class for the site set 'contents' property.
+ /*!
+ \internal
+ \brief Base class for the site set 'contents' property.
+ */
struct any { protected: any() {} };
struct fixed : any { std::string name() const { return "contents::fixed"; } };
struct dynamic : any { protected: dynamic() {} };
@@ -145,11 +187,17 @@ namespace mln
struct free : dynamic { std::string name() const { return "contents::free"; } };
};
- /// Site set property about the unicity or multiplicity of its
- /// elements.
+ /*!
+ \internal
+ \brief Site set property about the unicity or multiplicity of its
+ elements.
+ */
struct arity
{
- /// Base class for the site set 'arity' property.
+ /*!
+ \internal
+ \brief Base class for the site set 'arity' property.
+ */
struct any { protected: any() {} };
struct unique : any { std::string name() const { return "arity::unique"; } };
struct multiple : any { std::string name() const { return "arity::multiple"; } };
diff --git a/milena/mln/trait/site_sets.hh b/milena/mln/trait/site_sets.hh
index 64b304e..32512cd 100644
--- a/milena/mln/trait/site_sets.hh
+++ b/milena/mln/trait/site_sets.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -59,7 +60,10 @@ namespace mln
namespace trait
{
- /// Pack of 'undefined' type values for properties of site sets.
+ /*!
+ \internal
+ \brief Pack of 'undefined' type values for properties of site sets.
+ */
template <typename I>
struct undefined_site_set_
{
@@ -70,14 +74,16 @@ namespace mln
};
- /*! \brief The trait pack structure for properties of site sets.
- *
- * This structure is specialized for every concrete class of site
- * set so that properties are properly defined.
- *
- * \see mln::doc::Site_Set for the documentation of the "site set"
- * concept.
- */
+ /*!
+ \internal
+ \brief The trait pack structure for properties of site sets.
+
+ This structure is specialized for every concrete class of site
+ set so that properties are properly defined.
+
+ \see mln::doc::Site_Set for the documentation of the "site set"
+ concept.
+ */
template <typename I>
struct site_set_ : undefined_site_set_<I>
{
diff --git a/milena/mln/trait/solve.hh b/milena/mln/trait/solve.hh
index 1a415e3..8ec6857 100644
--- a/milena/mln/trait/solve.hh
+++ b/milena/mln/trait/solve.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2006, 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2006, 2007, 2008, 2009, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -42,7 +43,7 @@
// FIXME: Just for the record (use it...)
-# ifndef MLN_DEBUG_TRAITS
+# ifndef MLN_DEBUG_TRAITS
# endif // ! MLN_DEBUG_TRAITS
@@ -60,13 +61,22 @@ namespace mln
namespace trait
{
- /// Flag type for a not found trait.
+ /*!
+ \internal
+ \brief Flag type for a not found trait.
+ */
struct not_found {};
- /// Flag type for an undefined trait.
+ /*!
+ \internal
+ \brief Flag type for an undefined trait.
+ */
struct undefined {};
- /// Flag type for a trait that is multiply undefined.
+ /*!
+ \internal
+ \brief Flag type for a trait that is multiply undefined.
+ */
struct multiply_defined {};
@@ -110,7 +120,7 @@ namespace mln
typedef undefined ret;
};
-
+
template < template <class, class> class Name,
template <class> class Category_L, typename L,
template <class> class Category_R, typename R >
diff --git a/milena/mln/trait/window/props.hh b/milena/mln/trait/window/props.hh
index 1b40e47..ae2b901 100644
--- a/milena/mln/trait/window/props.hh
+++ b/milena/mln/trait/window/props.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -75,50 +76,92 @@ namespace mln
{
- /// Window property about the 'size' method presence.
+ /*!
+ \internal
+ \brief Window property about the 'size' method presence.
+ */
struct size
{
- /// Base class for the window 'size' property.
+ /*!
+ \internal
+ \brief Base class for the window 'size' property.
+ */
struct any { protected: any() {} };
- /// Property that states that the size is fixed.
+ /*!
+ \internal
+ \brief Property that states that the size is fixed.
+ */
struct fixed : any { std::string name() const { return "size::fixed"; } };
- /// Property that states that the size is not fixed so unknown.
+ /*!
+ \internal
+ \brief Property that states that the size is not fixed so unknown.
+ */
struct unknown : any { std::string name() const { return "size::unknown"; } };
};
- /// Window property about the 'support' it is designed for.
+ /*!
+ \internal
+ \brief Window property about the 'support' it is designed for.
+ */
struct support
{
- /// Base class for the window 'support' property.
+ /*!
+ \internal
+ \brief Base class for the window 'support' property.
+ */
struct any { protected: any() {} };
- /// Property that states that the window is designed for a regular support.
+ /*!
+ \internal
+ \brief Property that states that the window is designed for a regular support.
+ */
struct regular : any { std::string name() const { return "support::regular"; } };
- /// Property that states that the window is not designed for a regular support.
+ /*!
+ \internal
+ \brief Property that states that the window is not designed for a regular support.
+ */
struct irregular : any { std::string name() const { return "support::irregular"; } };
};
- /// Window property about how the window is defined.
+ /*!
+ \internal
+ \brief Window property about how the window is defined.
+ */
struct definition
{
- /// Base class for the window 'definition' property.
+ /*!
+ \internal
+ \brief Base class for the window 'definition' property.
+ */
struct any { protected: any() {} };
- /// Property that states that the definition is unique.
+ /*!
+ \internal
+ \brief Property that states that the definition is unique.
+ */
struct unique : any { std::string name() const { return "definition::unique"; } };
- /// Abstract property that states that the definition is multiple.
+ /*!
+ \internal
+ \brief Abstract property that states that the definition is multiple.
+ */
struct multiple : any { protected: multiple() {} };
- /// Property that states that this window has n definitions.
+ /*!
+ \internal
+ \brief Property that states that this window has n definitions.
+ */
struct n_ary : multiple { std::string name() const { return "definition::n_ary"; } };
- /// Property that states that this window has a varying definition.
+ /*!
+ \internal
+ \brief Property that states that this window has a varying definition.
+ */
struct varying : multiple { std::string name() const { return "definition::varying"; } };
};
diff --git a/milena/mln/trait/windows.hh b/milena/mln/trait/windows.hh
index 2a77470..feec278 100644
--- a/milena/mln/trait/windows.hh
+++ b/milena/mln/trait/windows.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -68,7 +69,10 @@ namespace mln
namespace trait
{
- /// Pack of 'undefined' type values for properties of windows.
+ /*!
+ \internal
+ \brief Pack of 'undefined' type values for properties of windows.
+ */
template <typename W>
struct undefined_window_
{
@@ -78,13 +82,15 @@ namespace mln
};
- /*! \brief The trait pack structure for properties of windows.
- *
- * This structure is specialized for every concrete class of site
- * set so that properties are properly defined.
- *
- * \see mln::doc::Window for the documentation of the "window"
- * concept.
+ /*!
+ \internal
+ \brief The trait pack structure for properties of windows.
+
+ This structure is specialized for every concrete class of site
+ set so that properties are properly defined.
+
+ \see mln::doc::Window for the documentation of the "window"
+ concept.
*/
template <typename W>
struct window_ : undefined_window_<W>
@@ -92,7 +98,10 @@ namespace mln
};
- // \internal Trait for classical windows.
+ /*!
+ \internal
+ \brief Trait for classical windows.
+ */
struct classical_window_
{
typedef mln::trait::window::size::fixed size;
diff --git a/milena/mln/util/branch_iter.hh b/milena/mln/util/branch_iter.hh
index 30b2faf..42cec57 100644
--- a/milena/mln/util/branch_iter.hh
+++ b/milena/mln/util/branch_iter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -42,12 +43,14 @@ namespace mln
namespace util
{
- /*! \brief Basic 2D image class.
- *
- * The parameter \c T is the type of node's data. branch_iter is
- * used to pre-order walk a branch.
- *
- */
+ /*!
+ \internal
+ \brief Iterator on branch.
+
+ The parameter \c T is the type of node's data. branch_iter is
+ used to pre-order walk a branch.
+
+ */
template <typename T>
class branch_iter
{
diff --git a/milena/mln/util/branch_iter_ind.hh b/milena/mln/util/branch_iter_ind.hh
index 9cb2568..501d332 100644
--- a/milena/mln/util/branch_iter_ind.hh
+++ b/milena/mln/util/branch_iter_ind.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -56,12 +57,14 @@ namespace mln
int pos_;
};
- /*! \brief Basic 2D image class.
- *
- * The parameter \c T is the type of node's data. branch_iter_ind
- * is used to pre-order walk a branch.
- *
- */
+ /*!
+ \internal
+ \brief Iterator on branch.
+
+ The parameter \c T is the type of node's data. branch_iter_ind
+ is used to pre-order walk a branch.
+
+ */
template <typename T>
class branch_iter_ind
{
diff --git a/milena/mln/util/edge.hh b/milena/mln/util/edge.hh
index 75a82c9..bf5acf5 100644
--- a/milena/mln/util/edge.hh
+++ b/milena/mln/util/edge.hh
@@ -175,7 +175,10 @@ namespace mln
namespace internal
{
- /// subject_impl specialization (Proxy).
+ /*!
+ \internal
+ \brief subject_impl specialization (Proxy).
+ */
/// \{
template <typename G, typename E>
diff --git a/milena/mln/util/graph.hh b/milena/mln/util/graph.hh
index 54d1c76..bf31e58 100644
--- a/milena/mln/util/graph.hh
+++ b/milena/mln/util/graph.hh
@@ -1,5 +1,5 @@
-// Copyright (C) 2007, 2008, 2009, 2010 EPITA Research and Development
-// Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2010, 2012 EPITA Research and
+// Development Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -48,7 +48,10 @@ namespace mln
namespace internal
{
- /// Data structure for mln::util::graph.
+ /*!
+ \internal
+ \brief Data structure for mln::util::graph.
+ */
template <>
struct data<util::graph>
{
diff --git a/milena/mln/util/internal/edge_impl.hh b/milena/mln/util/internal/edge_impl.hh
index ca5b5fa..695eeeb 100644
--- a/milena/mln/util/internal/edge_impl.hh
+++ b/milena/mln/util/internal/edge_impl.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -43,7 +44,10 @@ namespace mln
namespace internal
{
- /// Implementation class to equip generalized edge classes.
+ /*!
+ \internal
+ \brief Implementation class to equip generalized edge classes.
+ */
template <typename G>
class edge_impl_
{
@@ -51,28 +55,18 @@ namespace mln
edge_impl_();
};
- } // end of namespace internal
-
- } // end of namespace util
-
-} // end of namespace mln
#ifndef MLN_INCLUDE_ONLY
-namespace mln
-{
- namespace util
- {
+ template <typename G>
+ inline
+ edge_impl_<G>::edge_impl_()
+ {
+ }
- namespace internal
- {
+#endif // ! MLN_INCLUDE_ONLY
- template <typename G>
- inline
- edge_impl_<G>::edge_impl_()
- {
- }
} // end of namespace internal
@@ -80,7 +74,5 @@ namespace mln
} // end of namespace mln
-#endif // ! MLN_INCLUDE_ONLY
-
#endif // ! MLN_UTIL_INTERNAL_EDGE_IMPL_HH
diff --git a/milena/mln/util/internal/graph_base.hh b/milena/mln/util/internal/graph_base.hh
index 3a9eea9..0297465 100644
--- a/milena/mln/util/internal/graph_base.hh
+++ b/milena/mln/util/internal/graph_base.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -60,7 +60,10 @@ namespace mln
namespace internal
{
- /// \brief Base class for undirected graphs.
+ /*!
+ \internal
+ \brief Base class for undirected graphs.
+ */
template<typename E>
class graph_base : public Graph<E>
{
diff --git a/milena/mln/util/internal/graph_iter.hh b/milena/mln/util/internal/graph_iter.hh
index 09e0bb4..6ebd627 100644
--- a/milena/mln/util/internal/graph_iter.hh
+++ b/milena/mln/util/internal/graph_iter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -42,8 +43,10 @@ namespace mln
namespace internal
{
- /// Forward vertex iterator.
-
+ /*!
+ \internal
+ \brief Forward vertex iterator.
+ */
template<typename G>
class vertex_fwd_iterator
: public graph_iter_base<G, util::vertex<G>, vertex_fwd_iterator<G> >
@@ -70,8 +73,10 @@ namespace mln
};
- /// Backward vertex iterator.
-
+ /*!
+ \internal
+ \brief Backward vertex iterator.
+ */
template<typename G>
class vertex_bkd_iterator
: public graph_iter_base<G, util::vertex<G>, vertex_bkd_iterator<G> >
@@ -98,8 +103,10 @@ namespace mln
};
- /// Forward edge iterator.
-
+ /*!
+ \internal
+ \brief Forward edge iterator.
+ */
template <typename G>
class edge_fwd_iterator
: public graph_iter_base<G, util::edge<G>, edge_fwd_iterator<G> >
@@ -126,8 +133,10 @@ namespace mln
};
- /// Backward edge iterator.
-
+ /*!
+ \internal
+ \brief Backward edge iterator.
+ */
template <typename G>
class edge_bkd_iterator
: public graph_iter_base<G, util::edge<G>, edge_bkd_iterator<G> >
diff --git a/milena/mln/util/internal/vertex_impl.hh b/milena/mln/util/internal/vertex_impl.hh
index 754075e..04af289 100644
--- a/milena/mln/util/internal/vertex_impl.hh
+++ b/milena/mln/util/internal/vertex_impl.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -43,7 +44,10 @@ namespace mln
namespace internal
{
- /// Implementation class to equip generalized vertex classes.
+ /*!
+ \internal
+ \brief Implementation class to equip generalized vertex classes.
+ */
template <typename G>
class vertex_impl_
{
@@ -51,22 +55,9 @@ namespace mln
vertex_impl_();
};
- } // end of namespace internal
-
- } // end of namespace util
-
-} // end of namespace mln
#ifndef MLN_INCLUDE_ONLY
-namespace mln
-{
-
- namespace util
- {
-
- namespace internal
- {
template <typename G>
inline
@@ -74,13 +65,13 @@ namespace mln
{
}
+
+#endif // ! MLN_INCLUDE_ONLY
+
} // end of namespace internal
} // end of namespace util
} // end of namespace mln
-#endif // ! MLN_INCLUDE_ONLY
-
-
#endif // ! MLN_UTIL_INTERNAL_VERTEX_IMPL_HH
diff --git a/milena/mln/util/lemmings.hh b/milena/mln/util/lemmings.hh
index c6d74b2..4aaefac 100644
--- a/milena/mln/util/lemmings.hh
+++ b/milena/mln/util/lemmings.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -40,8 +41,7 @@ namespace mln
{
/*! \brief Lemmings tool.
- *
- */
+ */
template <typename I>
struct lemmings_ : public Object< lemmings_<I> >
{
diff --git a/milena/mln/util/line_graph.hh b/milena/mln/util/line_graph.hh
index f8104a4..f5b68af 100644
--- a/milena/mln/util/line_graph.hh
+++ b/milena/mln/util/line_graph.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2010, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -50,7 +50,10 @@ namespace mln
namespace internal
{
- /// Data structure for mln::util::line_graph<G>.
+ /*!
+ \internal
+ \brief Data structure for mln::util::line_graph<G>.
+ */
template <typename G>
struct data< util::line_graph<G> >
{
diff --git a/milena/mln/util/site_pair.hh b/milena/mln/util/site_pair.hh
index 52cb75d..4dee2fd 100644
--- a/milena/mln/util/site_pair.hh
+++ b/milena/mln/util/site_pair.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -97,8 +98,10 @@ namespace mln
{
/// \{
- /// subject_impl specialization (Proxy)
-
+ /*!
+ \internal
+ \brief subject_impl specialization (Proxy)
+ */
template <typename P, typename E>
struct subject_impl< const util::site_pair<P>, E >
{
diff --git a/milena/mln/util/vertex.hh b/milena/mln/util/vertex.hh
index 4f5f1b2..2cbdaa1 100644
--- a/milena/mln/util/vertex.hh
+++ b/milena/mln/util/vertex.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2008, 2009, 2010 EPITA Research and Development
+// Copyright (C) 2008, 2009, 2010, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -165,7 +165,10 @@ namespace mln
namespace internal
{
- /// subject_impl specialization (Proxy).
+ /*!
+ \internal
+ \brief subject_impl specialization (Proxy).
+ */
/// \{
template <typename G, typename E>
diff --git a/milena/mln/value/internal/value_like.hh b/milena/mln/value/internal/value_like.hh
index e3988d4..28dfc38 100644
--- a/milena/mln/value/internal/value_like.hh
+++ b/milena/mln/value/internal/value_like.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -43,10 +44,14 @@ namespace mln
namespace internal
{
- /// Base class for value classes defined over another
- /// type. Parameters are \c V the equivalent value type and
- /// \c E the exact value type.
- ///
+ /*!
+ \internal
+ \brief Base class for value classes defined over another
+ type.
+
+ Parameters are \c V the equivalent value type and
+ \c E the exact value type.
+ */
template < typename V, // Equivalent.
typename C, // Encoding.
typename N, // Interoperation.
diff --git a/milena/mln/value/stack.hh b/milena/mln/value/stack.hh
index 1782c1c..01ef66e 100644
--- a/milena/mln/value/stack.hh
+++ b/milena/mln/value/stack.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -48,8 +48,10 @@ namespace mln
{
- /// data structure for stack_image.
- ///
+ /*!
+ \internal
+ \brief data structure for stack_image.
+ */
template <unsigned n, typename I>
struct data< value::stack_image<n, I> >
{
diff --git a/milena/mln/value/viter.hh b/milena/mln/value/viter.hh
index 308e0de..8d9434d 100644
--- a/milena/mln/value/viter.hh
+++ b/milena/mln/value/viter.hh
@@ -1,4 +1,5 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development Laboratory (LRDE)
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
+// Laboratory (LRDE)
//
// This file is part of Olena.
//
@@ -44,10 +45,12 @@ namespace mln
{
- /*! \brief FIXME: Forward iterator on a set of values.
- *
- * The parameter \c S is the type of value set.
- */
+ /*!
+ \internal
+ \brief FIXME: Forward iterator on a set of values.
+
+ The parameter \c S is the type of value set.
+ */
template <typename S>
struct fwd_viter_ : public Value_Iterator< fwd_viter_<S> >
{
@@ -89,10 +92,12 @@ namespace mln
- /*! \brief FIXME: Backward iterator on a set of values.
- *
- * The parameter \c S is the type of value set.
- */
+ /*!
+ \internal
+ \brief FIXME: Backward iterator on a set of values.
+
+ The parameter \c S is the type of value set.
+ */
template <typename S>
struct bkd_viter_ : public Value_Iterator< bkd_viter_<S> >
{
--
1.7.2.5
1
0
---
milena/doc/Doxyfile.in | 1773 +++++++++++++++++++++++++++++---
milena/doc/DoxygenLayout.xml | 1 -
milena/mln/core/internal/image_base.hh | 42 +-
3 files changed, 1660 insertions(+), 156 deletions(-)
diff --git a/milena/doc/Doxyfile.in b/milena/doc/Doxyfile.in
index 181f887..9b1cfd6 100644
--- a/milena/doc/Doxyfile.in
+++ b/milena/doc/Doxyfile.in
@@ -1,255 +1,1533 @@
-# Copyright (C) 2007, 2008, 2009, 2010, 2011 EPITA Research and
-# Development Laboratory (LRDE)
-#
-# This file is part of Olena.
-#
-# Olena is free software: you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free
-# Software Foundation, version 2 of the License.
-#
-# Olena is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with Olena. If not, see <http://www.gnu.org/licenses/>.
+# Doxyfile 1.8.0-20120409
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project.
#
-# Doxyfile 1.5.1
+# All text after a hash (#) is considered a comment and will be ignored.
+# The format is:
+# TAG = value [value, ...]
+# For lists items can also be appended using:
+# TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ").
#---------------------------------------------------------------------------
# Project related configuration options
#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
+# iconv built into libc) for the transcoding. See
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+DOXYFILE_ENCODING = UTF-8
+
+# The PROJECT_NAME tag is a single word (or sequence of words) that should
+# identify the project. Note that if you do not use Doxywizard you need
+# to put quotes around the project name if it contains spaces.
+
PROJECT_NAME = "Milena"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
PROJECT_NUMBER = "@PACKAGE_VERSION@"
-PROJECT_BRIEF = "An Image Processing Platform"
-PROJECT_LOGO = @top_srcdir@/doc/images/logo.jpg
+
+# Using the PROJECT_BRIEF tag one can provide an optional one line description
+# for a project that appears at the top of each page and should give viewer
+# a quick idea about the purpose of the project. Keep the description short.
+
+PROJECT_BRIEF = "An Image Processing Platform"
+
+# With the PROJECT_LOGO tag one can specify an logo or icon that is
+# included in the documentation. The maximum height of the logo should not
+# exceed 55 pixels and the maximum width should not exceed 200 pixels.
+# Doxygen will copy the logo to the output directory.
+
+PROJECT_LOGO = @top_srcdir@/doc/images/logo.jpg
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
OUTPUT_DIRECTORY = @builddir@/user-refman.tmp
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of
+# source files, where putting all generated files in the same directory would
+# otherwise cause performance problems for the file system.
+
CREATE_SUBDIRS = YES
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
+# Croatian, Czech, Danish, Dutch, Esperanto, Farsi, Finnish, French, German,
+# Greek, Hungarian, Italian, Japanese, Japanese-en (Japanese with English
+# messages), Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian,
+# Polish, Portuguese, Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak,
+# Slovene, Spanish, Swedish, Ukrainian, and Vietnamese.
+
OUTPUT_LANGUAGE = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
BRIEF_MEMBER_DESC = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
REPEAT_BRIEF = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is
+# used as the annotated text. Otherwise, the brief description is used as-is.
+# If left blank, the following values are used ("$name" is automatically
+# replaced with the name of the entity): "The $name class" "The $name widget"
+# "The $name file" "is" "provides" "specifies" "contains"
+# "represents" "a" "an" "the"
+
ABBREVIATE_BRIEF =
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
ALWAYS_DETAILED_SEC = YES
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+
INLINE_INHERITED_MEMB = YES
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
FULL_PATH_NAMES = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user-defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
+
STRIP_FROM_PATH = @top_srcdir@/milena
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
STRIP_FROM_INC_PATH =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful if your file system
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
SHORT_NAMES = YES
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like regular Qt-style comments
+# (thus requiring an explicit @brief command for a brief description.)
+
JAVADOC_AUTOBRIEF = YES
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
+# interpret the first line (until the first dot) of a Qt-style
+# comment as the brief description. If set to NO, the comments
+# will behave just like regular Qt-style comments (thus requiring
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
INHERIT_DOCS = YES
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
+# a new page for each member. If set to NO, the documentation of a member will
+# be part of the file/class/namespace that contains it.
+
SEPARATE_MEMBER_PAGES = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
TAB_SIZE = 8
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
ALIASES =
+
+# This tag can be used to specify a number of word-keyword mappings (TCL only).
+# A mapping has the form "name=value". For example adding
+# "class=itcl::class" will allow you to use the command class in the
+# itcl::class meaning.
+
+TCL_SUBST =
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
+# sources only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
OPTIMIZE_OUTPUT_FOR_C = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
+# sources only. Doxygen will then generate output that is more tailored for
+# Java. For instance, namespaces will be presented as packages, qualified
+# scopes will look different, etc.
+
OPTIMIZE_OUTPUT_JAVA = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources only. Doxygen will then generate output that is more tailored for
+# Fortran.
+
+OPTIMIZE_FOR_FORTRAN = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for
+# VHDL.
+
+OPTIMIZE_OUTPUT_VHDL = NO
+
+# Doxygen selects the parser to use depending on the extension of the files it
+# parses. With this tag you can assign which parser to use for a given extension.
+# Doxygen has a built-in mapping, but you can override or extend it using this
+# tag. The format is ext=language, where ext is a file extension, and language
+# is one of the parsers supported by doxygen: IDL, Java, Javascript, CSharp, C,
+# C++, D, PHP, Objective-C, Python, Fortran, VHDL, C, C++. For instance to make
+# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C
+# (default is Fortran), use: inc=Fortran f=C. Note that for custom extensions
+# you also need to set FILE_PATTERNS otherwise the files are not read by doxygen.
+
+EXTENSION_MAPPING =
+
+# If MARKDOWN_SUPPORT is enabled (the default) then doxygen pre-processes all
+# comments according to the Markdown format, which allows for more readable
+# documentation. See http://daringfireball.net/projects/markdown/ for details.
+# The output of markdown processing is further processed by doxygen, so you
+# can mix doxygen, HTML, and XML commands with Markdown formatting.
+# Disable only in case of backward compatibilities issues.
+
+MARKDOWN_SUPPORT = YES
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should
+# set this tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
+# func(std::string) {}). This also makes the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+
BUILTIN_STL_SUPPORT = YES
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+
+CPP_CLI_SUPPORT = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
+# Doxygen will parse them like normal C++ but will assume all classes use public
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate getter
+# and setter methods for a property. Setting this option to YES (the default)
+# will make doxygen replace the get and set methods by a property in the
+# documentation. This will only work if the methods are indeed getting or
+# setting a simple type. If this is not the case, or you want to show the
+# methods anyway, you should set this option to NO.
+
IDL_PROPERTY_SUPPORT = NO
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
DISTRIBUTE_GROUP_DOC = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
SUBGROUPING = YES
-INLINE_GROUPED_CLASSES = YES
-SORT_GROUP_NAMES = YES
+
+# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and
+# unions are shown inside the group in which they are included (e.g. using
+# @ingroup) instead of on a separate page (for HTML and Man pages) or
+# section (for LaTeX and RTF).
+
+INLINE_GROUPED_CLASSES = NO
+
+# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and
+# unions with only public data fields will be shown inline in the documentation
+# of the scope in which they are defined (i.e. file, namespace, or group
+# documentation), provided this scope is documented. If set to NO (the default),
+# structs, classes, and unions are shown on a separate page (for HTML and Man
+# pages) or section (for LaTeX and RTF).
+
+INLINE_SIMPLE_STRUCTS = NO
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
+# is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically
+# be useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+
TYPEDEF_HIDES_STRUCT = YES
+
+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
+# determine which symbols to keep in memory and which to flush to disk.
+# When the cache is full, less often used symbols will be written to disk.
+# For small to medium size projects (<1000 input files) the default value is
+# probably good enough. For larger projects a too small cache size can cause
+# doxygen to be busy swapping symbols to and from disk most of the time
+# causing a significant performance penalty.
+# If the system has enough physical memory increasing the cache will improve the
+# performance by keeping more symbols in memory. Note that the value works on
+# a logarithmic scale so increasing the size by one will roughly double the
+# memory usage. The cache size is given by this formula:
+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
+# corresponding to a cache size of 2^16 = 65536 symbols.
+
+SYMBOL_CACHE_SIZE = 0
+
+# Similar to the SYMBOL_CACHE_SIZE the size of the symbol lookup cache can be
+# set using LOOKUP_CACHE_SIZE. This cache is used to resolve symbols given
+# their name and scope. Since this can be an expensive process and often the
+# same symbol appear multiple times in the code, doxygen keeps a cache of
+# pre-resolved symbols. If the cache is too small doxygen will become slower.
+# If the cache is too large, memory is wasted. The cache size is given by this
+# formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range is 0..9, the default is 0,
+# corresponding to a cache size of 2^16 = 65536 symbols.
+
+LOOKUP_CACHE_SIZE = 0
+
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
EXTRACT_ALL = NO
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
EXTRACT_PRIVATE = NO
+
+# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal scope will be included in the documentation.
+
+EXTRACT_PACKAGE = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
EXTRACT_STATIC = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
EXTRACT_LOCAL_CLASSES = NO
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
EXTRACT_LOCAL_METHODS = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base
+# name of the file that contains the anonymous namespace. By default
+# anonymous namespaces are hidden.
+
+EXTRACT_ANON_NSPACES = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
HIDE_UNDOC_MEMBERS = NO
-HIDE_UNDOC_CLASSES = NO
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES = YES
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
HIDE_FRIEND_COMPOUNDS = YES
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
HIDE_IN_BODY_DOCS = YES
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
INTERNAL_DOCS = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+
CASE_SENSE_NAMES = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
HIDE_SCOPE_NAMES = NO
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
+# of that file.
+
SHOW_INCLUDE_FILES = YES
+
+# If the FORCE_LOCAL_INCLUDES tag is set to YES then Doxygen
+# will list include files with double quotes in the documentation
+# rather than with sharp brackets.
+
+FORCE_LOCAL_INCLUDES = NO
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
INLINE_INFO = YES
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
SORT_MEMBER_DOCS = YES
-SORT_MEMBERS_CTORS_1ST = YES
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
+
SORT_BRIEF_DOCS = YES
-SORT_BY_SCOPE_NAME = YES
+
+# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen
+# will sort the (brief and detailed) documentation of class members so that
+# constructors and destructors are listed first. If set to NO (the default)
+# the constructors will appear in the respective orders defined by
+# SORT_MEMBER_DOCS and SORT_BRIEF_DOCS.
+# This tag will be ignored for brief docs if SORT_BRIEF_DOCS is set to NO
+# and ignored for detailed docs if SORT_MEMBER_DOCS is set to NO.
+
+SORT_MEMBERS_CTORS_1ST = YES
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
+# hierarchy of group names into alphabetical order. If set to NO (the default)
+# the group names will appear in their defined order.
+
+SORT_GROUP_NAMES = YES
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME = NO
+
+# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to
+# do proper type resolution of all parameters of a function it will reject a
+# match between the prototype and the implementation of a member function even
+# if there is only one candidate or it is obvious which candidate to choose
+# by doing a simple string match. By disabling STRICT_PROTO_MATCHING doxygen
+# will still accept a match between prototype and implementation in such cases.
+
+STRICT_PROTO_MATCHING = YES
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
GENERATE_TODOLIST = NO
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
GENERATE_TESTLIST = YES
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
GENERATE_BUGLIST = YES
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
+
GENERATE_DEPRECATEDLIST= YES
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
ENABLED_SECTIONS =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or macro consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and macros in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
MAX_INITIALIZER_LINES = 30
-SHOW_USED_FILES = NO # Disabled for light doc
-SHOW_DIRECTORIES = NO # Disabled for light doc
-SHOW_FILES = NO # Disabled for light doc
-SHOW_NAMESPACES = YES
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES = NO
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
+# This will remove the Files entry from the Quick Index and from the
+# Folder Tree View (if specified). The default is YES.
+
+SHOW_FILES = NO
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
+# Namespaces page.
+# This will remove the Namespaces entry from the Quick Index
+# and from the Folder Tree View (if specified). The default is YES.
+
+SHOW_NAMESPACES = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command <command> <input-file>, where <command> is the value of
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
+# provided by doxygen. Whatever the program writes to standard output
+# is used as the file version. See the manual for examples.
+
FILE_VERSION_FILTER =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed
+# by doxygen. The layout file controls the global structure of the generated
+# output files in an output format independent way. The create the layout file
+# that represents doxygen's defaults, run doxygen with the -l option.
+# You can optionally specify a file name after the option, if omitted
+# DoxygenLayout.xml will be used as the name of the layout file.
+
+LAYOUT_FILE = @top_srcdir@/milena/doc/DoxygenLayout.xml
+
+# The CITE_BIB_FILES tag can be used to specify one or more bib files
+# containing the references data. This must be a list of .bib files. The
+# .bib extension is automatically appended if omitted. Using this command
+# requires the bibtex tool to be installed. See also
+# http://en.wikipedia.org/wiki/BibTeX for more info. For LaTeX the style
+# of the bibliography can be controlled using LATEX_BIB_STYLE. To use this
+# feature you need bibtex and perl available in the search path.
+
+CITE_BIB_FILES = @abs_top_srcdir@/doc/doc.bib
+
#---------------------------------------------------------------------------
# configuration options related to warning and progress messages
#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
QUIET = YES
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
WARNINGS = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
WARN_IF_UNDOCUMENTED = NO
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
WARN_IF_DOC_ERROR = YES
+
+# The WARN_NO_PARAMDOC option can be enabled to get warnings for
+# functions that are documented, but have no documentation for their parameters
+# or return value. If set to NO (the default) doxygen will only warn about
+# wrong or incomplete parameter documentation, but not about the absence of
+# documentation.
+
WARN_NO_PARAMDOC = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text. Optionally the format may contain
+# $version, which will be replaced by the version of the file (if it could
+# be obtained via FILE_VERSION_FILTER)
+
WARN_FORMAT = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
WARN_LOGFILE =
+
#---------------------------------------------------------------------------
# configuration options related to the input files
#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
INPUT = @top_srcdir@/milena
-FILE_PATTERNS = *.cc \
- *.hh \
- *.hxx \
- *.hcc \
- *.dox
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
+# also the default input encoding. Doxygen uses libiconv (or the iconv built
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
+# the list of possible encodings.
+
+INPUT_ENCODING = ISO-8859-1
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.d *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh
+# *.hxx *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.dox *.py
+# *.f90 *.f *.for *.vhd *.vhdl
+
+FILE_PATTERNS = *.cc \
+ *.hh \
+ *.hxx \
+ *.hcc \
+ *.dox
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
RECURSIVE = YES
-EXCLUDE = @top_srcdir@/milena/sandbox \
- @top_srcdir@/milena/trash \
+
+# The EXCLUDE tag can be used to specify files and/or directories that should be
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+# Note that relative paths are relative to the directory from which doxygen is
+# run.
+
+EXCLUDE = @top_srcdir@/milena/sandbox \
+ @top_srcdir@/milena/trash \
@top_srcdir@/milena/mln/core/concept/proxy.hxx \
- @top_srcdir@/milena/doc/examples/trash \
- @top_srcdir@/milena/doc/user-refman \
- @top_srcdir@/milena/doc/devel-refman \
+ @top_srcdir@/milena/doc/examples/trash \
+ @top_srcdir@/milena/doc/user-refman \
+ @top_srcdir@/milena/doc/devel-refman \
@top_srcdir@/milena/tests/unit_test
+
+# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or
+# directories that are symbolic links (a Unix file system feature) are excluded
+# from the input.
+
EXCLUDE_SYMLINKS = YES
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories. Note that the wildcards are matched
+# against the file with absolute path, so to exclude all test directories
+# for example use the pattern */test/*
+
EXCLUDE_PATTERNS = *spe.hh
-EXCLUDE_SYMBOLS = *_ \
- *_dispatch \
- mln::trait::* \
- trait::* \
- mln::*<void> \
- mln::*< void > \
- numeric_limits \
- subject_impl \
- subject_point_impl \
- check_t \
- ret \
- It \
- eval \
- is_a \
- composition_unary_impl_helper \
- image_base \
- binary_impl \
- unary_impl \
- proxy_impl \
- T
-EXAMPLE_PATH = @top_srcdir@/milena/doc/examples \
- @top_srcdir@/milena/doc/outputs \
- @top_srcdir@/milena/doc/examples/split \
- @top_srcdir@/milena/doc/outputs/split
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS =
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH = @top_srcdir@/milena/doc/examples \
+ @top_srcdir@/milena/doc/outputs \
+ @top_srcdir@/milena/doc/examples/split \
+ @top_srcdir@/milena/doc/outputs/split
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
EXAMPLE_PATTERNS = *.cc \
- *.cc.raw \
- *.txt
+ *.cc.raw \
+ *.txt
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
EXAMPLE_RECURSIVE = NO
-IMAGE_PATH = @top_srcdir@/milena/doc/img \
- @top_srcdir@/milena/doc/figures
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH = @top_srcdir@/milena/doc/img \
+ @top_srcdir@/milena/doc/figures
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output.
+# If FILTER_PATTERNS is specified, this tag will be
+# ignored.
+
INPUT_FILTER =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis.
+# Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match.
+# The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty or if
+# non of the patterns match the file name, INPUT_FILTER is applied.
+
FILTER_PATTERNS =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
FILTER_SOURCE_FILES = NO
-INPUT_ENCODING = ISO-8859-1
-CITE_BIB_FILES = @abs_top_srcdir@/doc/doc.bib
+
+# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file
+# pattern. A pattern will override the setting for FILTER_PATTERN (if any)
+# and it is also possible to disable source filtering for a specific pattern
+# using *.ext= (so without naming a filter). This option only has effect when
+# FILTER_SOURCE_FILES is enabled.
+
+FILTER_SOURCE_PATTERNS =
+
#---------------------------------------------------------------------------
# configuration options related to source browsing
#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO.
+
SOURCE_BROWSER = YES
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
INLINE_SOURCES = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
STRIP_CODE_COMMENTS = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES
+# then for each documented function all documented
+# functions referencing it will be listed.
+
REFERENCED_BY_RELATION = YES
+
+# If the REFERENCES_RELATION tag is set to YES
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
REFERENCES_RELATION = YES
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
+# link to the source code.
+# Otherwise they will link to the documentation.
+
REFERENCES_LINK_SOURCE = NO
+
+# If the USE_HTAGS tag is set to YES then the references to source code
+# will point to the HTML generated by the htags(1) tool instead of doxygen
+# built-in source browser. The htags tool is part of GNU's global source
+# tagging system (see http://www.gnu.org/software/global/global.html) You
+# will need version 4.8.6 or higher.
+
USE_HTAGS = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
VERBATIM_HEADERS = YES
+
#---------------------------------------------------------------------------
# configuration options related to the alphabetical class index
#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
ALPHABETICAL_INDEX = YES
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
COLS_IN_ALPHA_INDEX = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
IGNORE_PREFIX = mln::
+
#---------------------------------------------------------------------------
# configuration options related to the HTML output
#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
GENERATE_HTML = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
HTML_OUTPUT = html
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
HTML_FILE_EXTENSION = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header. Note that when using a custom header you are responsible
+# for the proper inclusion of any scripts and style sheets that doxygen
+# needs, which is dependent on the configuration options used.
+# It is advised to generate a default header using "doxygen -w html
+# header.html footer.html stylesheet.css YourConfigFile" and then modify
+# that header. Note that the header is subject to change so you typically
+# have to redo this when upgrading to a newer version of doxygen or when
+# changing the value of configuration settings such as GENERATE_TREEVIEW!
+
HTML_HEADER = @top_srcdir@/doc/header.html
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
HTML_FOOTER = @top_srcdir@/doc/subdoc_footer.html
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
+# style sheet in the HTML output directory as well, or it will be erased!
+
HTML_STYLESHEET = @top_srcdir@/doc/doxygen.css
-LAYOUT_FILE = @top_srcdir@/milena/doc/DoxygenLayout.xml
+
+# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or
+# other source files which should be copied to the HTML output directory. Note
+# that these files will be copied to the base HTML output directory. Use the
+# $relpath$ marker in the HTML_HEADER and/or HTML_FOOTER files to load these
+# files. In the HTML_STYLESHEET file, use the file name only. Also note that
+# the files will be copied as-is; there are no commands or markers available.
+
+HTML_EXTRA_FILES =
+
+# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output.
+# Doxygen will adjust the colors in the style sheet and background images
+# according to this color. Hue is specified as an angle on a colorwheel,
+# see http://en.wikipedia.org/wiki/Hue for more information.
+# For instance the value 0 represents red, 60 is yellow, 120 is green,
+# 180 is cyan, 240 is blue, 300 purple, and 360 is red again.
+# The allowed range is 0 to 359.
+
+HTML_COLORSTYLE_HUE = 220
+
+# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of
+# the colors in the HTML output. For a value of 0 the output will use
+# grayscales only. A value of 255 will produce the most vivid colors.
+
+HTML_COLORSTYLE_SAT = 100
+
+# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to
+# the luminance component of the colors in the HTML output. Values below
+# 100 gradually make the output lighter, whereas values above 100 make
+# the output darker. The value divided by 100 is the actual gamma applied,
+# so 80 represents a gamma of 0.8, The value 220 represents a gamma of 2.2,
+# and 100 does not change the gamma.
+
+HTML_COLORSTYLE_GAMMA = 80
+
+# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML
+# page will contain the date and time when the page was generated. Setting
+# this to NO can help when comparing the output of multiple runs.
+
+HTML_TIMESTAMP = YES
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
HTML_ALIGN_MEMBERS = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded. For this to work a browser that supports
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS = NO
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files
+# will be generated that can be used as input for Apple's Xcode 3
+# integrated development environment, introduced with OSX 10.5 (Leopard).
+# To create a documentation set, doxygen will generate a Makefile in the
+# HTML output directory. Running make will produce the docset in that
+# directory and running "make install" will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
+# it at startup.
+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html
+# for more information.
+
+GENERATE_DOCSET = NO
+
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
+# feed. A documentation feed provides an umbrella under which multiple
+# documentation sets from a single provider (such as a company or product suite)
+# can be grouped.
+
+DOCSET_FEEDNAME = "Doxygen generated docs"
+
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
+# should uniquely identify the documentation set bundle. This should be a
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
+# will append .docset to the name.
+
+DOCSET_BUNDLE_ID = org.doxygen.Project
+
+# When GENERATE_PUBLISHER_ID tag specifies a string that should uniquely identify
+# the documentation publisher. This should be a reverse domain-name style
+# string, e.g. com.mycompany.MyDocSet.documentation.
+
+DOCSET_PUBLISHER_ID = org.doxygen.Publisher
+
+# The GENERATE_PUBLISHER_NAME tag identifies the documentation publisher.
+
+DOCSET_PUBLISHER_NAME = Publisher
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
+# of the generated HTML documentation.
+
GENERATE_HTMLHELP = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
CHM_FILE =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
HHC_LOCATION =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
GENERATE_CHI = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
+# is used to encode HtmlHelp index (hhk), content (hhc) and project file
+# content.
+
+CHM_INDEX_ENCODING =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
BINARY_TOC = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the HTML help documentation and to the tree view.
+
TOC_EXPAND = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and
+# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated
+# that can be used as input for Qt's qhelpgenerator to generate a
+# Qt Compressed Help (.qch) of the generated HTML documentation.
+
+GENERATE_QHP = yes
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
+# be used to specify the file name of the resulting .qch file.
+# The path specified is relative to the HTML output folder.
+
+QCH_FILE = "@builddir@/milena.qch"
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#namespace
+
+QHP_NAMESPACE = "fr.epita.lrde.olena.milena"
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#virtual-folders
+
+QHP_VIRTUAL_FOLDER = "milena-2.0"
+
+# If QHP_CUST_FILTER_NAME is set, it specifies the name of a custom filter to
+# add. For more information please see
+# http://doc.trolltech.com/qthelpproject.html#custom-filters
+
+QHP_CUST_FILTER_NAME =
+
+# The QHP_CUST_FILT_ATTRS tag specifies the list of the attributes of the
+# custom filter to add. For more information please see
+# <a href="http://doc.trolltech.com/qthelpproject.html#custom-filters">
+# Qt Help Project / Custom Filters</a>.
+
+QHP_CUST_FILTER_ATTRS =
+
+# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this
+# project's
+# filter section matches.
+# <a href="http://doc.trolltech.com/qthelpproject.html#filter-attributes">
+# Qt Help Project / Filter Attributes</a>.
+
+QHP_SECT_FILTER_ATTRS =
+
+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
+# be used to specify the location of Qt's qhelpgenerator.
+# If non-empty doxygen will try to run qhelpgenerator on the generated
+# .qhp file.
+
+QHG_LOCATION = "qhelpgenerator"
+
+# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files
+# will be generated, which together with the HTML files, form an Eclipse help
+# plugin. To install this plugin and make it available under the help contents
+# menu in Eclipse, the contents of the directory containing the HTML and XML
+# files needs to be copied into the plugins directory of eclipse. The name of
+# the directory within the plugins directory should be the same as
+# the ECLIPSE_DOC_ID value. After copying Eclipse needs to be restarted before
+# the help appears.
+
+GENERATE_ECLIPSEHELP = NO
+
+# A unique identifier for the eclipse help plugin. When installing the plugin
+# the directory name containing the HTML and XML files should also have
+# this name.
+
+ECLIPSE_DOC_ID = org.doxygen.Project
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs)
+# at top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it. Since the tabs have the same information as the
+# navigation tree you can set this option to NO if you already set
+# GENERATE_TREEVIEW to YES.
+
DISABLE_INDEX = NO
-ENUM_VALUES_PER_LINE = 4
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information.
+# If the tag value is set to YES, a side panel will be generated
+# containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (i.e. any modern browser).
+# Windows users are probably better off using the HTML help feature.
+# Since the tree basically has the same information as the tab index you
+# could consider to set DISABLE_INDEX to NO when enabling this option.
+
GENERATE_TREEVIEW = YES
+
+# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
+# (range [0,1..20]) that doxygen will group on one line in the generated HTML
+# documentation. Note that a value of 0 will completely suppress the enum
+# values from appearing in the overview section.
+
+ENUM_VALUES_PER_LINE = 4
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
TREEVIEW_WIDTH = 250
+
+# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open
+# links to external symbols imported via tag files in a separate window.
+
+EXT_LINKS_IN_WINDOW = NO
+
+# Use this tag to change the font size of Latex formulas included
+# as images in the HTML documentation. The default is 10. Note that
+# when you change the font size after a successful doxygen run you need
+# to manually remove any form_*.png images from the HTML output directory
+# to force them to be regenerated.
+
+FORMULA_FONTSIZE = 10
+
+# Use the FORMULA_TRANPARENT tag to determine whether or not the images
+# generated for formulas are transparent PNGs. Transparent PNGs are
+# not supported properly for IE 6.0, but are supported on all modern browsers.
+# Note that when changing this option you need to delete any form_*.png files
+# in the HTML output before the changes have effect.
+
+FORMULA_TRANSPARENT = YES
+
+# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax
+# (see http://www.mathjax.org) which uses client side Javascript for the
+# rendering instead of using prerendered bitmaps. Use this if you do not
+# have LaTeX installed or if you want to formulas look prettier in the HTML
+# output. When enabled you may also need to install MathJax separately and
+# configure the path to it using the MATHJAX_RELPATH option.
+
+USE_MATHJAX = NO
+
+# When MathJax is enabled you need to specify the location relative to the
+# HTML output directory using the MATHJAX_RELPATH option. The destination
+# directory should contain the MathJax.js script. For instance, if the mathjax
+# directory is located at the same level as the HTML output directory, then
+# MATHJAX_RELPATH should be ../mathjax. The default value points to
+# the MathJax Content Delivery Network so you can quickly see the result without
+# installing MathJax.
+# However, it is strongly recommended to install a local
+# copy of MathJax from http://www.mathjax.org before deployment.
+
+MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest
+
+# The MATHJAX_EXTENSIONS tag can be used to specify one or MathJax extension
+# names that should be enabled during MathJax rendering.
+
+MATHJAX_EXTENSIONS =
+
+# When the SEARCHENGINE tag is enabled doxygen will generate a search box
+# for the HTML output. The underlying search engine uses javascript
+# and DHTML and should work on any modern browser. Note that when using
+# HTML help (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets
+# (GENERATE_DOCSET) there is already a search function so this one should
+# typically be disabled. For large projects the javascript based search engine
+# can be slow, then enabling SERVER_BASED_SEARCH may provide a better solution.
+
+SEARCHENGINE = YES
+
+# When the SERVER_BASED_SEARCH tag is enabled the search engine will be
+# implemented using a PHP enabled web server instead of at the web client
+# using Javascript. Doxygen will generate the search PHP script and index
+# file to put on the web server. The advantage of the server
+# based approach is that it scales better to large projects and allows
+# full text search. The disadvantages are that it is more difficult to setup
+# and does not have live searching capabilities.
+
+SERVER_BASED_SEARCH = NO
+
#---------------------------------------------------------------------------
# configuration options related to the LaTeX output
#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
GENERATE_LATEX = YES
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
LATEX_OUTPUT = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
+# Note that when enabling USE_PDFLATEX this option is only used for
+# generating bitmaps for formulas in the HTML output, but not in the
+# Makefile that is written to the output directory.
+
LATEX_CMD_NAME = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
MAKEINDEX_CMD_NAME = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
COMPACT_LATEX = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, letter, legal and
+# executive. If left blank a4wide will be used.
+
PAPER_TYPE = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
EXTRA_PACKAGES =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
LATEX_HEADER =
+
+# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for
+# the generated latex document. The footer should contain everything after
+# the last chapter. If it is left blank doxygen will generate a
+# standard footer. Notice: only use this tag if you know what you are doing!
+
+LATEX_FOOTER =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
PDF_HYPERLINKS = YES
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
USE_PDFLATEX = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
LATEX_BATCHMODE = YES
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
+# in the output.
+
LATEX_HIDE_INDICES = NO
+
+# If LATEX_SOURCE_CODE is set to YES then doxygen will include
+# source code with syntax highlighting in the LaTeX output.
+# Note that which sources are shown also depends on other settings
+# such as SOURCE_BROWSER.
+
+LATEX_SOURCE_CODE = NO
+
+# The LATEX_BIB_STYLE tag can be used to specify the style to use for the
+# bibliography, e.g. plainnat, or ieeetr. The default style is "plain". See
+# http://en.wikipedia.org/wiki/BibTeX for more info.
+
+LATEX_BIB_STYLE = plain
+
#---------------------------------------------------------------------------
# configuration options related to the RTF output
#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimized for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
GENERATE_RTF = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
RTF_OUTPUT = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
COMPACT_RTF = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
RTF_HYPERLINKS = NO
+
+# Load style sheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
RTF_STYLESHEET_FILE =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
RTF_EXTENSIONS_FILE =
+
#---------------------------------------------------------------------------
# configuration options related to the man page output
#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
GENERATE_MAN = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
MAN_OUTPUT = man
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
MAN_EXTENSION = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
MAN_LINKS = NO
+
#---------------------------------------------------------------------------
# configuration options related to the XML output
#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation.
+
GENERATE_XML = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `xml' will be used as the default path.
+
XML_OUTPUT = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
XML_SCHEMA =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
XML_DTD =
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
+# enabling this will significantly increase the size of the XML output.
+
XML_PROGRAMLISTING = YES
+
#---------------------------------------------------------------------------
# configuration options for the AutoGen Definitions output
#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
GENERATE_AUTOGEN_DEF = NO
+
#---------------------------------------------------------------------------
# configuration options related to the Perl module output
#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
GENERATE_PERLMOD = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
PERLMOD_LATEX = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader.
+# This is useful
+# if you want to understand what is going on.
+# On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
+# and Perl will parse it just the same.
+
PERLMOD_PRETTY = YES
+
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
+# Makefile don't overwrite each other's variables.
+
PERLMOD_MAKEVAR_PREFIX =
+
#---------------------------------------------------------------------------
# Configuration options related to the preprocessor
#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
ENABLE_PREPROCESSING = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
MACRO_EXPANSION = YES
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
EXPAND_ONLY_PREDEF = YES
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# pointed to by INCLUDE_PATH will be searched when a #include is found.
+
SEARCH_INCLUDES = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
INCLUDE_PATH = "@boostcppflags@"
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
INCLUDE_FILE_PATTERNS =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed. To prevent a macro definition from being
+# undefined via #undef or recursively expanded use the := operator
+# instead of the = operator.
+
PREDEFINED = "for_all(x)=for(x.start(); x.is_valid(); x.next())" \
- "for_all_2(x1, x2)=for(x1.start(), x2.start(); x1.is_valid(); x1.next(), x2.next())" \
- "for_all_3(x1, x2, x3)=for(x1.start(), x2.start(), x3.start(); x1.is_valid(); x1.next(), x2.next(), x3.next())" \
- "for_all_remaining(x)=if (! x.is_valid()) {} else while (x.next(), x.is_valid())" \
- "mlc_unqualif(T)=typename mln::metal::unqualif<T>::ret" \
- "mlc_equal(T1,T2)=mln::metal::equal<T1,T2>" \
+ "for_all_2(x1, x2)=for(x1.start(), x2.start(); x1.is_valid(); x1.next(), x2.next())" \
+ "for_all_3(x1, x2, x3)=for(x1.start(), x2.start(), x3.start(); x1.is_valid(); x1.next(), x2.next(), x3.next())" \
+ "for_all_remaining(x)=if (! x.is_valid()) {} else while (x.next(), x.is_valid())" \
+ "mlc_unqualif(T)=typename mln::metal::unqualif<T>::ret" \
+ "mlc_equal(T1,T2)=mln::metal::equal<T1,T2>" \
"mln_piter(T)=typename T::piter" \
"mln_fwd_piter(T)=typename T::fwd_piter" \
"mln_bkd_piter(T)=typename T::bkd_piter" \
@@ -284,8 +1562,8 @@ PREDEFINED = "for_all(x)=for(x.start(); x.is_valid(); x.next())" \
"mln_trait_op_plus(L, R)=typename mln::trait::op::plus< L , R >::ret" \
"mln_trait_op_times(L, R)=typename mln::trait::op::times< L , R >::ret" \
"mln_trait_op_uminus(T)=typename mln::trait::op::uminus< T >::ret" \
- "mln_ch_value(I, V)=typename mln::trait::ch_value< I, V >::ret" \
- "mlc_unqualif_(T)=mln::metal::unqualif<T>::ret" \
+ "mln_ch_value(I, V)=typename mln::trait::ch_value< I, V >::ret" \
+ "mlc_unqualif_(T)=mln::metal::unqualif<T>::ret" \
"mln_piter_(T)=T::piter" \
"mln_fwd_piter_(T)=T::fwd_piter" \
"mln_bkd_piter_(T)=T::bkd_piter" \
@@ -319,91 +1597,318 @@ PREDEFINED = "for_all(x)=for(x.start(); x.is_valid(); x.next())" \
"mln_trait_op_div_(L, R)=mln::trait::op::div< L , R >::ret" \
"mln_trait_op_mod_(L, R)=mln::trait::op::mod< L , R >::ret" \
"mln_trait_op_uminus_(T)=mln::trait::op::uminus< T >::ret" \
- "mln_ch_value_(I, V)=typename mln::trait::ch_value< I, V >::ret" \
- "mln_ch_value(I, V)_=mln::trait::ch_value< I, V >::ret" \
- "mln_morpher_lvalue(I)=typename internal::morpher_lvalue_<I>::ret" \
- "mln_concrete(I)=typename mln::trait::concrete< I >::ret" \
- "mln_concrete_ch_value(I, V)=typename mln::trait::ch_value< typename mln::trait::concrete< I >::ret, V >::ret" \
- "mlc_const(T)=typename mln::metal::const_< T >::ret" \
- "mlc_const_return(T)=typename mln::metal::const_return_< T >::ret" \
- "mln_element(T)=typename T::element" \
- "mln_element_(T)=T::element" \
- "mln_delta(T)=typename T::delta" \
- "mln_delta_(T)=T::delta" \
- "mln_dpoint(T)=typename T::dpoint" \
- "mln_dpoint_(T)=T::dpoint" \
- "mln_point(T)=typename T::point" \
- "mln_point_(T)=T::point" \
- "mln_gradient_component(I)=typename mln::trait::ch_value< I, mln::value::props< typename I::value >::sum >::ret" \
- "mln_gradient(I)=mln::value::stack_image< I::point::dim, mln::trait::ch_value< I, mln::value::props< typename I::value >::sum >::ret >" \
- "mln_trait_value_sum_product(T, U)=typename mln::trait::value_< mln_trait_op_times(T,U) >::sum" \
- "mln_sum_product(T, U)=typename mln::trait::value_< mln_trait_op_times(T,U) >::sum" \
- "mln_deduce(T, A1, A2)=typename T::A1::A2" \
- "mln_graph_element(T)=typename T::graph_element" \
- "mln_graph_element_(T)=T::graph_element" \
- "mln_fun_vv2v(F, L, R)=mln::fun::vv2v::F< mln_value(L), mln_value(R) >" \
- "mln_fun_vv2v_result(F, L, R)=typename mln_fun_vv2v(F, L, R)::result" \
- "mln_ch_fun_vv2v(F, L, R)=typename mln::trait::ch_value< L, typename mln_fun_vv2v(F, L, R)::result >::ret" \
- "mln_meta_accu_result(A, T)=typename mln::internal::meta_accu_ret_result_helper<A,T>::result" \
- "mln_meta_accu_result_(A, T)=mln::internal::meta_accu_ret_result_helper<A,T>::result" \
- "mln_q_subject(T)=typename T::q_subject" \
- "mln_q_subject(T)_=T::q_subject" \
- "mlc_is_a(T, M)=mln::metal::is_a<T, M>" \
- "mlc_is_a__1comma(Tleft, Tright, M)=mln::metal::is_a<Tleft, Tright, M>" \
- "mlc_is_not_a(T, M)=mln::metal::is_not_a< T, M >" \
- "mlc_converts_to(T, U)=mln::metal::converts_to< T, U >" \
- "mlc_not_equal(T1, T2)=mln::metal::not_equal< T1, T2 >" \
- "BOOST_PP_LOCAL_ITERATE()=<boost/preprocessor/iteration/detail/local.hpp>"
+ "mln_ch_value_(I, V)=typename mln::trait::ch_value< I, V >::ret" \
+ "mln_ch_value(I, V)_=mln::trait::ch_value< I, V >::ret" \
+ "mln_morpher_lvalue(I)=typename internal::morpher_lvalue_<I>::ret" \
+ "mln_concrete(I)=typename mln::trait::concrete< I >::ret" \
+ "mln_concrete_ch_value(I, V)=typename mln::trait::ch_value< typename mln::trait::concrete< I >::ret, V >::ret" \
+ "mlc_const(T)=typename mln::metal::const_< T >::ret" \
+ "mlc_const_return(T)=typename mln::metal::const_return_< T >::ret" \
+ "mln_element(T)=typename T::element" \
+ "mln_element_(T)=T::element" \
+ "mln_delta(T)=typename T::delta" \
+ "mln_delta_(T)=T::delta" \
+ "mln_dpoint(T)=typename T::dpoint" \
+ "mln_dpoint_(T)=T::dpoint" \
+ "mln_point(T)=typename T::point" \
+ "mln_point_(T)=T::point" \
+ "mln_gradient_component(I)=typename mln::trait::ch_value< I, mln::value::props< typename I::value >::sum >::ret" \
+ "mln_gradient(I)=mln::value::stack_image< I::point::dim, mln::trait::ch_value< I, mln::value::props< typename I::value >::sum >::ret >" \
+ "mln_trait_value_sum_product(T, U)=typename mln::trait::value_< mln_trait_op_times(T,U) >::sum" \
+ "mln_sum_product(T, U)=typename mln::trait::value_< mln_trait_op_times(T,U) >::sum" \
+ "mln_deduce(T, A1, A2)=typename T::A1::A2" \
+ "mln_graph_element(T)=typename T::graph_element" \
+ "mln_graph_element_(T)=T::graph_element" \
+ "mln_fun_vv2v(F, L, R)=mln::fun::vv2v::F< mln_value(L), mln_value(R) >" \
+ "mln_fun_vv2v_result(F, L, R)=typename mln_fun_vv2v(F, L, R)::result" \
+ "mln_ch_fun_vv2v(F, L, R)=typename mln::trait::ch_value< L, typename mln_fun_vv2v(F, L, R)::result >::ret" \
+ "mln_meta_accu_result(A, T)=typename mln::internal::meta_accu_ret_result_helper<A,T>::result" \
+ "mln_meta_accu_result_(A, T)=mln::internal::meta_accu_ret_result_helper<A,T>::result" \
+ "mln_q_subject(T)=typename T::q_subject" \
+ "mln_q_subject(T)_=T::q_subject" \
+ "mlc_is_a(T, M)=mln::metal::is_a<T, M>" \
+ "mlc_is_a__1comma(Tleft, Tright, M)=mln::metal::is_a<Tleft, Tright, M>" \
+ "mlc_is_not_a(T, M)=mln::metal::is_not_a< T, M >" \
+ "mlc_converts_to(T, U)=mln::metal::converts_to< T, U >" \
+ "mlc_not_equal(T1, T2)=mln::metal::not_equal< T1, T2 >" \
+ "BOOST_PP_LOCAL_ITERATE()=<boost/preprocessor/iteration/detail/local.hpp>"
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition that
+# overrules the definition found in the source code.
EXPAND_AS_DEFINED =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all references to function-like macros
+# that are alone on a line, have an all uppercase name, and do not end with a
+# semicolon, because these will confuse the parser if not removed.
+
SKIP_FUNCTION_MACROS = YES
+
#---------------------------------------------------------------------------
# Configuration::additions related to external references
#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles. For each
+# tag file the location of the external documentation should be added. The
+# format of a tag file without this location is as follows:
+#
+# TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+#
+# TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths
+# or URLs. Note that each tag file must have a unique name (where the name does
+# NOT include the path). If a tag file is not located in the directory in which
+# doxygen is run, you must also specify the path to the tagfile here.
+
TAGFILES =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
GENERATE_TAGFILE = milena.tag
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
ALLEXTERNALS = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
+# be listed.
+
EXTERNAL_GROUPS = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
PERL_PATH = /usr/bin/perl
+
#---------------------------------------------------------------------------
# Configuration options related to the dot tool
#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
+# or super classes. Setting the tag to NO turns the diagrams off. Note that
+# this option also works with HAVE_DOT disabled, but it is recommended to
+# install and use dot, since it yields more powerful graphs.
+
CLASS_DIAGRAMS = NO
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see
+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
+# default search path.
+
+MSCGEN_PATH =
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
HIDE_UNDOC_RELATIONS = NO
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
HAVE_DOT = YES
+
+# The DOT_NUM_THREADS specifies the number of dot invocations doxygen is
+# allowed to run in parallel. When set to 0 (the default) doxygen will
+# base this on the number of processors available in the system. You can set it
+# explicitly to a value larger than 0 to get control over the balance
+# between CPU load and processing speed.
+
+DOT_NUM_THREADS = 0
+
+# By default doxygen will use the Helvetica font for all dot files that
+# doxygen generates. When you want a differently looking font you can specify
+# the font name using DOT_FONTNAME. You need to make sure dot is able to find
+# the font, which can be done by putting it in a standard location or by setting
+# the DOTFONTPATH environment variable or by setting DOT_FONTPATH to the
+# directory containing the font.
+
+DOT_FONTNAME = Helvetica
+
+# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
+# The default size is 10pt.
+
+DOT_FONTSIZE = 10
+
+# By default doxygen will tell dot to use the Helvetica font.
+# If you specify a different font using DOT_FONTNAME you can use DOT_FONTPATH to
+# set the path where dot can find it.
+
+DOT_FONTPATH =
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# CLASS_DIAGRAMS tag to NO.
+
CLASS_GRAPH = NO
-COLLABORATION_GRAPH = NO # Disabled for light doc
-GROUP_GRAPHS = NO # Disabled for light doc
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH = NO
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS = NO
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+
UML_LOOK = NO
+
+# If the UML_LOOK tag is enabled, the fields and methods are shown inside
+# the class node. If there are many fields or methods and many nodes the
+# graph may become too big to be useful. The UML_LIMIT_NUM_FIELDS
+# threshold limits the number of items for each type to make the size more
+# managable. Set this to 0 for no limit. Note that the threshold may be
+# exceeded by 50% before the limit is enforced.
+
+UML_LIMIT_NUM_FIELDS = 10
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
TEMPLATE_RELATIONS = NO
-INCLUDE_GRAPH = NO # Disabled for light doc
-INCLUDED_BY_GRAPH = NO # Disabled for light doc
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH = NO
+
+# If the CALL_GRAPH and HAVE_DOT options are set to YES then
+# doxygen will generate a call dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable call graphs
+# for selected functions only using the \callgraph command.
+
CALL_GRAPH = NO
+
+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
+# doxygen will generate a caller dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable caller
+# graphs for selected functions only using the \callergraph command.
+
CALLER_GRAPH = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will generate a graphical hierarchy of all classes instead of a textual one.
+
GRAPHICAL_HIERARCHY = NO
-DIRECTORY_GRAPH = NO # Disabled for light doc
+
+# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES
+# then doxygen will show the dependencies a directory has on other directories
+# in a graphical way. The dependency relations are determined by the #include
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH = NO
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. Possible values are svg, png, jpg, or gif.
+# If left blank png will be used. If you choose svg you need to set
+# HTML_FILE_EXTENSION to xhtml in order to make the SVG files
+# visible in IE 9+ (other browsers do not have this requirement).
+
DOT_IMAGE_FORMAT = png
+
+# If DOT_IMAGE_FORMAT is set to svg, then this option can be set to YES to
+# enable generation of interactive SVG images that allow zooming and panning.
+# Note that this requires a modern browser other than Internet Explorer.
+# Tested and working are Firefox, Chrome, Safari, and Opera. For IE 9+ you
+# need to set HTML_FILE_EXTENSION to xhtml in order to make the SVG files
+# visible. Older versions of IE do not have SVG support.
+
+INTERACTIVE_SVG = NO
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
DOT_PATH =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
DOTFILE_DIRS =
+
+# The MSCFILE_DIRS tag can be used to specify one or more directories that
+# contain msc files that are included in the documentation (see the
+# \mscfile command).
+
+MSCFILE_DIRS =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
+# nodes that will be shown in the graph. If the number of nodes in a graph
+# becomes larger than this value, doxygen will truncate the graph, which is
+# visualized by representing a node as a red box. Note that doxygen if the
+# number of direct children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
+# from the root by following a path via at most 3 edges will be shown. Nodes
+# that lay further from the root node will be omitted. Note that setting this
+# option to 1 or 2 may greatly reduce the computation time needed for large
+# code bases. Also note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
MAX_DOT_GRAPH_DEPTH = 1000
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, because dot on Windows does not
+# seem to support this out of the box. Warning: Depending on the platform used,
+# enabling this option may lead to badly anti-aliased labels on the edges of
+# a graph (i.e. they become hard to read).
+
DOT_TRANSPARENT = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10)
+# support this, this feature is disabled by default.
+
DOT_MULTI_TARGETS = NO
-GENERATE_LEGEND = NO # Disabled for light doc
-DOT_CLEANUP = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the search engine
-#---------------------------------------------------------------------------
-SEARCHENGINE = YES
-#---------------------------------------------------------------------------
-# Configuration::additions related to the Qt help engine
-#---------------------------------------------------------------------------
-GENERATE_QHP = yes
-QHP_NAMESPACE = "fr.epita.lrde.olena.milena"
-QHP_VIRTUAL_FOLDER = "milena-2.0"
-QCH_FILE = "@builddir@/milena.qch"
-QHG_LOCATION = "qhelpgenerator"
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND = NO
-# Local Variables:
-# mode: Makefile
-# End:
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermediate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP = YES
diff --git a/milena/doc/DoxygenLayout.xml b/milena/doc/DoxygenLayout.xml
index 8d23146..5559bca 100644
--- a/milena/doc/DoxygenLayout.xml
+++ b/milena/doc/DoxygenLayout.xml
@@ -18,7 +18,6 @@
<tab type="filelist" visible="yes" title="" intro=""/>
<tab type="globals" visible="yes" title="" intro=""/>
</tab>
- <tab type="dirs" visible="yes" title="" intro=""/>
<tab type="examples" visible="yes" title="" intro=""/>
</navindex>
diff --git a/milena/mln/core/internal/image_base.hh b/milena/mln/core/internal/image_base.hh
index afe3bfc..c9f76de 100644
--- a/milena/mln/core/internal/image_base.hh
+++ b/milena/mln/core/internal/image_base.hh
@@ -1,4 +1,4 @@
-// Copyright (C) 2007, 2008, 2009 EPITA Research and Development
+// Copyright (C) 2007, 2008, 2009, 2012 EPITA Research and Development
// Laboratory (LRDE)
//
// This file is part of Olena.
@@ -44,18 +44,6 @@
# include <mln/value/set.hh>
# include <mln/value/super_value.hh>
-// image_base
-// ^
-// |
-// ---------------------------
-// | |
-// image_primary image_morpher
-// ^ ^
-// | |
-// | -----------------------------------------
-// | | | |
-// pw_image_base image_domain_morpher image_value_morpher image_identity
-
namespace mln
{
@@ -73,14 +61,27 @@ namespace mln
};
- /// \cond TEST
+ /*! \internal
+ \brief A base class for images.
+
+ Parameter \p T is the image value type.
+ Parameter \p S is the image site set type.
+
+ \verbatim
+ image_base
+ ^
+ |
+ ---------------------------
+ | |
+ image_primary image_morpher
+ ^ ^
+ | |
+ | -----------------------------------------
+ | | | |
+ pw_image_base image_domain_morpher image_value_morpher image_identity
- /// A base class for images.
- ///
- /// Parameter \p T is the image value type.
- /// Parameter \p S is the image site set type.
- ///
- //
+ \endverbatim
+ */
template <typename T, typename S, typename E>
struct image_base
:
@@ -165,7 +166,6 @@ namespace mln
// Internal data, sharable by several images.
util::tracked_ptr< internal::data<E> > data_;
};
- /// \endcond
# ifndef MLN_INCLUDE_ONLY
--
1.7.2.5
1
0
---
milena/doc/Doxyfile.in | 3 +
milena/doc/DoxygenLayout.xml | 32 +++++++-----
milena/doc/Makefile.am | 6 +-
milena/doc/doxyfuns.sty | 108 ++++++++++++++++++++++++++++--------------
scribo/doc/DoxygenLayout.xml | 32 +++++++-----
scribo/doc/Makefile.am | 6 +-
6 files changed, 117 insertions(+), 70 deletions(-)
diff --git a/milena/doc/Doxyfile.in b/milena/doc/Doxyfile.in
index 4b44d80..181f887 100644
--- a/milena/doc/Doxyfile.in
+++ b/milena/doc/Doxyfile.in
@@ -48,6 +48,9 @@ BUILTIN_STL_SUPPORT = YES
IDL_PROPERTY_SUPPORT = NO
DISTRIBUTE_GROUP_DOC = NO
SUBGROUPING = YES
+INLINE_GROUPED_CLASSES = YES
+SORT_GROUP_NAMES = YES
+TYPEDEF_HIDES_STRUCT = YES
#---------------------------------------------------------------------------
# Build related configuration options
#---------------------------------------------------------------------------
diff --git a/milena/doc/DoxygenLayout.xml b/milena/doc/DoxygenLayout.xml
index ff1e5e4..8d23146 100644
--- a/milena/doc/DoxygenLayout.xml
+++ b/milena/doc/DoxygenLayout.xml
@@ -2,24 +2,24 @@
<!-- Navigation index tabs for HTML output -->
<navindex>
<tab type="mainpage" visible="yes" title="Milena"/>
- <tab type="pages" visible="yes" title=""/>
- <tab type="modules" visible="yes" title=""/>
+ <tab type="pages" visible="yes" title="" intro=""/>
+ <tab type="modules" visible="yes" title="" intro=""/>
<tab type="namespaces" visible="yes" title="">
- <tab type="namespaces" visible="yes" title=""/>
- <tab type="namespacemembers" visible="yes" title=""/>
+ <tab type="namespacelist" visible="yes" title="" intro=""/>
+ <tab type="namespacemembers" visible="yes" title="" intro=""/>
</tab>
<tab type="classes" visible="yes" title="">
- <tab type="classes" visible="yes" title=""/>
+ <tab type="classlist" visible="yes" title="" intro=""/>
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
- <tab type="hierarchy" visible="yes" title=""/>
- <tab type="classmembers" visible="yes" title=""/>
+ <tab type="hierarchy" visible="yes" title="" intro=""/>
+ <tab type="classmembers" visible="yes" title="" intro=""/>
</tab>
<tab type="files" visible="yes" title="">
- <tab type="files" visible="yes" title=""/>
- <tab type="globals" visible="yes" title=""/>
+ <tab type="filelist" visible="yes" title="" intro=""/>
+ <tab type="globals" visible="yes" title="" intro=""/>
</tab>
- <tab type="dirs" visible="yes" title=""/>
- <tab type="examples" visible="yes" title=""/>
+ <tab type="dirs" visible="yes" title="" intro=""/>
+ <tab type="examples" visible="yes" title="" intro=""/>
</navindex>
<!-- Layout definition for a class page -->
@@ -63,6 +63,7 @@
</memberdecl>
<detaileddescription title=""/>
<memberdef>
+ <inlineclasses title=""/>
<typedefs title=""/>
<enums title=""/>
<constructors title=""/>
@@ -90,6 +91,7 @@
</memberdecl>
<detaileddescription title=""/>
<memberdef>
+ <inlineclasses title=""/>
<typedefs title=""/>
<enums title=""/>
<functions title=""/>
@@ -117,6 +119,7 @@
</memberdecl>
<detaileddescription title=""/>
<memberdef>
+ <inlineclasses title=""/>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>
@@ -131,11 +134,11 @@
<briefdescription visible="yes"/>
<groupgraph visible="$GROUP_GRAPHS"/>
<memberdecl>
- <classes visible="yes" title=""/>
- <namespaces visible="yes" title=""/>
- <dirs visible="yes" title=""/>
<nestedgroups visible="yes" title=""/>
+ <dirs visible="yes" title=""/>
<files visible="yes" title=""/>
+ <namespaces visible="yes" title=""/>
+ <classes visible="yes" title=""/>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>
@@ -154,6 +157,7 @@
<detaileddescription title=""/>
<memberdef>
<pagedocs/>
+ <inlineclasses title=""/>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>
diff --git a/milena/doc/Makefile.am b/milena/doc/Makefile.am
index 321d926..1761308 100644
--- a/milena/doc/Makefile.am
+++ b/milena/doc/Makefile.am
@@ -246,8 +246,8 @@ $(srcdir)/user-refman.stamp: $(srcdir)/$(DOXYFILE).in $(REFMAN_deps)
test -f $(USER_REFMAN).tmp/latex/refman.tex
rm -rf $(srcdir)/$(USER_REFMAN)
## Fix path to the main page of the documentation.
- sed -i -e "s,\@relcommondocpath\@,../../../user-refman/html/,g" \
- $(USER_REFMAN).tmp/html/index.html
+ sed -i -e "s,\@relcommondocpath\@,$(DESTDIR)$(htmldir)/$(USER_REFMAN)/html/,g" \
+ `find $(USER_REFMAN).tmp -name '*.html'`
## FIXME: Moving directories between file systems is not portable.
mv $(USER_REFMAN).tmp $(srcdir)/$(USER_REFMAN)
@mv -f $@.tmp $@
@@ -328,7 +328,7 @@ $(srcdir)/devel-refman.stamp: $(srcdir)/$(DOXYFILE).in $(REFMAN_deps)
test -f $(DEVEL_REFMAN).tmp/latex/refman.tex
rm -rf $(srcdir)/$(DEVEL_REFMAN)
## Fix path to the main page of the documentation.
- sed -i -e "s,\@relcommondocpath\@,../,g" \
+ sed -i -e "s,\@relcommondocpath\@,$(DESTDIR)$(htmldir)/$(DEVEL_REFMAN)/html/,g" \
$(DEVEL_REFMAN).tmp/html/index.html
## FIXME: Moving directories between file systems is not portable.
mv $(DEVEL_REFMAN).tmp $(srcdir)/$(DEVEL_REFMAN)
diff --git a/milena/doc/doxyfuns.sty b/milena/doc/doxyfuns.sty
index cd8d8bf..aa4cb02 100644
--- a/milena/doc/doxyfuns.sty
+++ b/milena/doc/doxyfuns.sty
@@ -24,11 +24,14 @@
% #2 - sub page title.
\newcommand{\doxychapter}[2]{%
\label{#1}
-\backslash endhtmlonly%
+\backslash endhtmlonly
+%
*/
/*!
-\backslash page #1 #2%
-\backslash htmlonly %
+\backslash page #1 #2
+%
+\backslash htmlonly
+%
}
% #1 - section ref name (one word in lower case).
@@ -36,58 +39,79 @@
\newcommand{\doxysection}[2]{%
\vspace{1cm}
\label{#1}
-\backslash endhtmlonly%
-\backslash section #1 #2%
-\backslash htmlonly %
+\backslash endhtmlonly
+%
+\backslash section #1 #2
+%
+\backslash htmlonly
+%
}
% #1 - subsection name (one word in lower case).
% #2 - subsection title.
\newcommand{\doxysubsection}[2]{%
\label{#1}
-\backslash endhtmlonly%
-\backslash subsection #1 #2%
-\backslash htmlonly %
+\backslash endhtmlonly
+%
+\backslash subsection #1 #2
+%
+\backslash htmlonly
+%
}
% #1 - subsubsection name (one word in lower case).
% #2 - subsubsection title.
\newcommand{\doxysubsubsection}[2]{%
\label{#1}
-\backslash endhtmlonly%
-\backslash subsubsection #1 #2%
-\backslash htmlonly %
+\backslash endhtmlonly
+%
+\backslash subsubsection #1 #2
+%
+\backslash htmlonly
+%
}
% #1 - part number (Optional).
% #2 - sample file name.
\newcommand{\doxycode}[2][1]{
-\backslash endhtmlonly%
-\backslash include #2-#1.cc.raw%
-\backslash htmlonly %
+\backslash endhtmlonly
+%
+\backslash include #2-#1.cc.raw
+%
+\backslash htmlonly
+%
}
% #1 - sample file name.
\newcommand{\doxyrawcode}[1]{
-\backslash endhtmlonly%
-\backslash include #1.cc.raw%
-\backslash htmlonly %
+\backslash endhtmlonly
+%
+\backslash include #1.cc.raw
+%
+\backslash htmlonly
+%
}
% #1 - output file name.
\newcommand{\doxyoutput}[1]{
-\backslash endhtmlonly%
-\backslash include #1.txt%
-\backslash htmlonly %
+\backslash endhtmlonly
+%
+\backslash include #1.txt
+%
+\backslash htmlonly
+%
}
% Include file '#1' from a split output.
% #1 - part number (Optional).
% #2 - sample file name.
\newcommand{\doxymoutput}[2][1]{
-\backslash endhtmlonly%
-\backslash include #2-#1.txt%
-\backslash htmlonly %
+\backslash endhtmlonly
+%
+\backslash include #2-#1.txt
+%
+\backslash htmlonly
+%
}
% Include an output image.
@@ -95,34 +119,46 @@
% #2 - related sample file name.
% #3 - Size of the picture (Latex ONLY)
\newcommand{\doxyfigure}[3][1]{
-\backslash endhtmlonly%
-\backslash image html #2-#1.png%
-\backslash htmlonly %
+\backslash endhtmlonly
+%
+\backslash image html #2-#1.png
+%
+\backslash htmlonly
+%
}
% Include an image from located in one of the path specified in IMAGE_PATH.
% #1 - image name.
% #2 - Size of the picture (Latex ONLY)
\newcommand{\doxyimg}[2]{
-\backslash endhtmlonly%
-\backslash image html #1.png%
-\backslash htmlonly %
+\backslash endhtmlonly
+%
+\backslash image html #1.png
+%
+\backslash htmlonly
+%
}
% Refer to a chapter, section...
% #1 - the reference name.
\newcommand{\doxyref}[1]{
-\backslash endhtmlonly%
-\backslash ref #1%
-\backslash htmlonly %
+\backslash endhtmlonly
+%
+\backslash ref #1
+%
+\backslash htmlonly
+%
}
% Refers to classes, functions, methods, variables files or URL.
% #1 - the reference name.
\newcommand{\doxysee}[1]{
-\backslash endhtmlonly%
-\backslash see #1%
-\backslash htmlonly %
+\backslash endhtmlonly
+%
+\backslash see #1
+%
+\backslash htmlonly
+%
}
\newcommand{\tutotoc}[2]{%
diff --git a/scribo/doc/DoxygenLayout.xml b/scribo/doc/DoxygenLayout.xml
index ac34f54..e9d1901 100644
--- a/scribo/doc/DoxygenLayout.xml
+++ b/scribo/doc/DoxygenLayout.xml
@@ -2,24 +2,24 @@
<!-- Navigation index tabs for HTML output -->
<navindex>
<tab type="mainpage" visible="yes" title="Scribo"/>
- <tab type="pages" visible="yes" title=""/>
- <tab type="modules" visible="yes" title=""/>
+ <tab type="pages" visible="yes" title="" intro=""/>
+ <tab type="modules" visible="yes" title="" intro=""/>
<tab type="namespaces" visible="yes" title="">
- <tab type="namespaces" visible="yes" title=""/>
- <tab type="namespacemembers" visible="yes" title=""/>
+ <tab type="namespacelist" visible="yes" title="" intro=""/>
+ <tab type="namespacemembers" visible="yes" title="" intro=""/>
</tab>
<tab type="classes" visible="yes" title="">
- <tab type="classes" visible="yes" title=""/>
+ <tab type="classlist" visible="yes" title="" intro=""/>
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
- <tab type="hierarchy" visible="yes" title=""/>
- <tab type="classmembers" visible="yes" title=""/>
+ <tab type="hierarchy" visible="yes" title="" intro=""/>
+ <tab type="classmembers" visible="yes" title="" intro=""/>
</tab>
<tab type="files" visible="yes" title="">
- <tab type="files" visible="yes" title=""/>
- <tab type="globals" visible="yes" title=""/>
+ <tab type="filelist" visible="yes" title="" intro=""/>
+ <tab type="globals" visible="yes" title="" intro=""/>
</tab>
- <tab type="dirs" visible="yes" title=""/>
- <tab type="examples" visible="yes" title=""/>
+ <tab type="dirs" visible="yes" title="" intro=""/>
+ <tab type="examples" visible="yes" title="" intro=""/>
</navindex>
<!-- Layout definition for a class page -->
@@ -63,6 +63,7 @@
</memberdecl>
<detaileddescription title=""/>
<memberdef>
+ <inlineclasses title=""/>
<typedefs title=""/>
<enums title=""/>
<constructors title=""/>
@@ -90,6 +91,7 @@
</memberdecl>
<detaileddescription title=""/>
<memberdef>
+ <inlineclasses title=""/>
<typedefs title=""/>
<enums title=""/>
<functions title=""/>
@@ -117,6 +119,7 @@
</memberdecl>
<detaileddescription title=""/>
<memberdef>
+ <inlineclasses title=""/>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>
@@ -131,11 +134,11 @@
<briefdescription visible="yes"/>
<groupgraph visible="$GROUP_GRAPHS"/>
<memberdecl>
- <classes visible="yes" title=""/>
- <namespaces visible="yes" title=""/>
- <dirs visible="yes" title=""/>
<nestedgroups visible="yes" title=""/>
+ <dirs visible="yes" title=""/>
<files visible="yes" title=""/>
+ <namespaces visible="yes" title=""/>
+ <classes visible="yes" title=""/>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>
@@ -154,6 +157,7 @@
<detaileddescription title=""/>
<memberdef>
<pagedocs/>
+ <inlineclasses title=""/>
<defines title=""/>
<typedefs title=""/>
<enums title=""/>
diff --git a/scribo/doc/Makefile.am b/scribo/doc/Makefile.am
index db72cdd..9cbe355 100644
--- a/scribo/doc/Makefile.am
+++ b/scribo/doc/Makefile.am
@@ -98,8 +98,8 @@ $(srcdir)/user-refman.stamp: $(srcdir)/$(DOXYFILE).in $(REFMAN_deps)
test -f $(USER_REFMAN).tmp/latex/refman.tex
rm -rf $(srcdir)/$(USER_REFMAN)
## Fix path to the main page of the documentation.
- sed -i -e "s,\@relcommondocpath\@,../../../user-refman/html/,g" \
- $(USER_REFMAN).tmp/html/index.html
+ sed -i -e "s,\@relcommondocpath\@,$(DESTDIR)$(htmldir)/$(USER_REFMAN)/html/,g" \
+ `find $(USER_REFMAN).tmp -name '*.html'`
## FIXME: Moving directories between file systems is not portable.
mv $(USER_REFMAN).tmp $(srcdir)/$(USER_REFMAN)
@mv -f $@.tmp $@
@@ -180,7 +180,7 @@ $(srcdir)/devel-refman.stamp: $(srcdir)/$(DOXYFILE).in $(REFMAN_deps)
test -f $(DEVEL_REFMAN).tmp/latex/refman.tex
rm -rf $(srcdir)/$(DEVEL_REFMAN)
## Fix path to the main page of the documentation.
- sed -i -e "s,\@relcommondocpath\@,../,g" \
+ sed -i -e "s,\@relcommondocpath\@,$(DESTDIR)$(htmldir)/$(DEVEL_REFMAN)/html/,g" \
$(DEVEL_REFMAN).tmp/html/index.html
## FIXME: Moving directories between file systems is not portable.
mv $(DEVEL_REFMAN).tmp $(srcdir)/$(DEVEL_REFMAN)
--
1.7.2.5
1
0