Olena-patches
Threads by month
- ----- 2025 -----
- November
- October
- September
- 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
- 9625 discussions
* mln/core/box_runend_piter.hh: New iterator.
* tests/core/other/Makefile.am,
* tests/core/other/box_runend_piter.cc: New test.
---
milena/ChangeLog | 9 ++
milena/mln/core/box_runend_piter.hh | 178 +++++++++++++++++++++++++++
milena/tests/core/other/Makefile.am | 2 +
milena/tests/core/other/box_runend_piter.cc | 41 ++++++
4 files changed, 230 insertions(+), 0 deletions(-)
create mode 100644 milena/mln/core/box_runend_piter.hh
create mode 100644 milena/tests/core/other/box_runend_piter.cc
diff --git a/milena/ChangeLog b/milena/ChangeLog
index cdfda50..f835a42 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -1,3 +1,12 @@
+2009-11-09 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Add box_runend_piter.
+
+ * mln/core/box_runend_piter.hh: New iterator.
+
+ * tests/core/other/Makefile.am,
+ * tests/core/other/box_runend_piter.cc: New test.
+
2009-11-03 Guillaume Lazzara <z(a)lrde.epita.fr>
* mln/value/label_32.hh: New.
diff --git a/milena/mln/core/box_runend_piter.hh b/milena/mln/core/box_runend_piter.hh
new file mode 100644
index 0000000..a0b1d32
--- /dev/null
+++ b/milena/mln/core/box_runend_piter.hh
@@ -0,0 +1,178 @@
+// Copyright (C) 2009 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/>.
+//
+// As a special exception, you may use this file as part of a free
+// software project without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to produce
+// an executable, this file does not by itself cause the resulting
+// executable to be covered by the GNU General Public License. This
+// exception does not however invalidate any other reasons why the
+// executable file might be covered by the GNU General Public License.
+
+#ifndef MLN_CORE_BOX_RUNEND_PITER_HH
+# define MLN_CORE_BOX_RUNEND_PITER_HH
+
+/// \file
+///
+/// Definition of iterators on points by lines.
+
+# include <mln/core/internal/site_iterator_base.hh>
+# include <mln/core/site_set/box.hh>
+
+
+#define mln_box_runend_piter(I) typename mln::box_runend_piter<mln_psite(I)>
+#define mln_box_runend_piter_(I) mln::box_runend_piter<mln_psite(I)>
+
+
+namespace mln
+{
+
+ /*! \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>,
+ box_runend_piter<P> >
+ {
+ typedef box_runend_piter<P> self_;
+ typedef internal::site_set_iterator_base< box<P>, self_ > super_;
+ public:
+
+ // Make definitions from super class available.
+ enum { dim = super_::dim };
+
+ /*! \brief Constructor.
+ *
+ * \param[in] b A box.
+ */
+ box_runend_piter(const box<P>& b);
+
+ /// Delayed initialization.
+ void init_(const box<P>& b);
+
+ box_runend_piter();
+
+ /// 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_();
+
+ /// Give the lenght of the run
+ unsigned run_length() const;
+
+ private:
+ using super_::p_;
+ using super_::s_;
+ };
+
+
+# ifndef MLN_INCLUDE_ONLY
+
+
+ // box_runend_piter<P>
+
+ template <typename P>
+ inline
+ box_runend_piter<P>::box_runend_piter()
+ {
+ }
+
+ template <typename P>
+ inline
+ box_runend_piter<P>::box_runend_piter(const box<P>& b)
+ {
+ init_(b);
+ }
+
+ template <typename P>
+ inline
+ void
+ box_runend_piter<P>::init_(const box<P>& b)
+ {
+ this->change_target(b);
+ }
+
+
+ template <typename P>
+ inline
+ bool
+ box_runend_piter<P>::is_valid_() const
+ {
+ return p_[0] != static_cast<mln_coord(P)>(s_->pmin()[0] - 1);
+ }
+
+ template <typename P>
+ inline
+ void
+ box_runend_piter<P>::invalidate_()
+ {
+ p_[0] = static_cast<mln_coord(P)>(s_->pmin()[0] - 1);
+ }
+
+ template <typename P>
+ inline
+ void
+ box_runend_piter<P>::start_()
+ {
+ p_ = s_->pmax();
+ }
+
+ template <typename P>
+ inline
+ void
+ box_runend_piter<P>::next_()
+ {
+ // Do we want this run for image in 3d?
+ for (int c = dim - 2; c >= 0; --c)
+ {
+ if (p_[c] != s_->pmin()[c])
+ {
+ --p_[c];
+ break;
+ }
+ else
+ p_[c] = s_->pmax()[c];
+ }
+
+ if (p_ == s_->pmax())
+ invalidate_();
+ }
+
+ template <typename P>
+ inline
+ unsigned
+ box_runend_piter<P>::run_length() const
+ {
+ return s_->len(dim - 1);
+ }
+
+
+# endif // ! MLN_INCLUDE_ONLY
+
+} // end of namespace mln
+
+
+#endif // ! MLN_CORE_BOX_RUNEND_PITER_HH
diff --git a/milena/tests/core/other/Makefile.am b/milena/tests/core/other/Makefile.am
index b86e4e3..9443837 100644
--- a/milena/tests/core/other/Makefile.am
+++ b/milena/tests/core/other/Makefile.am
@@ -21,6 +21,7 @@ include $(top_srcdir)/milena/tests/tests.mk
check_PROGRAMS = \
box_runstart_piter \
+ box_runend_piter \
category \
dpoints_pixter \
graph_elt_neighborhood \
@@ -40,6 +41,7 @@ check_PROGRAMS = \
w_window
box_runstart_piter_SOURCES = box_runstart_piter.cc
+box_runend_piter_SOURCES = box_runend_piter.cc
category_SOURCES = category.cc
dpoints_pixter_SOURCES = dpoints_pixter.cc
graph_elt_neighborhood_SOURCES = graph_elt_neighborhood.cc
diff --git a/milena/tests/core/other/box_runend_piter.cc b/milena/tests/core/other/box_runend_piter.cc
new file mode 100644
index 0000000..fe7cb43
--- /dev/null
+++ b/milena/tests/core/other/box_runend_piter.cc
@@ -0,0 +1,41 @@
+// Copyright (C) 2009 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/>.
+//
+// As a special exception, you may use this file as part of a free
+// software project without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to produce
+// an executable, this file does not by itself cause the resulting
+// executable to be covered by the GNU General Public License. This
+// exception does not however invalidate any other reasons why the
+// executable file might be covered by the GNU General Public License.
+
+#include <mln/core/alias/box2d.hh>
+#include <mln/core/box_runend_piter.hh>
+
+
+int main()
+{
+ using namespace mln;
+
+ box2d b(3,3);
+ box_runend_piter<point2d> p(b);
+ unsigned i = 2;
+ for_all(p)
+ mln_assertion(p == point2d(i, 2));
+
+ mln_assertion(p.run_length() == 3);
+}
--
1.5.6.5
1
0
---
milena/ChangeLog | 90 +++++++++++++++++++++++-----------------------
milena/sandbox/ChangeLog | 20 +++++-----
2 files changed, 55 insertions(+), 55 deletions(-)
diff --git a/milena/ChangeLog b/milena/ChangeLog
index f8e112a..cdfda50 100644
--- a/milena/ChangeLog
+++ b/milena/ChangeLog
@@ -2,36 +2,6 @@
* mln/value/label_32.hh: New.
-2009-10-02 Roland Levillain <roland(a)lrde.epita.fr>
-
- Add ISMM 2009 input images and generate outputs.
-
- * apps/papers/levillain.09.ismm/Makefile.am (data_DATA):
- New variable.
- (lena-s.ppm, graph-s.png, graph-s.neato, m283-s.off):
- New targets.
- * apps/papers/levillain.09.ismm/seeds.pgm,
- * apps/papers/levillain.09.ismm/m283-c.off:
- New (imported).
-
-2009-10-02 Roland Levillain <roland(a)lrde.epita.fr>
-
- Import the code of the illustrations of the ISMM 2009 paper.
-
- * apps/papers/,
- * apps/papers/levillain.09.ismm/:
- New directories.
- * apps/papers/levillain.09.ismm/chain.hh,
- * apps/papers/levillain.09.ismm/complex.cc,
- * apps/papers/levillain.09.ismm/graph.cc,
- * apps/papers/levillain.09.ismm/image2d.cc:
- New (imported from ISMM 2009).
- Adjust.
- * apps/Makefile.am (SUBDIRS): Add papers.
- * apps/papers/Makefile.am,
- * apps/papers/levillain.09.ismm/Makefile.am:
- New.
-
2009-10-28 Guillaume Lazzara <z(a)lrde.epita.fr>
Small fixes.
@@ -57,6 +27,15 @@
* mln/data/all.hh: Include this new file.
+2009-10-26 Roland Levillain <roland(a)lrde.epita.fr>
+
+ Regen Makefile helpers.
+
+ * doc/examples/examples.mk,
+ * headers.mk,
+ * tests/unit_test/unit-tests.mk:
+ Regen.
+
2009-10-22 Guillaume Lazzara <z(a)lrde.epita.fr>
Small fixes.
@@ -72,15 +51,6 @@
* milena/mln/subsampling/subsampling.hh: Fix invalid min rows and
cols.
-2009-10-26 Roland Levillain <roland(a)lrde.epita.fr>
-
- Regen Makefile helpers.
-
- * doc/examples/examples.mk,
- * headers.mk,
- * tests/unit_test/unit-tests.mk:
- Regen.
-
2009-10-16 Edwin Carlinet <carlinet(a)lrde.epita.fr>
Add AVS field file support.
@@ -136,6 +106,36 @@
* mln/data/memcpy_.hh (mln::data::impl::memcpy_): Here.
+2009-10-02 Roland Levillain <roland(a)lrde.epita.fr>
+
+ Add ISMM 2009 input images and generate outputs.
+
+ * apps/papers/levillain.09.ismm/Makefile.am (data_DATA):
+ New variable.
+ (lena-s.ppm, graph-s.png, graph-s.neato, m283-s.off):
+ New targets.
+ * apps/papers/levillain.09.ismm/seeds.pgm,
+ * apps/papers/levillain.09.ismm/m283-c.off:
+ New (imported).
+
+2009-10-02 Roland Levillain <roland(a)lrde.epita.fr>
+
+ Import the code of the illustrations of the ISMM 2009 paper.
+
+ * apps/papers/,
+ * apps/papers/levillain.09.ismm/:
+ New directories.
+ * apps/papers/levillain.09.ismm/chain.hh,
+ * apps/papers/levillain.09.ismm/complex.cc,
+ * apps/papers/levillain.09.ismm/graph.cc,
+ * apps/papers/levillain.09.ismm/image2d.cc:
+ New (imported from ISMM 2009).
+ Adjust.
+ * apps/Makefile.am (SUBDIRS): Add papers.
+ * apps/papers/Makefile.am,
+ * apps/papers/levillain.09.ismm/Makefile.am:
+ New.
+
2009-10-02 Guillaume Lazzara <z(a)lrde.epita.fr>
Small fixes in documentation.
@@ -269,6 +269,12 @@
(mln::world::inter_pixel::dbl_neighb2d):
...this typedef.
+2009-09-30 Roland Levillain <roland(a)lrde.epita.fr>
+
+ Fix a precondition in apps/graph-morpho/io.hh.
+
+ * apps/graph-morpho/io.hh (println): Here.
+
2009-09-29 Roland Levillain <roland(a)lrde.epita.fr>
Use Milena's dilation/erosion in graph morpho on bin_1complex_image2d.
@@ -280,12 +286,6 @@
(impl::dilation_v2e(const mln::bin_1complex_image2d&)):
Here.
-2009-09-30 Roland Levillain <roland(a)lrde.epita.fr>
-
- Fix a precondition in apps/graph-morpho/io.hh.
-
- * apps/graph-morpho/io.hh (println): Here.
-
2009-09-29 Roland Levillain <roland(a)lrde.epita.fr>
Small improvements in mln::util::tracked_ptr.
diff --git a/milena/sandbox/ChangeLog b/milena/sandbox/ChangeLog
index cd27478..9323781 100644
--- a/milena/sandbox/ChangeLog
+++ b/milena/sandbox/ChangeLog
@@ -11,18 +11,18 @@
Fix compilation issues in IGR's code.
- * sandbox/fabien/igr/Makefile: Add target 'all' and do not use
+ * fabien/igr/Makefile: Add target 'all' and do not use
watershed.hh as dependency.
- * sandbox/fabien/igr/fun_labels.cc,
- * sandbox/fabien/igr/graph.cc,
- * sandbox/fabien/igr/mean_slices.cc,
- * sandbox/fabien/igr/nbasins_finder.cc,
- * sandbox/fabien/igr/seg2d.cc,
- * sandbox/fabien/igr/seg_vol_irm.hh,
- * sandbox/fabien/igr/watershed2d.cc,
- * sandbox/fabien/igr/watershed3d.cc,
- * sandbox/fabien/igr/wst_edges.cc: Fix compilations issues.
+ * fabien/igr/fun_labels.cc,
+ * fabien/igr/graph.cc,
+ * fabien/igr/mean_slices.cc,
+ * fabien/igr/nbasins_finder.cc,
+ * fabien/igr/seg2d.cc,
+ * fabien/igr/seg_vol_irm.hh,
+ * fabien/igr/watershed2d.cc,
+ * fabien/igr/watershed3d.cc,
+ * fabien/igr/wst_edges.cc: Fix compilations issues.
2009-10-28 Guillaume Lazzara <z(a)lrde.epita.fr>
--
1.5.6.5
2
1
* src/all_methods.erb.cc,
* src/all_methods.erb.hh,
* src/data.cc,
* src/data.hh,
* src/data.hxx,
* src/dyn.hh,
* src/function.erb.cc,
* src/function.erb.hh,
* src/function_loader.cc,
* src/function_loader.hh,
* src/name_of.hh,
* src/ruby_stream.cc,
* src/ruby_stream.hh,
* test/fixtures/my_lib/damien.hh,
* test/fixtures/my_lib/damien.hxx:
Here.
---
dynamic-use-of-static-c++/ChangeLog | 21 ++++++++++++++++++++
dynamic-use-of-static-c++/src/all_methods.erb.cc | 2 +-
dynamic-use-of-static-c++/src/all_methods.erb.hh | 2 +-
dynamic-use-of-static-c++/src/data.cc | 2 +-
dynamic-use-of-static-c++/src/data.hh | 2 +-
dynamic-use-of-static-c++/src/data.hxx | 2 +-
dynamic-use-of-static-c++/src/dyn.hh | 7 ++---
dynamic-use-of-static-c++/src/function.erb.cc | 6 ++--
dynamic-use-of-static-c++/src/function.erb.hh | 6 ++--
dynamic-use-of-static-c++/src/function_loader.cc | 2 +-
dynamic-use-of-static-c++/src/function_loader.hh | 2 +-
dynamic-use-of-static-c++/src/name_of.hh | 6 ++--
dynamic-use-of-static-c++/src/ruby_stream.cc | 6 ++--
dynamic-use-of-static-c++/src/ruby_stream.hh | 6 ++--
.../test/fixtures/my_lib/damien.hh | 9 +++----
.../test/fixtures/my_lib/damien.hxx | 11 ++++-----
16 files changed, 55 insertions(+), 37 deletions(-)
diff --git a/dynamic-use-of-static-c++/ChangeLog b/dynamic-use-of-static-c++/ChangeLog
index f7e7988..4c5bdb4 100644
--- a/dynamic-use-of-static-c++/ChangeLog
+++ b/dynamic-use-of-static-c++/ChangeLog
@@ -1,5 +1,26 @@
2009-11-03 Roland Levillain <roland(a)lrde.epita.fr>
+ Normalize header guards.
+
+ * src/all_methods.erb.cc,
+ * src/all_methods.erb.hh,
+ * src/data.cc,
+ * src/data.hh,
+ * src/data.hxx,
+ * src/dyn.hh,
+ * src/function.erb.cc,
+ * src/function.erb.hh,
+ * src/function_loader.cc,
+ * src/function_loader.hh,
+ * src/name_of.hh,
+ * src/ruby_stream.cc,
+ * src/ruby_stream.hh,
+ * test/fixtures/my_lib/damien.hh,
+ * test/fixtures/my_lib/damien.hxx:
+ Here.
+
+2009-11-03 Roland Levillain <roland(a)lrde.epita.fr>
+
Add missing header guards.
* libmd5/md5.hh,
diff --git a/dynamic-use-of-static-c++/src/all_methods.erb.cc b/dynamic-use-of-static-c++/src/all_methods.erb.cc
index 347ffc6..531d525 100644
--- a/dynamic-use-of-static-c++/src/all_methods.erb.cc
+++ b/dynamic-use-of-static-c++/src/all_methods.erb.cc
@@ -59,4 +59,4 @@ namespace dyn
}
-#endif // !DYN_ALL_METHODS_CC
+#endif // ! DYN_ALL_METHODS_CC
diff --git a/dynamic-use-of-static-c++/src/all_methods.erb.hh b/dynamic-use-of-static-c++/src/all_methods.erb.hh
index 948ccdd..a838d3b 100644
--- a/dynamic-use-of-static-c++/src/all_methods.erb.hh
+++ b/dynamic-use-of-static-c++/src/all_methods.erb.hh
@@ -59,4 +59,4 @@ namespace dyn
}
-#endif // !DYN_ALL_METHODS_HH
+#endif // ! DYN_ALL_METHODS_HH
diff --git a/dynamic-use-of-static-c++/src/data.cc b/dynamic-use-of-static-c++/src/data.cc
index 127dc87..2912e35 100644
--- a/dynamic-use-of-static-c++/src/data.cc
+++ b/dynamic-use-of-static-c++/src/data.cc
@@ -150,4 +150,4 @@ dyn::data operator+(const dyn::data& lhs, const dyn::data& rhs)
return dyn::internal::operator_plus(lhs, rhs);
}
-#endif
+#endif // ! DYN_DATA_CC
diff --git a/dynamic-use-of-static-c++/src/data.hh b/dynamic-use-of-static-c++/src/data.hh
index aa8c192..0725464 100644
--- a/dynamic-use-of-static-c++/src/data.hh
+++ b/dynamic-use-of-static-c++/src/data.hh
@@ -441,4 +441,4 @@ struct dyn_choose_data_proxy<T, (dyn::policy::type)(dyn::policy::is_ref + dyn::p
# include "data.hxx"
# endif
-#endif
+#endif // ! DYN_DATA_HH
diff --git a/dynamic-use-of-static-c++/src/data.hxx b/dynamic-use-of-static-c++/src/data.hxx
index 1ff7886..2990596 100644
--- a/dynamic-use-of-static-c++/src/data.hxx
+++ b/dynamic-use-of-static-c++/src/data.hxx
@@ -83,4 +83,4 @@ bool operator!=(const dyn::data& lhs, const dyn::data& rhs);
bool operator==(const dyn::data& lhs, const dyn::data& rhs);
dyn::data operator+(const dyn::data& lhs, const dyn::data& rhs);
-#endif
+#endif // ! DYN_DATA_HXX
diff --git a/dynamic-use-of-static-c++/src/dyn.hh b/dynamic-use-of-static-c++/src/dyn.hh
index d12a790..1e7cbf8 100644
--- a/dynamic-use-of-static-c++/src/dyn.hh
+++ b/dynamic-use-of-static-c++/src/dyn.hh
@@ -23,8 +23,8 @@
exception does not however invalidate any other reasons why the
executable file might be covered by the GNU General Public License. */
-#ifndef DYN_HH
-# define DYN_HH
+#ifndef DYN_DYN_HH
+# define DYN_DYN_HH
# include "config.hh"
@@ -83,5 +83,4 @@ namespace dyn
# include "function_loader.hh"
-#endif
-
+#endif // ! DYN_DYN_HH
diff --git a/dynamic-use-of-static-c++/src/function.erb.cc b/dynamic-use-of-static-c++/src/function.erb.cc
index b83fd7b..93c50b5 100644
--- a/dynamic-use-of-static-c++/src/function.erb.cc
+++ b/dynamic-use-of-static-c++/src/function.erb.cc
@@ -23,8 +23,8 @@
exception does not however invalidate any other reasons why the
executable file might be covered by the GNU General Public License. */
-#ifndef FUNCTION_HXX
-#define FUNCTION_HXX
+#ifndef DYN_FUNCTION_CC
+# define DYN_FUNCTION_CC
# include <cassert>
# include <string>
@@ -69,4 +69,4 @@ namespace dyn
} // end of namespace dyn
-#endif
+#endif // ! DYN_FUNCTION_CC
diff --git a/dynamic-use-of-static-c++/src/function.erb.hh b/dynamic-use-of-static-c++/src/function.erb.hh
index b814938..c796640 100644
--- a/dynamic-use-of-static-c++/src/function.erb.hh
+++ b/dynamic-use-of-static-c++/src/function.erb.hh
@@ -23,8 +23,8 @@
exception does not however invalidate any other reasons why the
executable file might be covered by the GNU General Public License. */
-#ifndef FUNCTION_HH
-#define FUNCTION_HH
+#ifndef DYN_FUNCTION_HH
+# define DYN_FUNCTION_HH
# include <cassert>
# include <string>
@@ -85,4 +85,4 @@ namespace dyn
} // end of namespace dyn
-#endif
+#endif // ! DYN_FUNCTION_HH
diff --git a/dynamic-use-of-static-c++/src/function_loader.cc b/dynamic-use-of-static-c++/src/function_loader.cc
index 0b300be..9dbc138 100644
--- a/dynamic-use-of-static-c++/src/function_loader.cc
+++ b/dynamic-use-of-static-c++/src/function_loader.cc
@@ -587,4 +587,4 @@ namespace dyn {
} // end of namespace dyn
-#endif
+#endif // ! DYN_FUNCTION_LOADER_CC
diff --git a/dynamic-use-of-static-c++/src/function_loader.hh b/dynamic-use-of-static-c++/src/function_loader.hh
index 27edb37..b57d9b5 100644
--- a/dynamic-use-of-static-c++/src/function_loader.hh
+++ b/dynamic-use-of-static-c++/src/function_loader.hh
@@ -51,4 +51,4 @@ namespace dyn {
} // end of namespace dyn
-#endif
+#endif // ! DYN_FUNCTION_LOADER_HH
diff --git a/dynamic-use-of-static-c++/src/name_of.hh b/dynamic-use-of-static-c++/src/name_of.hh
index dca878b..ad688ff 100644
--- a/dynamic-use-of-static-c++/src/name_of.hh
+++ b/dynamic-use-of-static-c++/src/name_of.hh
@@ -23,8 +23,8 @@
exception does not however invalidate any other reasons why the
executable file might be covered by the GNU General Public License. */
-#ifndef NAME_OF
-# define NAME_OF
+#ifndef DYN_NAME_OF_HH
+# define DYN_NAME_OF_HH
# include <typeinfo>
@@ -207,4 +207,4 @@ mlc_set_name(std::ostringstream);
# endif
-#endif
+#endif // ! DYN_NAME_OF_HH
diff --git a/dynamic-use-of-static-c++/src/ruby_stream.cc b/dynamic-use-of-static-c++/src/ruby_stream.cc
index 04a9d16..e7f8abe 100644
--- a/dynamic-use-of-static-c++/src/ruby_stream.cc
+++ b/dynamic-use-of-static-c++/src/ruby_stream.cc
@@ -23,8 +23,8 @@
exception does not however invalidate any other reasons why the
executable file might be covered by the GNU General Public License. */
-#ifndef RUBY_STREAM_CC
-# define RUBY_STREAM_CC
+#ifndef DYN_RUBY_STREAM_CC
+# define DYN_RUBY_STREAM_CC
# include "ruby_stream.hh"
@@ -33,4 +33,4 @@ namespace ruby
eval_type eval;
}
-#endif
+#endif // ! DYN_RUBY_STREAM_CC
diff --git a/dynamic-use-of-static-c++/src/ruby_stream.hh b/dynamic-use-of-static-c++/src/ruby_stream.hh
index 12c9455..f327d20 100644
--- a/dynamic-use-of-static-c++/src/ruby_stream.hh
+++ b/dynamic-use-of-static-c++/src/ruby_stream.hh
@@ -23,8 +23,8 @@
exception does not however invalidate any other reasons why the
executable file might be covered by the GNU General Public License. */
-#ifndef RUBY_STREAM_HH
-#define RUBY_STREAM_HH
+#ifndef DYN_RUBY_STREAM_HH
+# define DYN_RUBY_STREAM_HH
// #define DEBUG_RUBY_STREAM
@@ -122,4 +122,4 @@ ruby::stream& operator<< (ruby::stream& stream, const T& obj)
return stream;
}
-#endif
+#endif // ! DYN_RUBY_STREAM_HH
diff --git a/dynamic-use-of-static-c++/test/fixtures/my_lib/damien.hh b/dynamic-use-of-static-c++/test/fixtures/my_lib/damien.hh
index 63dc041..c2222a8 100644
--- a/dynamic-use-of-static-c++/test/fixtures/my_lib/damien.hh
+++ b/dynamic-use-of-static-c++/test/fixtures/my_lib/damien.hh
@@ -23,10 +23,10 @@
exception does not however invalidate any other reasons why the
executable file might be covered by the GNU General Public License. */
-#ifndef DAMIEN_HH
-#define DAMIEN_HH
+#ifndef MY_LIB_DAMIEN_HH
+# define MY_LIB_DAMIEN_HH
-#include <iostream>
+# include <iostream>
struct up
{
@@ -82,5 +82,4 @@ void print(const T&);
template <typename T>
T sqr(const T&);
-#endif
-
+#endif // ! MY_LIB_DAMIEN_HH
diff --git a/dynamic-use-of-static-c++/test/fixtures/my_lib/damien.hxx b/dynamic-use-of-static-c++/test/fixtures/my_lib/damien.hxx
index 0202a44..8269ac3 100644
--- a/dynamic-use-of-static-c++/test/fixtures/my_lib/damien.hxx
+++ b/dynamic-use-of-static-c++/test/fixtures/my_lib/damien.hxx
@@ -23,11 +23,11 @@
exception does not however invalidate any other reasons why the
executable file might be covered by the GNU General Public License. */
-#ifndef DAMIEN_HXX
-#define DAMIEN_HXX
+#ifndef MY_LIB_DAMIEN_HXX
+# define MY_LIB_DAMIEN_HXX
-#include <iostream>
-#include "damien.hh"
+# include <iostream>
+# include "damien.hh"
template <typename T>
const T* down<T>::get_t() const { return &t_; }
@@ -78,5 +78,4 @@ T sqr(const T& a)
}
-#endif
-
+#endif // ! MY_LIB_DAMIEN_HXX
--
1.6.5
1
0
* libmd5/md5.hh,
* src/config.hh.in,
* test/fixtures/my_lib/lib.hh:
Here.
---
dynamic-use-of-static-c++/ChangeLog | 9 +++++++++
dynamic-use-of-static-c++/libmd5/md5.hh | 5 +++++
dynamic-use-of-static-c++/src/config.hh.in | 13 +++++++++----
.../test/fixtures/my_lib/lib.hh | 17 +++++++++++------
4 files changed, 34 insertions(+), 10 deletions(-)
diff --git a/dynamic-use-of-static-c++/ChangeLog b/dynamic-use-of-static-c++/ChangeLog
index 410c942..f7e7988 100644
--- a/dynamic-use-of-static-c++/ChangeLog
+++ b/dynamic-use-of-static-c++/ChangeLog
@@ -1,5 +1,14 @@
2009-11-03 Roland Levillain <roland(a)lrde.epita.fr>
+ Add missing header guards.
+
+ * libmd5/md5.hh,
+ * src/config.hh.in,
+ * test/fixtures/my_lib/lib.hh:
+ Here.
+
+2009-11-03 Roland Levillain <roland(a)lrde.epita.fr>
+
* README: Update.
2009-11-03 Roland Levillain <roland(a)lrde.epita.fr>
diff --git a/dynamic-use-of-static-c++/libmd5/md5.hh b/dynamic-use-of-static-c++/libmd5/md5.hh
index 5c72059..d348342 100644
--- a/dynamic-use-of-static-c++/libmd5/md5.hh
+++ b/dynamic-use-of-static-c++/libmd5/md5.hh
@@ -39,6 +39,9 @@ documentation and/or software.
*/
+#ifndef MD5_HH
+# define MD5_HH
+
#include <cstdio>
#include <fstream>
#include <iostream>
@@ -107,3 +110,5 @@ private:
uint4 s, uint4 ac);
};
+
+#endif // ! MD5_HH
diff --git a/dynamic-use-of-static-c++/src/config.hh.in b/dynamic-use-of-static-c++/src/config.hh.in
index 0ce13fc..1939af5 100644
--- a/dynamic-use-of-static-c++/src/config.hh.in
+++ b/dynamic-use-of-static-c++/src/config.hh.in
@@ -25,7 +25,12 @@
exception does not however invalidate any other reasons why the
executable file might be covered by the GNU General Public License. */
-#define DYNDIR "@DYNDIR@"
-#define DYN_DATADIR "@DYN_DATADIR@"
-#define DYN_FIXTURES "@DYN_FIXTURES@"
-#define MILENA_DIR "@MILENA_DIR@"
+#ifndef DYN_CONFIG_HH
+# define DYN_CONFIG_HH
+
+# define DYNDIR "@DYNDIR@"
+# define DYN_DATADIR "@DYN_DATADIR@"
+# define DYN_FIXTURES "@DYN_FIXTURES@"
+# define MILENA_DIR "@MILENA_DIR@"
+
+#endif // ! DYN_CONFIG_HH
diff --git a/dynamic-use-of-static-c++/test/fixtures/my_lib/lib.hh b/dynamic-use-of-static-c++/test/fixtures/my_lib/lib.hh
index a03fc22..e3a42c7 100644
--- a/dynamic-use-of-static-c++/test/fixtures/my_lib/lib.hh
+++ b/dynamic-use-of-static-c++/test/fixtures/my_lib/lib.hh
@@ -25,10 +25,13 @@
// part of generic lib
-#include <cmath>
-#include <iostream>
-#include <sstream> // Warning does not work without me
-#include <vector>
+#ifndef MY_LIB_LIB_HH
+# define MY_LIB_LIB_HH
+
+# include <cmath>
+# include <iostream>
+# include <sstream> // Warning does not work without me
+# include <vector>
template <class T>
struct u
@@ -126,8 +129,10 @@ namespace my_lib
std::ostream& ostr_;
};
-#define stl_each(c, i) for (i = c.begin(); i != c.end(); ++i)
+# define stl_each(c, i) for (i = c.begin(); i != c.end(); ++i)
-#define echo(i) std::cout << i << std::endl
+# define echo(i) std::cout << i << std::endl
} // end of my_lib
+
+#endif // ! MY_LIB_LIB_HH
--
1.6.5
1
0
---
dynamic-use-of-static-c++/ChangeLog | 4 ++++
dynamic-use-of-static-c++/README | 32 ++++++++++++++++++++------------
2 files changed, 24 insertions(+), 12 deletions(-)
diff --git a/dynamic-use-of-static-c++/ChangeLog b/dynamic-use-of-static-c++/ChangeLog
index 3654b03..410c942 100644
--- a/dynamic-use-of-static-c++/ChangeLog
+++ b/dynamic-use-of-static-c++/ChangeLog
@@ -1,5 +1,9 @@
2009-11-03 Roland Levillain <roland(a)lrde.epita.fr>
+ * README: Update.
+
+2009-11-03 Roland Levillain <roland(a)lrde.epita.fr>
+
Aesthetic changes w.r.t. white space and comments.
* bin/dyn-config.in,
diff --git a/dynamic-use-of-static-c++/README b/dynamic-use-of-static-c++/README
index 112dac3..9fb6982 100644
--- a/dynamic-use-of-static-c++/README
+++ b/dynamic-use-of-static-c++/README
@@ -1,23 +1,31 @@
HOW TO USE THIS PROJECT
+ Note: These instructions have been updated since this project has
+ been re-integrated into the Olena repository (October 2009).
+ However, they will probably evolve again, since the project should
+ eventually become a part of the Olena distribution. The biggest
+ change will probably be to run things from the parent directory
+ (Olena's) and enable a configure flag to activate this module.
+
From the repository:
- # Initialize the build system
+ # Initialize the build system.
./bootstrap
- # Make a build dir
+ # Make a build dir.
mkdir _build && cd _build
- # Configure the build for your system
- # The config.site try to use more efficient tools (g++-4.0 and ccache)
- # it also enable the configure caching.
- # With --prefix you can set the destination (here _install)
+ # Configure the build for your system.
+ ../configure
+
+ # You can also use the file `config.site' shipped with the
+ # distribution, though it is a bit old. `config.site' tries to use
+ # more efficient tools (g++-4.0 and ccache). It also enables
+ # configure's caching mechanism. With `--prefix' you can set the
+ # destination (here, `../_install').
CONFIG_SITE=`pwd`/../config.site ../configure --prefix=`pwd`/../_install
- # For now need to add the bin directory to your path because dyn-config is
- # by programs compiled with our system
+ # You may want to add the `bin/' directory to your path, but it is
+ # no longer mandatory (`dyn-config' from `bin/' used to be required
+ # by programs compiled with our system).
export PATH=$PATH:`pwd`/bin
-
- make check # The test with a latest prototype of olena will fail if you
- # don't checkout it:
- # cd test/olena && svn co https://svn.lrde.epita.fr/svn/oln/prototypes/proto-stl-style
--
1.6.5
1
0
03 Nov '09
* bin/dyn-config.in,
* bin/mk_swig_input,
* bin/swig_tree_to_yaml,
* bin/yaml_to_dyn_decls,
* config/erbx,
* data/function.cc,
* src/wrappers/milena.cc,
* src/wrappers/milena.hh,
* swig/dyn.i,
* swig/mln.i,
* swig/run.in,
* test/test_methods.cc,
* test/wrappers/test-milena.cc:
Here.
---
dynamic-use-of-static-c++/ChangeLog | 19 +++++++
dynamic-use-of-static-c++/bin/dyn-config.in | 2 +-
dynamic-use-of-static-c++/bin/mk_swig_input | 2 +-
dynamic-use-of-static-c++/bin/swig_tree_to_yaml | 2 +-
dynamic-use-of-static-c++/bin/yaml_to_dyn_decls | 2 +-
dynamic-use-of-static-c++/config/erbx | 2 +-
dynamic-use-of-static-c++/data/function.cc | 1 +
dynamic-use-of-static-c++/src/wrappers/milena.cc | 48 +++++++++---------
dynamic-use-of-static-c++/src/wrappers/milena.hh | 48 +++++++++---------
dynamic-use-of-static-c++/swig/dyn.i | 51 ++++++++++----------
dynamic-use-of-static-c++/swig/mln.i | 51 ++++++++++----------
dynamic-use-of-static-c++/swig/run.in | 2 +-
dynamic-use-of-static-c++/test/test_methods.cc | 4 +-
.../test/wrappers/test-milena.cc | 48 +++++++++---------
14 files changed, 153 insertions(+), 129 deletions(-)
diff --git a/dynamic-use-of-static-c++/ChangeLog b/dynamic-use-of-static-c++/ChangeLog
index a510774..3654b03 100644
--- a/dynamic-use-of-static-c++/ChangeLog
+++ b/dynamic-use-of-static-c++/ChangeLog
@@ -1,5 +1,24 @@
2009-11-03 Roland Levillain <roland(a)lrde.epita.fr>
+ Aesthetic changes w.r.t. white space and comments.
+
+ * bin/dyn-config.in,
+ * bin/mk_swig_input,
+ * bin/swig_tree_to_yaml,
+ * bin/yaml_to_dyn_decls,
+ * config/erbx,
+ * data/function.cc,
+ * src/wrappers/milena.cc,
+ * src/wrappers/milena.hh,
+ * swig/dyn.i,
+ * swig/mln.i,
+ * swig/run.in,
+ * test/test_methods.cc,
+ * test/wrappers/test-milena.cc:
+ Here.
+
+2009-11-03 Roland Levillain <roland(a)lrde.epita.fr>
+
Add missing copyright headers.
* bin/dyn-config.in,
diff --git a/dynamic-use-of-static-c++/bin/dyn-config.in b/dynamic-use-of-static-c++/bin/dyn-config.in
index 6ff4d94..84b7b0e 100755
--- a/dynamic-use-of-static-c++/bin/dyn-config.in
+++ b/dynamic-use-of-static-c++/bin/dyn-config.in
@@ -1,4 +1,4 @@
-#!/usr/bin/env ruby
+#! /usr/bin/env ruby
# Copyright (C) 2005 EPITA Research and Development Laboratory (LRDE).
#
diff --git a/dynamic-use-of-static-c++/bin/mk_swig_input b/dynamic-use-of-static-c++/bin/mk_swig_input
index 022cb26..b29cecd 100755
--- a/dynamic-use-of-static-c++/bin/mk_swig_input
+++ b/dynamic-use-of-static-c++/bin/mk_swig_input
@@ -1,4 +1,4 @@
-#!/usr/bin/env ruby
+#! /usr/bin/env ruby
# Copyright (C) 2005 EPITA Research and Development Laboratory (LRDE).
#
diff --git a/dynamic-use-of-static-c++/bin/swig_tree_to_yaml b/dynamic-use-of-static-c++/bin/swig_tree_to_yaml
index 696d96c..144b555 100755
--- a/dynamic-use-of-static-c++/bin/swig_tree_to_yaml
+++ b/dynamic-use-of-static-c++/bin/swig_tree_to_yaml
@@ -1,4 +1,4 @@
-#!/usr/bin/env ruby
+#! /usr/bin/env ruby
# Copyright (C) 2005 EPITA Research and Development Laboratory (LRDE).
#
diff --git a/dynamic-use-of-static-c++/bin/yaml_to_dyn_decls b/dynamic-use-of-static-c++/bin/yaml_to_dyn_decls
index e7a6fc9..52ad7aa 100755
--- a/dynamic-use-of-static-c++/bin/yaml_to_dyn_decls
+++ b/dynamic-use-of-static-c++/bin/yaml_to_dyn_decls
@@ -1,4 +1,4 @@
-#!/usr/bin/env ruby
+#! /usr/bin/env ruby
# Copyright (C) 2005 EPITA Research and Development Laboratory (LRDE).
#
diff --git a/dynamic-use-of-static-c++/config/erbx b/dynamic-use-of-static-c++/config/erbx
index 383a883..1cb423f 100755
--- a/dynamic-use-of-static-c++/config/erbx
+++ b/dynamic-use-of-static-c++/config/erbx
@@ -1,4 +1,4 @@
-#!/usr/bin/env ruby
+#! /usr/bin/env ruby
# Copyright (C) 2005 EPITA Research and Development Laboratory (LRDE).
#
diff --git a/dynamic-use-of-static-c++/data/function.cc b/dynamic-use-of-static-c++/data/function.cc
index e42cbed..7c5a043 100644
--- a/dynamic-use-of-static-c++/data/function.cc
+++ b/dynamic-use-of-static-c++/data/function.cc
@@ -1,4 +1,5 @@
#include "dyn-light.hh"
+
int foo()
{
return 42;
diff --git a/dynamic-use-of-static-c++/src/wrappers/milena.cc b/dynamic-use-of-static-c++/src/wrappers/milena.cc
index 9baf0e7..5f9bc95 100644
--- a/dynamic-use-of-static-c++/src/wrappers/milena.cc
+++ b/dynamic-use-of-static-c++/src/wrappers/milena.cc
@@ -1,27 +1,27 @@
-// Copyright (C) 2009 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/>.
-//
-// As a special exception, you may use this file as part of a free
-// software project without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to produce
-// an executable, this file does not by itself cause the resulting
-// executable to be covered by the GNU General Public License. This
-// exception does not however invalidate any other reasons why the
-// executable file might be covered by the GNU General Public License.
+/* Copyright (C) 2009 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
#include <wrappers/milena.hh>
diff --git a/dynamic-use-of-static-c++/src/wrappers/milena.hh b/dynamic-use-of-static-c++/src/wrappers/milena.hh
index ed4b702..87e8253 100644
--- a/dynamic-use-of-static-c++/src/wrappers/milena.hh
+++ b/dynamic-use-of-static-c++/src/wrappers/milena.hh
@@ -1,27 +1,27 @@
-// Copyright (C) 2009 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/>.
-//
-// As a special exception, you may use this file as part of a free
-// software project without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to produce
-// an executable, this file does not by itself cause the resulting
-// executable to be covered by the GNU General Public License. This
-// exception does not however invalidate any other reasons why the
-// executable file might be covered by the GNU General Public License.
+/* Copyright (C) 2009 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
#ifndef DYN_WRAPPERS_MILENA_HH
# define DYN_WRAPPERS_MILENA_HH
diff --git a/dynamic-use-of-static-c++/swig/dyn.i b/dynamic-use-of-static-c++/swig/dyn.i
index 390d2e1..16884ce 100644
--- a/dynamic-use-of-static-c++/swig/dyn.i
+++ b/dynamic-use-of-static-c++/swig/dyn.i
@@ -1,28 +1,29 @@
-// -*- C++ -*-
-// Copyright (C) 2009 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/>.
-//
-// As a special exception, you may use this file as part of a free
-// software project without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to produce
-// an executable, this file does not by itself cause the resulting
-// executable to be covered by the GNU General Public License. This
-// exception does not however invalidate any other reasons why the
-// executable file might be covered by the GNU General Public License.
+ // -*- C++ -*-
+
+/* Copyright (C) 2009 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
/// \file
/// \brief A wrapper of libdyn.
diff --git a/dynamic-use-of-static-c++/swig/mln.i b/dynamic-use-of-static-c++/swig/mln.i
index dcfe644..0539cfc 100644
--- a/dynamic-use-of-static-c++/swig/mln.i
+++ b/dynamic-use-of-static-c++/swig/mln.i
@@ -1,28 +1,29 @@
-// -*- C++ -*-
-// Copyright (C) 2009 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/>.
-//
-// As a special exception, you may use this file as part of a free
-// software project without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to produce
-// an executable, this file does not by itself cause the resulting
-// executable to be covered by the GNU General Public License. This
-// exception does not however invalidate any other reasons why the
-// executable file might be covered by the GNU General Public License.
+ // -*- C++ -*-
+
+/* Copyright (C) 2009 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
/// \file
/// \brief A wrapper of libdynmilena.
diff --git a/dynamic-use-of-static-c++/swig/run.in b/dynamic-use-of-static-c++/swig/run.in
index 41ec0e8..92d54fe 100755
--- a/dynamic-use-of-static-c++/swig/run.in
+++ b/dynamic-use-of-static-c++/swig/run.in
@@ -1,4 +1,4 @@
-#!/bin/sh
+#! /bin/sh
# Copyright (C) 2003, 2004, 2006, 2009 Laboratoire d'Informatique de Paris 6
# (LIP6), département Systèmes Répartis Coopératifs (SRC), Université
diff --git a/dynamic-use-of-static-c++/test/test_methods.cc b/dynamic-use-of-static-c++/test/test_methods.cc
index 477ae06..3416a53 100644
--- a/dynamic-use-of-static-c++/test/test_methods.cc
+++ b/dynamic-use-of-static-c++/test/test_methods.cc
@@ -23,9 +23,11 @@
exception does not however invalidate any other reasons why the
executable file might be covered by the GNU General Public License. */
+#include <iostream>
+
#include "dyn-all.hh"
+
using namespace dyn::language;
-#include <iostream>
int main()
{
diff --git a/dynamic-use-of-static-c++/test/wrappers/test-milena.cc b/dynamic-use-of-static-c++/test/wrappers/test-milena.cc
index 831c9db..036c15d 100644
--- a/dynamic-use-of-static-c++/test/wrappers/test-milena.cc
+++ b/dynamic-use-of-static-c++/test/wrappers/test-milena.cc
@@ -1,27 +1,27 @@
-// Copyright (C) 2009 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/>.
-//
-// As a special exception, you may use this file as part of a free
-// software project without restriction. Specifically, if other files
-// instantiate templates or use macros or inline functions from this
-// file, or you compile this file and link it with other files to produce
-// an executable, this file does not by itself cause the resulting
-// executable to be covered by the GNU General Public License. This
-// exception does not however invalidate any other reasons why the
-// executable file might be covered by the GNU General Public License.
+/* Copyright (C) 2009 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
/// \file
/// Exercise the Milena wrappers.
--
1.6.5
1
0
* bin/dyn-config.in,
* bin/mk_swig_input,
* bin/swig_tree_to_yaml,
* bin/yaml_to_dyn_decls,
* bootstrap,
* config/erbx,
* config/mk_local_config_rb_in.rb,
* config/rbconfig_gen.rb,
* config/ruby.m4,
* src/all_methods.erb.cc,
* src/all_methods.erb.hh,
* src/config.hh.in,
* src/cxx_symbols.rb,
* src/data.cc,
* src/data.hh,
* src/data.hxx,
* src/dyn.hh,
* src/function.erb.cc,
* src/function.erb.hh,
* src/function_loader.cc,
* src/function_loader.hh,
* src/function_loader.rb,
* src/name_of.cc,
* src/name_of.hh,
* src/policy.cc,
* src/policy.hh,
* src/ruby_stream.cc,
* src/ruby_stream.hh,
* test/fixtures/my_lib/damien.hh,
* test/fixtures/my_lib/damien.hxx,
* test/fixtures/my_lib/lib.hh,
* test/test_containers.cc,
* test/test_damien.cc,
* test/test_function_loader.cc,
* test/test_function_loader.rb,
* test/test_function_loader_cxx.rb,
* test/test_methods.cc,
* test/test_milena.cc,
* test/test_var_and_val.cc,
* test/vaucanson/test-loader.cc:
Here.
---
dynamic-use-of-static-c++/ChangeLog | 46 ++++++++++++++++++++
dynamic-use-of-static-c++/bin/dyn-config.in | 17 +++++++
dynamic-use-of-static-c++/bin/mk_swig_input | 17 +++++++
dynamic-use-of-static-c++/bin/swig_tree_to_yaml | 17 +++++++
dynamic-use-of-static-c++/bin/yaml_to_dyn_decls | 17 +++++++
dynamic-use-of-static-c++/bootstrap | 16 +++++++
dynamic-use-of-static-c++/config/erbx | 16 +++++++
.../config/mk_local_config_rb_in.rb | 16 +++++++
dynamic-use-of-static-c++/config/rbconfig_gen.rb | 16 +++++++
dynamic-use-of-static-c++/config/ruby.m4 | 15 ++++++
dynamic-use-of-static-c++/src/all_methods.erb.cc | 25 +++++++++++
dynamic-use-of-static-c++/src/all_methods.erb.hh | 25 +++++++++++
dynamic-use-of-static-c++/src/config.hh.in | 27 +++++++++++
dynamic-use-of-static-c++/src/cxx_symbols.rb | 16 +++++++
dynamic-use-of-static-c++/src/data.cc | 25 +++++++++++
dynamic-use-of-static-c++/src/data.hh | 25 +++++++++++
dynamic-use-of-static-c++/src/data.hxx | 25 +++++++++++
dynamic-use-of-static-c++/src/dyn.hh | 25 +++++++++++
dynamic-use-of-static-c++/src/function.erb.cc | 25 +++++++++++
dynamic-use-of-static-c++/src/function.erb.hh | 25 +++++++++++
dynamic-use-of-static-c++/src/function_loader.cc | 25 +++++++++++
dynamic-use-of-static-c++/src/function_loader.hh | 25 +++++++++++
dynamic-use-of-static-c++/src/function_loader.rb | 16 +++++++
dynamic-use-of-static-c++/src/name_of.cc | 25 +++++++++++
dynamic-use-of-static-c++/src/name_of.hh | 25 +++++++++++
dynamic-use-of-static-c++/src/policy.cc | 25 +++++++++++
dynamic-use-of-static-c++/src/policy.hh | 25 +++++++++++
dynamic-use-of-static-c++/src/ruby_stream.cc | 25 +++++++++++
dynamic-use-of-static-c++/src/ruby_stream.hh | 25 +++++++++++
.../test/fixtures/my_lib/damien.hh | 25 +++++++++++
.../test/fixtures/my_lib/damien.hxx | 25 +++++++++++
.../test/fixtures/my_lib/lib.hh | 25 +++++++++++
dynamic-use-of-static-c++/test/test_containers.cc | 26 +++++++++++
dynamic-use-of-static-c++/test/test_damien.cc | 26 +++++++++++
.../test/test_function_loader.cc | 25 +++++++++++
.../test/test_function_loader.rb | 16 +++++++
.../test/test_function_loader_cxx.rb | 16 +++++++
dynamic-use-of-static-c++/test/test_methods.cc | 25 +++++++++++
dynamic-use-of-static-c++/test/test_milena.cc | 25 +++++++++++
dynamic-use-of-static-c++/test/test_var_and_val.cc | 26 +++++++++++
.../test/vaucanson/test-loader.cc | 25 +++++++++++
41 files changed, 937 insertions(+), 0 deletions(-)
diff --git a/dynamic-use-of-static-c++/ChangeLog b/dynamic-use-of-static-c++/ChangeLog
index 9de4a05..a510774 100644
--- a/dynamic-use-of-static-c++/ChangeLog
+++ b/dynamic-use-of-static-c++/ChangeLog
@@ -1,5 +1,51 @@
2009-11-03 Roland Levillain <roland(a)lrde.epita.fr>
+ Add missing copyright headers.
+
+ * bin/dyn-config.in,
+ * bin/mk_swig_input,
+ * bin/swig_tree_to_yaml,
+ * bin/yaml_to_dyn_decls,
+ * bootstrap,
+ * config/erbx,
+ * config/mk_local_config_rb_in.rb,
+ * config/rbconfig_gen.rb,
+ * config/ruby.m4,
+ * src/all_methods.erb.cc,
+ * src/all_methods.erb.hh,
+ * src/config.hh.in,
+ * src/cxx_symbols.rb,
+ * src/data.cc,
+ * src/data.hh,
+ * src/data.hxx,
+ * src/dyn.hh,
+ * src/function.erb.cc,
+ * src/function.erb.hh,
+ * src/function_loader.cc,
+ * src/function_loader.hh,
+ * src/function_loader.rb,
+ * src/name_of.cc,
+ * src/name_of.hh,
+ * src/policy.cc,
+ * src/policy.hh,
+ * src/ruby_stream.cc,
+ * src/ruby_stream.hh,
+ * test/fixtures/my_lib/damien.hh,
+ * test/fixtures/my_lib/damien.hxx,
+ * test/fixtures/my_lib/lib.hh,
+ * test/test_containers.cc,
+ * test/test_damien.cc,
+ * test/test_function_loader.cc,
+ * test/test_function_loader.rb,
+ * test/test_function_loader_cxx.rb,
+ * test/test_methods.cc,
+ * test/test_milena.cc,
+ * test/test_var_and_val.cc,
+ * test/vaucanson/test-loader.cc:
+ Here.
+
+2009-11-03 Roland Levillain <roland(a)lrde.epita.fr>
+
Adjust the initialization of the SWIG Python Milena wrappers.
* swig/mln.i: Call dyn::mln::initialize in %init section.
diff --git a/dynamic-use-of-static-c++/bin/dyn-config.in b/dynamic-use-of-static-c++/bin/dyn-config.in
index 0271082..6ff4d94 100755
--- a/dynamic-use-of-static-c++/bin/dyn-config.in
+++ b/dynamic-use-of-static-c++/bin/dyn-config.in
@@ -1,4 +1,21 @@
#!/usr/bin/env ruby
+
+# Copyright (C) 2005 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/>.
+
require 'optparse'
require 'pathname'
diff --git a/dynamic-use-of-static-c++/bin/mk_swig_input b/dynamic-use-of-static-c++/bin/mk_swig_input
index 5efcc49..022cb26 100755
--- a/dynamic-use-of-static-c++/bin/mk_swig_input
+++ b/dynamic-use-of-static-c++/bin/mk_swig_input
@@ -1,4 +1,21 @@
#!/usr/bin/env ruby
+
+# Copyright (C) 2005 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/>.
+
require 'pathname'
load Pathname.new(__FILE__).dirname.parent + 'configure'
includes = []
diff --git a/dynamic-use-of-static-c++/bin/swig_tree_to_yaml b/dynamic-use-of-static-c++/bin/swig_tree_to_yaml
index eb63157..696d96c 100755
--- a/dynamic-use-of-static-c++/bin/swig_tree_to_yaml
+++ b/dynamic-use-of-static-c++/bin/swig_tree_to_yaml
@@ -1,4 +1,21 @@
#!/usr/bin/env ruby
+
+# Copyright (C) 2005 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/>.
+
str = STDIN.read
str.gsub!(/^(\s*) \+\+\+ (\w+) -+$/, '\1- \2:')
str.gsub!(/^(\s*)\+\+\+ (\w+) -+$/, '\1\2:')
diff --git a/dynamic-use-of-static-c++/bin/yaml_to_dyn_decls b/dynamic-use-of-static-c++/bin/yaml_to_dyn_decls
index 85ad16a..e7a6fc9 100755
--- a/dynamic-use-of-static-c++/bin/yaml_to_dyn_decls
+++ b/dynamic-use-of-static-c++/bin/yaml_to_dyn_decls
@@ -1,4 +1,21 @@
#!/usr/bin/env ruby
+
+# Copyright (C) 2005 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/>.
+
require 'yaml'
require 'rubygems'
require_gem 'ruby_ex'
diff --git a/dynamic-use-of-static-c++/bootstrap b/dynamic-use-of-static-c++/bootstrap
index e4a288a..5f624d0 100755
--- a/dynamic-use-of-static-c++/bootstrap
+++ b/dynamic-use-of-static-c++/bootstrap
@@ -1,5 +1,21 @@
#! /bin/sh
+# Copyright (C) 2005, 2009 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/>.
+
# Failures do matter.
set -e
# Tell what's going on.
diff --git a/dynamic-use-of-static-c++/config/erbx b/dynamic-use-of-static-c++/config/erbx
index bd49f97..383a883 100755
--- a/dynamic-use-of-static-c++/config/erbx
+++ b/dynamic-use-of-static-c++/config/erbx
@@ -1,5 +1,21 @@
#!/usr/bin/env ruby
+# Copyright (C) 2005 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/>.
+
# For this project only
DYN_MAX_ARGUMENTS = 10
ALL_METHODS = { 'fake_method' => ['*'] }
diff --git a/dynamic-use-of-static-c++/config/mk_local_config_rb_in.rb b/dynamic-use-of-static-c++/config/mk_local_config_rb_in.rb
index 985b1c3..734cae4 100644
--- a/dynamic-use-of-static-c++/config/mk_local_config_rb_in.rb
+++ b/dynamic-use-of-static-c++/config/mk_local_config_rb_in.rb
@@ -1,3 +1,19 @@
+# Copyright (C) 2005 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/>.
+
require 'pathname'
# STDERR.puts "MK: #{ARGV.inspect}"
def usage
diff --git a/dynamic-use-of-static-c++/config/rbconfig_gen.rb b/dynamic-use-of-static-c++/config/rbconfig_gen.rb
index 24fdf95..5cf310e 100644
--- a/dynamic-use-of-static-c++/config/rbconfig_gen.rb
+++ b/dynamic-use-of-static-c++/config/rbconfig_gen.rb
@@ -1,3 +1,19 @@
+# Copyright (C) 2005 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/>.
+
require 'rbconfig'
def gen_m4 ( config )
diff --git a/dynamic-use-of-static-c++/config/ruby.m4 b/dynamic-use-of-static-c++/config/ruby.m4
index ac5cddd..679ceb9 100644
--- a/dynamic-use-of-static-c++/config/ruby.m4
+++ b/dynamic-use-of-static-c++/config/ruby.m4
@@ -1,3 +1,18 @@
+# Copyright (C) 2005 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/>.
AC_DEFUN([RUBY],
diff --git a/dynamic-use-of-static-c++/src/all_methods.erb.cc b/dynamic-use-of-static-c++/src/all_methods.erb.cc
index ae973f3..347ffc6 100644
--- a/dynamic-use-of-static-c++/src/all_methods.erb.cc
+++ b/dynamic-use-of-static-c++/src/all_methods.erb.cc
@@ -1,3 +1,28 @@
+/* Copyright (C) 2005 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#ifndef DYN_ALL_METHODS_CC
# define DYN_ALL_METHODS_CC
diff --git a/dynamic-use-of-static-c++/src/all_methods.erb.hh b/dynamic-use-of-static-c++/src/all_methods.erb.hh
index 8f67a80..948ccdd 100644
--- a/dynamic-use-of-static-c++/src/all_methods.erb.hh
+++ b/dynamic-use-of-static-c++/src/all_methods.erb.hh
@@ -1,3 +1,28 @@
+/* Copyright (C) 2005 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#ifndef DYN_ALL_METHODS_HH
# define DYN_ALL_METHODS_HH
diff --git a/dynamic-use-of-static-c++/src/config.hh.in b/dynamic-use-of-static-c++/src/config.hh.in
index 1327cf4..0ce13fc 100644
--- a/dynamic-use-of-static-c++/src/config.hh.in
+++ b/dynamic-use-of-static-c++/src/config.hh.in
@@ -1,3 +1,30 @@
+ // -*- C++ -*-
+
+/* Copyright (C) 2005, 2009 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#define DYNDIR "@DYNDIR@"
#define DYN_DATADIR "@DYN_DATADIR@"
#define DYN_FIXTURES "@DYN_FIXTURES@"
diff --git a/dynamic-use-of-static-c++/src/cxx_symbols.rb b/dynamic-use-of-static-c++/src/cxx_symbols.rb
index cdf52bd..91ad4b0 100644
--- a/dynamic-use-of-static-c++/src/cxx_symbols.rb
+++ b/dynamic-use-of-static-c++/src/cxx_symbols.rb
@@ -1,3 +1,19 @@
+# Copyright (C) 2005 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/>.
+
class SimpleSymbol
attr_reader :code
def initialize ( code )
diff --git a/dynamic-use-of-static-c++/src/data.cc b/dynamic-use-of-static-c++/src/data.cc
index 3af1dcd..127dc87 100644
--- a/dynamic-use-of-static-c++/src/data.cc
+++ b/dynamic-use-of-static-c++/src/data.cc
@@ -1,3 +1,28 @@
+/* Copyright (C) 2005 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#ifndef DYN_DATA_CC
# define DYN_DATA_CC
diff --git a/dynamic-use-of-static-c++/src/data.hh b/dynamic-use-of-static-c++/src/data.hh
index 812c3cd..aa8c192 100644
--- a/dynamic-use-of-static-c++/src/data.hh
+++ b/dynamic-use-of-static-c++/src/data.hh
@@ -1,3 +1,28 @@
+/* Copyright (C) 2005, 2009 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#ifndef DYN_DATA_HH
# define DYN_DATA_HH
diff --git a/dynamic-use-of-static-c++/src/data.hxx b/dynamic-use-of-static-c++/src/data.hxx
index 5b993a9..1ff7886 100644
--- a/dynamic-use-of-static-c++/src/data.hxx
+++ b/dynamic-use-of-static-c++/src/data.hxx
@@ -1,3 +1,28 @@
+/* Copyright (C) 2005 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#ifndef DYN_DATA_HXX
# define DYN_DATA_HXX
diff --git a/dynamic-use-of-static-c++/src/dyn.hh b/dynamic-use-of-static-c++/src/dyn.hh
index f816c28..d12a790 100644
--- a/dynamic-use-of-static-c++/src/dyn.hh
+++ b/dynamic-use-of-static-c++/src/dyn.hh
@@ -1,3 +1,28 @@
+/* Copyright (C) 2005 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#ifndef DYN_HH
# define DYN_HH
diff --git a/dynamic-use-of-static-c++/src/function.erb.cc b/dynamic-use-of-static-c++/src/function.erb.cc
index 4624aed..b83fd7b 100644
--- a/dynamic-use-of-static-c++/src/function.erb.cc
+++ b/dynamic-use-of-static-c++/src/function.erb.cc
@@ -1,3 +1,28 @@
+/* Copyright (C) 2005 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#ifndef FUNCTION_HXX
#define FUNCTION_HXX
diff --git a/dynamic-use-of-static-c++/src/function.erb.hh b/dynamic-use-of-static-c++/src/function.erb.hh
index 0bcda9a..b814938 100644
--- a/dynamic-use-of-static-c++/src/function.erb.hh
+++ b/dynamic-use-of-static-c++/src/function.erb.hh
@@ -1,3 +1,28 @@
+/* Copyright (C) 2005, 2009 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#ifndef FUNCTION_HH
#define FUNCTION_HH
diff --git a/dynamic-use-of-static-c++/src/function_loader.cc b/dynamic-use-of-static-c++/src/function_loader.cc
index 62efcbc..0b300be 100644
--- a/dynamic-use-of-static-c++/src/function_loader.cc
+++ b/dynamic-use-of-static-c++/src/function_loader.cc
@@ -1,3 +1,28 @@
+/* Copyright (C) 2005, 2009 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#ifndef DYN_FUNCTION_LOADER_CC
# define DYN_FUNCTION_LOADER_CC
diff --git a/dynamic-use-of-static-c++/src/function_loader.hh b/dynamic-use-of-static-c++/src/function_loader.hh
index 29b5197..27edb37 100644
--- a/dynamic-use-of-static-c++/src/function_loader.hh
+++ b/dynamic-use-of-static-c++/src/function_loader.hh
@@ -1,3 +1,28 @@
+/* Copyright (C) 2005 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#ifndef DYN_FUNCTION_LOADER_HH
# define DYN_FUNCTION_LOADER_HH
diff --git a/dynamic-use-of-static-c++/src/function_loader.rb b/dynamic-use-of-static-c++/src/function_loader.rb
index 8ec56e6..1f6c91a 100644
--- a/dynamic-use-of-static-c++/src/function_loader.rb
+++ b/dynamic-use-of-static-c++/src/function_loader.rb
@@ -1,3 +1,19 @@
+# Copyright (C) 2005, 2009 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/>.
+
require 'pathname'
DYN_DATADIR = Pathname.new(__FILE__).dirname.parent + '_build/data' # FIXME
diff --git a/dynamic-use-of-static-c++/src/name_of.cc b/dynamic-use-of-static-c++/src/name_of.cc
index 7b2b6da..bf2c24f 100644
--- a/dynamic-use-of-static-c++/src/name_of.cc
+++ b/dynamic-use-of-static-c++/src/name_of.cc
@@ -1,3 +1,28 @@
+/* Copyright (C) 2005 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#ifndef DYN_NAME_OF_CC
# define DYN_NAME_OF_CC
diff --git a/dynamic-use-of-static-c++/src/name_of.hh b/dynamic-use-of-static-c++/src/name_of.hh
index 67e26a5..dca878b 100644
--- a/dynamic-use-of-static-c++/src/name_of.hh
+++ b/dynamic-use-of-static-c++/src/name_of.hh
@@ -1,3 +1,28 @@
+/* Copyright (C) 2005, 2009 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#ifndef NAME_OF
# define NAME_OF
diff --git a/dynamic-use-of-static-c++/src/policy.cc b/dynamic-use-of-static-c++/src/policy.cc
index 54b1d72..7ea9bb7 100644
--- a/dynamic-use-of-static-c++/src/policy.cc
+++ b/dynamic-use-of-static-c++/src/policy.cc
@@ -1,3 +1,28 @@
+/* Copyright (C) 2005 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#ifndef DYN_POLICY_CC
# define DYN_POLICY_CC
diff --git a/dynamic-use-of-static-c++/src/policy.hh b/dynamic-use-of-static-c++/src/policy.hh
index eae4201..ef6ce55 100644
--- a/dynamic-use-of-static-c++/src/policy.hh
+++ b/dynamic-use-of-static-c++/src/policy.hh
@@ -1,3 +1,28 @@
+/* Copyright (C) 2005 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#ifndef DYN_POLICY_HH
# define DYN_POLICY_HH
diff --git a/dynamic-use-of-static-c++/src/ruby_stream.cc b/dynamic-use-of-static-c++/src/ruby_stream.cc
index 2ae7ecb..04a9d16 100644
--- a/dynamic-use-of-static-c++/src/ruby_stream.cc
+++ b/dynamic-use-of-static-c++/src/ruby_stream.cc
@@ -1,3 +1,28 @@
+/* Copyright (C) 2005 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#ifndef RUBY_STREAM_CC
# define RUBY_STREAM_CC
diff --git a/dynamic-use-of-static-c++/src/ruby_stream.hh b/dynamic-use-of-static-c++/src/ruby_stream.hh
index 4f861fe..12c9455 100644
--- a/dynamic-use-of-static-c++/src/ruby_stream.hh
+++ b/dynamic-use-of-static-c++/src/ruby_stream.hh
@@ -1,3 +1,28 @@
+/* Copyright (C) 2005 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#ifndef RUBY_STREAM_HH
#define RUBY_STREAM_HH
diff --git a/dynamic-use-of-static-c++/test/fixtures/my_lib/damien.hh b/dynamic-use-of-static-c++/test/fixtures/my_lib/damien.hh
index 369ebe9..63dc041 100644
--- a/dynamic-use-of-static-c++/test/fixtures/my_lib/damien.hh
+++ b/dynamic-use-of-static-c++/test/fixtures/my_lib/damien.hh
@@ -1,3 +1,28 @@
+/* Copyright (C) 2005, 2009 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#ifndef DAMIEN_HH
#define DAMIEN_HH
diff --git a/dynamic-use-of-static-c++/test/fixtures/my_lib/damien.hxx b/dynamic-use-of-static-c++/test/fixtures/my_lib/damien.hxx
index e7448e1..0202a44 100644
--- a/dynamic-use-of-static-c++/test/fixtures/my_lib/damien.hxx
+++ b/dynamic-use-of-static-c++/test/fixtures/my_lib/damien.hxx
@@ -1,3 +1,28 @@
+/* Copyright (C) 2005 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#ifndef DAMIEN_HXX
#define DAMIEN_HXX
diff --git a/dynamic-use-of-static-c++/test/fixtures/my_lib/lib.hh b/dynamic-use-of-static-c++/test/fixtures/my_lib/lib.hh
index c861ea5..a03fc22 100644
--- a/dynamic-use-of-static-c++/test/fixtures/my_lib/lib.hh
+++ b/dynamic-use-of-static-c++/test/fixtures/my_lib/lib.hh
@@ -1,3 +1,28 @@
+/* Copyright (C) 2005, 2009 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
// part of generic lib
#include <cmath>
diff --git a/dynamic-use-of-static-c++/test/test_containers.cc b/dynamic-use-of-static-c++/test/test_containers.cc
index 6a79e02..4c06461 100644
--- a/dynamic-use-of-static-c++/test/test_containers.cc
+++ b/dynamic-use-of-static-c++/test/test_containers.cc
@@ -1,8 +1,34 @@
+/* Copyright (C) 2005, 2009 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#include <algorithm>
#include "my_lib/lib.hh"
#include "dyn-all.hh"
+
using namespace dyn::language;
int main()
diff --git a/dynamic-use-of-static-c++/test/test_damien.cc b/dynamic-use-of-static-c++/test/test_damien.cc
index 1b55fd1..b705acb 100644
--- a/dynamic-use-of-static-c++/test/test_damien.cc
+++ b/dynamic-use-of-static-c++/test/test_damien.cc
@@ -1,6 +1,32 @@
+/* Copyright (C) 2005, 2009 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#include "my_lib/damien.hh"
#include "dyn-all.hh"
+
using namespace dyn::language;
namespace dyn
diff --git a/dynamic-use-of-static-c++/test/test_function_loader.cc b/dynamic-use-of-static-c++/test/test_function_loader.cc
index fc8984a..b15dc4b 100644
--- a/dynamic-use-of-static-c++/test/test_function_loader.cc
+++ b/dynamic-use-of-static-c++/test/test_function_loader.cc
@@ -1,3 +1,28 @@
+/* Copyright (C) 2005, 2009 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#include <sstream>
#include "my_lib/lib.hh"
diff --git a/dynamic-use-of-static-c++/test/test_function_loader.rb b/dynamic-use-of-static-c++/test/test_function_loader.rb
index ee2c4ed..cd55e84 100644
--- a/dynamic-use-of-static-c++/test/test_function_loader.rb
+++ b/dynamic-use-of-static-c++/test/test_function_loader.rb
@@ -1,3 +1,19 @@
+# Copyright (C) 2005 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/>.
+
require 'pathname'
require 'yaml'
test = Pathname.new(__FILE__).dirname
diff --git a/dynamic-use-of-static-c++/test/test_function_loader_cxx.rb b/dynamic-use-of-static-c++/test/test_function_loader_cxx.rb
index ddbb118..d337df3 100644
--- a/dynamic-use-of-static-c++/test/test_function_loader_cxx.rb
+++ b/dynamic-use-of-static-c++/test/test_function_loader_cxx.rb
@@ -1,3 +1,19 @@
+# Copyright (C) 2005 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/>.
+
require 'pathname'
require 'yaml'
test = Pathname.new(__FILE__).dirname
diff --git a/dynamic-use-of-static-c++/test/test_methods.cc b/dynamic-use-of-static-c++/test/test_methods.cc
index 1ea7f0b..477ae06 100644
--- a/dynamic-use-of-static-c++/test/test_methods.cc
+++ b/dynamic-use-of-static-c++/test/test_methods.cc
@@ -1,3 +1,28 @@
+/* Copyright (C) 2005, 2009 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#include "dyn-all.hh"
using namespace dyn::language;
#include <iostream>
diff --git a/dynamic-use-of-static-c++/test/test_milena.cc b/dynamic-use-of-static-c++/test/test_milena.cc
index 67d10cb..ca56416 100644
--- a/dynamic-use-of-static-c++/test/test_milena.cc
+++ b/dynamic-use-of-static-c++/test/test_milena.cc
@@ -1,3 +1,28 @@
+/* Copyright (C) 2005, 2009 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#include "dyn-all.hh"
using namespace dyn::language;
diff --git a/dynamic-use-of-static-c++/test/test_var_and_val.cc b/dynamic-use-of-static-c++/test/test_var_and_val.cc
index b5da732..c1e647b 100644
--- a/dynamic-use-of-static-c++/test/test_var_and_val.cc
+++ b/dynamic-use-of-static-c++/test/test_var_and_val.cc
@@ -1,6 +1,32 @@
+/* Copyright (C) 2005, 2009 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#include "my_lib/lib.hh"
#include "dyn-all.hh"
+
using namespace dyn::language;
int main()
diff --git a/dynamic-use-of-static-c++/test/vaucanson/test-loader.cc b/dynamic-use-of-static-c++/test/vaucanson/test-loader.cc
index 64fac50..7144e82 100644
--- a/dynamic-use-of-static-c++/test/vaucanson/test-loader.cc
+++ b/dynamic-use-of-static-c++/test/vaucanson/test-loader.cc
@@ -1,3 +1,28 @@
+/* Copyright (C) 2005 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/>.
+
+ As a special exception, you may use this file as part of a free
+ software project without restriction. Specifically, if other files
+ instantiate templates or use macros or inline functions from this
+ file, or you compile this file and link it with other files to produce
+ an executable, this file does not by itself cause the resulting
+ executable to be covered by the GNU General Public License. This
+ exception does not however invalidate any other reasons why the
+ executable file might be covered by the GNU General Public License. */
+
#include "dyn.hh"
using namespace dyn::language;
--
1.6.5
1
0
* scribo/src/primitive/extract/Makefile.am: Add a new target.
* scribo/src/primitive/extract/lines_pattern.cc: New.
---
scribo/ChangeLog | 8 +++
scribo/src/primitive/extract/Makefile.am | 4 +-
scribo/src/primitive/extract/lines_pattern.cc | 76 +++++++++++++++++++++++++
3 files changed, 87 insertions(+), 1 deletions(-)
create mode 100644 scribo/src/primitive/extract/lines_pattern.cc
diff --git a/scribo/ChangeLog b/scribo/ChangeLog
index 279e1fd..4fed85c 100644
--- a/scribo/ChangeLog
+++ b/scribo/ChangeLog
@@ -1,5 +1,13 @@
2009-11-03 Guillaume Lazzara <z(a)lrde.epita.fr>
+ Add a new example in Scribo.
+
+ * scribo/src/primitive/extract/Makefile.am: Add a new target.
+
+ * scribo/src/primitive/extract/lines_pattern.cc: New.
+
+2009-11-03 Guillaume Lazzara <z(a)lrde.epita.fr>
+
First draft of multiscale Sauvola's binarization.
* scribo/src/binarization/Makefile.am: Add new target.
diff --git a/scribo/src/primitive/extract/Makefile.am b/scribo/src/primitive/extract/Makefile.am
index 636abc3..7e1ea78 100644
--- a/scribo/src/primitive/extract/Makefile.am
+++ b/scribo/src/primitive/extract/Makefile.am
@@ -25,11 +25,13 @@ bin_PROGRAMS = \
extract_discontinued_vlines \
extract_discontinued_hlines \
extract_thick_vlines \
- extract_thick_hlines
+ extract_thick_hlines \
+ lines_pattern
extract_discontinued_lines_SOURCES = extract_discontinued_lines.cc
extract_discontinued_vlines_SOURCES = extract_discontinued_vlines.cc
extract_discontinued_hlines_SOURCES = extract_discontinued_hlines.cc
extract_thick_vlines_SOURCES = extract_thick_vlines.cc
extract_thick_hlines_SOURCES = extract_thick_hlines.cc
+lines_pattern_SOURCES = lines_pattern.cc
diff --git a/scribo/src/primitive/extract/lines_pattern.cc b/scribo/src/primitive/extract/lines_pattern.cc
new file mode 100644
index 0000000..d794c71
--- /dev/null
+++ b/scribo/src/primitive/extract/lines_pattern.cc
@@ -0,0 +1,76 @@
+// Copyright (C) 2009 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/>.
+//
+// As a special exception, you may use this file as part of a free
+// software project without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to produce
+// an executable, this file does not by itself cause the resulting
+// executable to be covered by the GNU General Public License. This
+// exception does not however invalidate any other reasons why the
+// executable file might be covered by the GNU General Public License.
+
+#include <mln/core/image/image2d.hh>
+#include <mln/io/pbm/all.hh>
+#include <mln/pw/all.hh>
+#include <mln/data/fill.hh>
+#include <mln/core/image/dmorph/image_if.hh>
+
+#include <scribo/primitive/extract/lines_h_pattern.hh>
+#include <scribo/primitive/extract/lines_v_pattern.hh>
+#include <scribo/debug/usage.hh>
+
+
+const char *args_desc[][2] =
+{
+ { "input.pbm", "A binary image." },
+ { "length", " Minimum line length. (Common value : 51)" },
+ { "delta", " Distance between the object pixel and the background pixel (Common value : 5)" },
+ {0, 0}
+};
+
+
+int main(int argc, char *argv[])
+{
+ using namespace mln;
+
+ if (argc != 5)
+ return scribo::debug::usage(argv,
+ "Extract horizontal lines patterns",
+ "input.pbm length delta output.pbm",
+ args_desc,
+ "A binary image of lines.");
+
+ trace::entering("main");
+
+ image2d<bool> input;
+ io::pbm::load(input, argv[1]);
+
+ image2d<bool>
+ h_lines = scribo::primitive::extract::lines_h_pattern(input,
+ atoi(argv[2]),
+ atoi(argv[3]));
+ image2d<bool>
+ v_lines = scribo::primitive::extract::lines_v_pattern(input,
+ atoi(argv[2]),
+ atoi(argv[3]));
+
+ data::fill((v_lines | pw::value(h_lines)).rw(), true);
+
+ io::pbm::save(v_lines, argv[4]);
+
+ trace::exiting("main");
+}
--
1.5.6.5
1
0
* scribo/src/binarization/Makefile.am: Add new target.
* scribo/src/binarization/sauvola_ms.cc: New.
---
scribo/ChangeLog | 8 +
scribo/src/binarization/Makefile.am | 4 +-
scribo/src/binarization/sauvola_ms.cc | 406 +++++++++++++++++++++++++++++++++
3 files changed, 417 insertions(+), 1 deletions(-)
create mode 100644 scribo/src/binarization/sauvola_ms.cc
diff --git a/scribo/ChangeLog b/scribo/ChangeLog
index b04de6a..279e1fd 100644
--- a/scribo/ChangeLog
+++ b/scribo/ChangeLog
@@ -1,5 +1,13 @@
2009-11-03 Guillaume Lazzara <z(a)lrde.epita.fr>
+ First draft of multiscale Sauvola's binarization.
+
+ * scribo/src/binarization/Makefile.am: Add new target.
+
+ * scribo/src/binarization/sauvola_ms.cc: New.
+
+2009-11-03 Guillaume Lazzara <z(a)lrde.epita.fr>
+
Improve line pattern recognition routine.
* primitive/extract/lines_pattern.hh: Make it less tolerant.
diff --git a/scribo/src/binarization/Makefile.am b/scribo/src/binarization/Makefile.am
index ab982dc..531d4cf 100644
--- a/scribo/src/binarization/Makefile.am
+++ b/scribo/src/binarization/Makefile.am
@@ -21,10 +21,12 @@ include $(top_srcdir)/scribo/scribo.mk
bin_PROGRAMS = \
sauvola \
+ sauvola_ms \
sauvola_pgm \
simple
sauvola_SOURCES = sauvola.cc
+sauvola_ms_SOURCES = sauvola_ms.cc
sauvola_pgm_SOURCES = sauvola_pgm.cc
-simple_SOURCES = simple.cc
+simple_SOURCES = simple.cc
diff --git a/scribo/src/binarization/sauvola_ms.cc b/scribo/src/binarization/sauvola_ms.cc
new file mode 100644
index 0000000..747bc11
--- /dev/null
+++ b/scribo/src/binarization/sauvola_ms.cc
@@ -0,0 +1,406 @@
+// Copyright (C) 2009 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/>.
+//
+// As a special exception, you may use this file as part of a free
+// software project without restriction. Specifically, if other files
+// instantiate templates or use macros or inline functions from this
+// file, or you compile this file and link it with other files to produce
+// an executable, this file does not by itself cause the resulting
+// executable to be covered by the GNU General Public License. This
+// exception does not however invalidate any other reasons why the
+// executable file might be covered by the GNU General Public License.
+
+#include <mln/core/alias/neighb2d.hh>
+#include <mln/data/stretch.hh>
+#include <mln/debug/filename.hh>
+#include <mln/fun/i2v/array.hh>
+#include <mln/io/pbm/all.hh>
+#include <mln/io/pgm/all.hh>
+#include <mln/io/ppm/all.hh>
+#include <mln/literal/colors.hh>
+#include <mln/math/sqr.hh>
+#include <mln/subsampling/subsampling.hh>
+#include <mln/transform/influence_zone_geodesic.hh>
+#include <mln/util/timer.hh>
+#include <mln/value/int_u16.hh>
+#include <mln/value/int_u8.hh>
+#include <mln/value/label_16.hh>
+#include <mln/value/rgb8.hh>
+#include <mln/debug/filename.hh>
+
+#include <scribo/core/macros.hh>
+#include <scribo/core/object_image.hh>
+#include <scribo/filter/objects_small.hh>
+#include <scribo/filter/objects_large.hh>
+
+#include <scribo/filter/objects_thin.hh>
+#include <scribo/filter/objects_thick.hh>
+
+#include <scribo/primitive/extract/objects.hh>
+#include <scribo/binarization/sauvola_threshold.hh>
+#include <scribo/debug/usage.hh>
+#include <scribo/debug/save_object_diff.hh>
+
+namespace mln
+{
+
+
+// FIXME: do not use scribo's filters since they use object images.
+// Object images computes object bounding boxes which are not needed here.
+//
+// template <typename L>
+// mln_concrete(L)
+// filter_small_objects(const Image<L>& objects,
+// const mln_value(L)& nobjects, unsigned min_size)
+// {
+// card = labeling::compute(card_t(), objects, objects.nlabels());
+
+// mln_concrete(L) output;
+// initialize(output, objects);
+
+// fun::i2v::array<bool> f(nobjects.next(), 0);
+// for (unsigned i = 0; i < card.size(); ++i)
+
+// }
+
+ template <typename I, typename T>
+ mln_ch_value(I, bool)
+ apply_sauvola(const I& intensity, const T& threshold, unsigned s)
+ {
+ mln_precondition(intensity.domain() == threshold.domain());
+
+ mln_ch_value(I, bool) output;
+ initialize(output, intensity);
+
+ mln_piter(I) p(intensity.domain());
+ for_all(p)
+ output(p) = (intensity(p) <= threshold(p / s));
+
+ return output;
+ }
+
+
+ template <typename I>
+ mln_concrete(I)
+ enlarge(const Image<I>& input_, unsigned ratio)
+ {
+ const I& input = exact(input_);
+ mln_precondition(input.is_valid());
+
+ mln_domain(I) bbox(input.domain().pmin() * ratio,
+ input.domain().pmax() * ratio
+ + (ratio - 1) * mln::down_right);
+
+ mln_concrete(I) output(bbox);
+
+ mln_site(I) first_p = input.domain().pmin();
+ for (def::coord j = geom::min_col(input);
+ j <= geom::max_col(input); ++j)
+ for (def::coord i = geom::min_row(input);
+ i <= geom::max_row(input); ++i)
+ {
+ point2d p1(i, j);
+ point2d p2(first_p[0] + i * ratio, first_p[1] + j * ratio);
+
+ output(p2) = input(p1);
+ output(p2 + mln::right) = input(p1);
+ output(p2 + mln::down_right) = input(p1);
+ output(p2 + mln::down) = input(p1);
+ }
+
+ return output;
+ }
+
+ template <typename I>
+ object_image(mln_ch_value(I, value::label_16))
+ get_objects(const Image<I>& input_,
+ unsigned min_size, unsigned max_size,
+ unsigned ratio, unsigned w, unsigned scale)
+ {
+ const I& input = exact(input_);
+
+ mln_precondition(input.is_valid());
+
+ typedef mln_ch_value(I, value::label_16) L;
+
+ dpoint2d none(0, 0);
+ I input_sub = mln::subsampling::subsampling(input, none, ratio);
+
+ image2d<value::int_u8>
+ t = scribo::binarization::sauvola_threshold(input_sub, w);
+
+ image2d<bool> b = apply_sauvola(input_sub, t, 1);
+
+ value::label_16 nb;
+ object_image(L) lbl = scribo::primitive::extract::objects(b, c8(), nb);
+ object_image(L) lbl_raw(lbl);
+
+ if (min_size > 0)
+ lbl = scribo::filter::objects_small(lbl, min_size);
+ if (max_size > 0)
+ lbl = scribo::filter::objects_large(lbl, max_size);
+ scribo::debug::save_object_diff(lbl_raw, lbl,
+ mln::debug::filename("filter_diff.ppm", scale + 2));
+
+ return lbl;
+ }
+
+
+ bool
+ check_args(int argc, char * argv[])
+ {
+ if (argc < 7)
+ return false;
+
+ int nb_scale = atoi(argv[3]);
+ int s = atoi(argv[4]);
+ int q = atoi(argv[5]);
+
+ if (q < 2)
+ {
+ std::cout << "q must be greater than 2." << std::endl;
+ return false;
+ }
+ if (s < 1 || s < q)
+ {
+ std::cout << "s must be greater or equal to 1 and greater than q."
+ << std::endl;
+ return false;
+ }
+
+ if (nb_scale < 1)
+ {
+ std::cout << "Not enough scales." << std::endl;
+ return false;
+ }
+
+ if ((argc - 7) != (nb_scale - 1))
+ {
+ std::cout << "Not enough area threshold."
+ << "There must be nb_scale - 1 thresholds."
+ << std::endl;
+ return false;
+ }
+
+ return true;
+ }
+
+
+} // end of namespace mln;
+
+
+
+
+const char *args_desc[][2] =
+{
+ { "input.pgm", "A graylevel image." },
+ { "w", "Window size." },
+ { "nb_scale", "Number of scales (Common value: 3)." },
+ { "s", "First subsampling ratio (Common value: 2)." },
+ { "q", "Next subsampling ratio (Common value: 2)." },
+ { "<area threshold> (Common values: 200 800)", "Area threshold" },
+ {0, 0}
+};
+
+
+
+
+int main(int argc, char *argv[])
+{
+ using namespace mln;
+ using namespace scribo;
+ using value::rgb8;
+ using value::int_u8;
+ using value::int_u16;
+ using value::label_16;
+
+ typedef image2d<label_16> L;
+
+
+ if (!check_args(argc, argv))
+ return scribo::debug::usage(argv,
+ "Binarization of a color image based on Sauvola's algorithm.",
+ "input.pgm w nb_scale s q <area thresholds>",
+ args_desc, "A binary image.");
+
+ trace::entering("main");
+
+ mln::debug::internal::filename_prefix = argv[1];
+
+ // Window size.
+ unsigned w = atoi(argv[2]);
+
+ // First subsampling scale.
+ unsigned s = atoi(argv[4]);
+
+ // Number of subscales.
+ unsigned nb_subscale = atoi(argv[3]);
+
+ // Subscale step.
+ unsigned q = atoi(argv[5]);
+
+ std::cout << "Running Sauvola_ms with w = " << w
+ << ", s = " << s
+ << ", nb_subscale = " << nb_subscale
+ << ", q = " << q
+ << std::endl;
+
+ typedef image2d<value::int_u8> I;
+ dpoint2d none(0, 0);
+
+ mln::util::timer timer_;
+
+ timer_.start();
+ I input_full;
+ io::pgm::load(input_full, argv[1]);
+ std::cout << "Image loaded - " << timer_ << std::endl;
+
+ timer_.restart();
+
+ util::array<object_image(L)> lbls;
+
+
+
+ // First subsampling 1/s
+
+// std::cout << "1/" << s << std::endl;
+ timer_.start();
+ I input = mln::subsampling::subsampling(input_full, none, s);
+
+ integral_image<int_u8> simple, squared;
+ image2d<int_u8>
+ t_1 = scribo::binarization::sauvola_threshold(input, w, simple, squared);
+
+ label_16 nb1;
+ image2d<bool> b_1 = apply_sauvola(input, t_1, 1);
+
+ {
+ lbls.append(primitive::extract::objects(b_1, c8(), nb1));
+ object_image(L) lbl_raw(lbls[0]);
+ lbls[0] = filter::objects_large(lbls[0], atoi(argv[6]));
+ scribo::debug::save_object_diff(lbl_raw, lbls[0],
+ mln::debug::filename("filter_diff.ppm", 2));
+ }
+
+ std::cout << "Scale 2 - 1/" << s << " Done - " << timer_ << std::endl;
+
+
+
+
+ // Additional subscales.
+ for (unsigned i = 1; i < nb_subscale; ++i)
+ {
+ unsigned ratio = std::pow(q, i);
+// std::cout << "Scale " << 2 + i << " - 1/" << s * ratio << std::endl;
+ timer_.restart();
+ unsigned
+ min_size = atoi(argv[5 + i]) / ratio,
+ max_size;
+ if ((3 + i) == static_cast<unsigned>(argc))
+ max_size = 0; // Last subscale, so not max size limit.
+ else
+ max_size = atoi(argv[6 + i]) / ratio;
+
+ lbls.append(get_objects(input, min_size, max_size, ratio, w, i));
+ std::cout << "Scale " << 2 + i
+ << " - 1/" << s * ratio
+ << " Done - " << timer_ << std::endl;
+ }
+
+ std::cout << "--------" << std::endl;
+
+ // Constructing "scale image".
+ image2d<int_u8> e;
+ initialize(e, input);
+
+ data::fill(e, 0);
+
+ typedef object_image(L) obj_t;
+
+ for (int i = nb_subscale - 1; i >= 0; --i)
+ {
+ unsigned ratio = std::pow(q, i);
+
+ std::cout << "Scale " << 2 + i << " - 1/" << s * ratio << " merged" << std::endl;
+
+ mln_piter_(obj_t) p(lbls[i].domain());
+ for_all(p)
+ if (lbls[i](p) != 0 && e(p * ratio) == 0)
+ {
+ box2d b(p * ratio, p * ratio + mln::down_right * (ratio - 1));
+ data::fill((e | b).rw(), i + 1);
+ }
+ }
+
+ std::cout << "--------" << std::endl;
+
+ /// Saving "scale image".
+ {
+ mln::fun::i2v::array<value::int_u8> f(nb_subscale + 1, 0);
+ for (unsigned i = 1; i <= nb_subscale; ++i)
+ f(i) = 255 / nb_subscale * i;
+
+ io::pgm::save(e, "e_raw.pgm");
+ io::pgm::save(data::transform(e, f), "e.pgm");
+ }
+
+
+ /// Saving influence zone scale image.
+ image2d<int_u8>
+ e_ext = transform::influence_zone_geodesic(e, c8(), mln_max(unsigned));
+ io::pgm::save(e_ext, "e_ext.pgm");
+
+
+ /// Creating window size image
+ std::cout << "Creating window size image..." << std::endl;
+ mln::fun::i2v::array<value::int_u16> f(nb_subscale, 0);
+ for (unsigned i = 0; i < nb_subscale; ++i)
+ {
+ unsigned ratio = std::pow(q, i);
+ f(i) = ratio * w;
+ }
+
+ image2d<int_u16> wsize = data::transform(e_ext, f);
+ io::pgm::save(data::stretch(int_u8(), wsize), "wsize.pgm");
+
+
+
+ /// Constructing threshold image
+ image2d<int_u8> t;
+ initialize(t, input);
+
+ std::cout << "Computing threshold image..." << std::endl;
+ timer_.restart();
+ mln_piter_(L) p(input.domain());
+ for_all(p)
+ t(p) = binarization::internal::compute_sauvola_threshold(p,
+ simple,
+ squared,
+ wsize(p));
+ std::cout << "Compute t Done - " << timer_ << std::endl;
+
+ io::pgm::save(t, "t.pgm");
+
+
+ timer_.restart();
+
+ /// Applying threshold image and save.
+ io::pbm::save(apply_sauvola(input_full, t, s), argv[argc - 1]);
+ std::cout << "sauvola applied and saved Done - " << timer_ << std::endl;
+
+
+ trace::exiting("main");
+}
--
1.5.6.5
1
0
* lazzara/igr/gui/ui_display_seg.h,
* lazzara/igr/gui/ui_edit_seg.h,
* lazzara/igr/gui/ui_image_viewer.h,
* lazzara/igr/gui/ui_main_window.h: Remove.
---
milena/sandbox/ChangeLog | 9 ++
milena/sandbox/lazzara/igr/gui/ui_display_seg.h | 148 -------------------
milena/sandbox/lazzara/igr/gui/ui_edit_seg.h | 130 -----------------
milena/sandbox/lazzara/igr/gui/ui_image_viewer.h | 167 ----------------------
milena/sandbox/lazzara/igr/gui/ui_main_window.h | 92 ------------
5 files changed, 9 insertions(+), 537 deletions(-)
delete mode 100644 milena/sandbox/lazzara/igr/gui/ui_display_seg.h
delete mode 100644 milena/sandbox/lazzara/igr/gui/ui_edit_seg.h
delete mode 100644 milena/sandbox/lazzara/igr/gui/ui_image_viewer.h
delete mode 100644 milena/sandbox/lazzara/igr/gui/ui_main_window.h
diff --git a/milena/sandbox/ChangeLog b/milena/sandbox/ChangeLog
index 4191a7e..cd27478 100644
--- a/milena/sandbox/ChangeLog
+++ b/milena/sandbox/ChangeLog
@@ -1,3 +1,12 @@
+2009-11-03 Guillaume Lazzara <z(a)lrde.epita.fr>
+
+ Remove generated files from repository.
+
+ * lazzara/igr/gui/ui_display_seg.h,
+ * lazzara/igr/gui/ui_edit_seg.h,
+ * lazzara/igr/gui/ui_image_viewer.h,
+ * lazzara/igr/gui/ui_main_window.h: Remove.
+
2009-10-28 Guillaume Lazzara <z(a)lrde.epita.fr>
Fix compilation issues in IGR's code.
diff --git a/milena/sandbox/lazzara/igr/gui/ui_display_seg.h b/milena/sandbox/lazzara/igr/gui/ui_display_seg.h
deleted file mode 100644
index 5875534..0000000
--- a/milena/sandbox/lazzara/igr/gui/ui_display_seg.h
+++ /dev/null
@@ -1,148 +0,0 @@
-/********************************************************************************
-** Form generated from reading ui file 'display_seg.ui'
-**
-** Created: Wed Oct 28 12:45:22 2009
-** by: Qt User Interface Compiler version 4.4.3
-**
-** WARNING! All changes made in this file will be lost when recompiling ui file!
-********************************************************************************/
-
-#ifndef UI_DISPLAY_SEG_H
-#define UI_DISPLAY_SEG_H
-
-#include <QtCore/QVariant>
-#include <QtGui/QAction>
-#include <QtGui/QApplication>
-#include <QtGui/QButtonGroup>
-#include <QtGui/QGridLayout>
-#include <QtGui/QHBoxLayout>
-#include <QtGui/QLabel>
-#include <QtGui/QLineEdit>
-#include <QtGui/QPushButton>
-#include <QtGui/QSpacerItem>
-#include <QtGui/QVBoxLayout>
-#include <QtGui/QWidget>
-#include "src/image_viewer.hh"
-
-QT_BEGIN_NAMESPACE
-
-class Ui_DisplaySeg
-{
-public:
- QGridLayout *gridLayout;
- QVBoxLayout *verticalLayout;
- QHBoxLayout *horizontalLayout;
- QLabel *label;
- QLineEdit *filepath;
- QPushButton *browseBtn;
- QHBoxLayout *horizontalLayout_2;
- QLabel *label_2;
- QLineEdit *segfilepath;
- QPushButton *browseSegBtn;
- QHBoxLayout *horizontalLayout_3;
- QSpacerItem *horizontalSpacer;
- QPushButton *loadBtn;
- mln::demo::image_viewer *viewer;
-
- void setupUi(QWidget *DisplaySeg)
- {
- if (DisplaySeg->objectName().isEmpty())
- DisplaySeg->setObjectName(QString::fromUtf8("DisplaySeg"));
- DisplaySeg->resize(400, 300);
- gridLayout = new QGridLayout(DisplaySeg);
- gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
- verticalLayout = new QVBoxLayout();
- verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
- horizontalLayout = new QHBoxLayout();
- horizontalLayout->setObjectName(QString::fromUtf8("horizontalLayout"));
- label = new QLabel(DisplaySeg);
- label->setObjectName(QString::fromUtf8("label"));
-
- horizontalLayout->addWidget(label);
-
- filepath = new QLineEdit(DisplaySeg);
- filepath->setObjectName(QString::fromUtf8("filepath"));
-
- horizontalLayout->addWidget(filepath);
-
- browseBtn = new QPushButton(DisplaySeg);
- browseBtn->setObjectName(QString::fromUtf8("browseBtn"));
-
- horizontalLayout->addWidget(browseBtn);
-
-
- verticalLayout->addLayout(horizontalLayout);
-
- horizontalLayout_2 = new QHBoxLayout();
- horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
- label_2 = new QLabel(DisplaySeg);
- label_2->setObjectName(QString::fromUtf8("label_2"));
-
- horizontalLayout_2->addWidget(label_2);
-
- segfilepath = new QLineEdit(DisplaySeg);
- segfilepath->setObjectName(QString::fromUtf8("segfilepath"));
-
- horizontalLayout_2->addWidget(segfilepath);
-
- browseSegBtn = new QPushButton(DisplaySeg);
- browseSegBtn->setObjectName(QString::fromUtf8("browseSegBtn"));
-
- horizontalLayout_2->addWidget(browseSegBtn);
-
-
- verticalLayout->addLayout(horizontalLayout_2);
-
- horizontalLayout_3 = new QHBoxLayout();
- horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3"));
- horizontalSpacer = new QSpacerItem(48, 17, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
- horizontalLayout_3->addItem(horizontalSpacer);
-
- loadBtn = new QPushButton(DisplaySeg);
- loadBtn->setObjectName(QString::fromUtf8("loadBtn"));
-
- horizontalLayout_3->addWidget(loadBtn);
-
-
- verticalLayout->addLayout(horizontalLayout_3);
-
- viewer = new mln::demo::image_viewer(DisplaySeg);
- viewer->setObjectName(QString::fromUtf8("viewer"));
- QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
- sizePolicy.setHorizontalStretch(0);
- sizePolicy.setVerticalStretch(0);
- sizePolicy.setHeightForWidth(viewer->sizePolicy().hasHeightForWidth());
- viewer->setSizePolicy(sizePolicy);
-
- verticalLayout->addWidget(viewer);
-
-
- gridLayout->addLayout(verticalLayout, 0, 0, 1, 1);
-
-
- retranslateUi(DisplaySeg);
-
- QMetaObject::connectSlotsByName(DisplaySeg);
- } // setupUi
-
- void retranslateUi(QWidget *DisplaySeg)
- {
- DisplaySeg->setWindowTitle(QApplication::translate("DisplaySeg", "Form", 0, QApplication::UnicodeUTF8));
- label->setText(QApplication::translate("DisplaySeg", "Image", 0, QApplication::UnicodeUTF8));
- browseBtn->setText(QApplication::translate("DisplaySeg", "&Browse", 0, QApplication::UnicodeUTF8));
- label_2->setText(QApplication::translate("DisplaySeg", "Segmentation", 0, QApplication::UnicodeUTF8));
- browseSegBtn->setText(QApplication::translate("DisplaySeg", "&Browse", 0, QApplication::UnicodeUTF8));
- loadBtn->setText(QApplication::translate("DisplaySeg", "&Load", 0, QApplication::UnicodeUTF8));
- Q_UNUSED(DisplaySeg);
- } // retranslateUi
-
-};
-
-namespace Ui {
- class DisplaySeg: public Ui_DisplaySeg {};
-} // namespace Ui
-
-QT_END_NAMESPACE
-
-#endif // UI_DISPLAY_SEG_H
diff --git a/milena/sandbox/lazzara/igr/gui/ui_edit_seg.h b/milena/sandbox/lazzara/igr/gui/ui_edit_seg.h
deleted file mode 100644
index 9d8e07e..0000000
--- a/milena/sandbox/lazzara/igr/gui/ui_edit_seg.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/********************************************************************************
-** Form generated from reading ui file 'edit_seg.ui'
-**
-** Created: Wed Oct 28 12:45:22 2009
-** by: Qt User Interface Compiler version 4.4.3
-**
-** WARNING! All changes made in this file will be lost when recompiling ui file!
-********************************************************************************/
-
-#ifndef UI_EDIT_SEG_H
-#define UI_EDIT_SEG_H
-
-#include <QtCore/QVariant>
-#include <QtGui/QAction>
-#include <QtGui/QApplication>
-#include <QtGui/QButtonGroup>
-#include <QtGui/QGridLayout>
-#include <QtGui/QHBoxLayout>
-#include <QtGui/QLabel>
-#include <QtGui/QLineEdit>
-#include <QtGui/QPushButton>
-#include <QtGui/QSpacerItem>
-#include <QtGui/QVBoxLayout>
-#include <QtGui/QWidget>
-#include "src/image_viewer.hh"
-
-QT_BEGIN_NAMESPACE
-
-class Ui_EditSeg
-{
-public:
- QGridLayout *gridLayout;
- QVBoxLayout *verticalLayout;
- QHBoxLayout *horizontalLayout_2;
- QLabel *label_2;
- QLineEdit *filepath;
- QPushButton *browseBtn;
- QHBoxLayout *horizontalLayout_3;
- QSpacerItem *horizontalSpacer;
- QPushButton *reloadBtn;
- QPushButton *saveBtn;
- mln::demo::image_viewer *viewer;
-
- void setupUi(QWidget *EditSeg)
- {
- if (EditSeg->objectName().isEmpty())
- EditSeg->setObjectName(QString::fromUtf8("EditSeg"));
- EditSeg->resize(400, 300);
- gridLayout = new QGridLayout(EditSeg);
- gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
- verticalLayout = new QVBoxLayout();
- verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
- horizontalLayout_2 = new QHBoxLayout();
- horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
- label_2 = new QLabel(EditSeg);
- label_2->setObjectName(QString::fromUtf8("label_2"));
-
- horizontalLayout_2->addWidget(label_2);
-
- filepath = new QLineEdit(EditSeg);
- filepath->setObjectName(QString::fromUtf8("filepath"));
-
- horizontalLayout_2->addWidget(filepath);
-
- browseBtn = new QPushButton(EditSeg);
- browseBtn->setObjectName(QString::fromUtf8("browseBtn"));
-
- horizontalLayout_2->addWidget(browseBtn);
-
-
- verticalLayout->addLayout(horizontalLayout_2);
-
- horizontalLayout_3 = new QHBoxLayout();
- horizontalLayout_3->setObjectName(QString::fromUtf8("horizontalLayout_3"));
- horizontalSpacer = new QSpacerItem(48, 17, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
- horizontalLayout_3->addItem(horizontalSpacer);
-
- reloadBtn = new QPushButton(EditSeg);
- reloadBtn->setObjectName(QString::fromUtf8("reloadBtn"));
-
- horizontalLayout_3->addWidget(reloadBtn);
-
- saveBtn = new QPushButton(EditSeg);
- saveBtn->setObjectName(QString::fromUtf8("saveBtn"));
- saveBtn->setEnabled(false);
-
- horizontalLayout_3->addWidget(saveBtn);
-
-
- verticalLayout->addLayout(horizontalLayout_3);
-
- viewer = new mln::demo::image_viewer(EditSeg);
- viewer->setObjectName(QString::fromUtf8("viewer"));
- QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
- sizePolicy.setHorizontalStretch(0);
- sizePolicy.setVerticalStretch(0);
- sizePolicy.setHeightForWidth(viewer->sizePolicy().hasHeightForWidth());
- viewer->setSizePolicy(sizePolicy);
-
- verticalLayout->addWidget(viewer);
-
-
- gridLayout->addLayout(verticalLayout, 0, 0, 1, 1);
-
-
- retranslateUi(EditSeg);
-
- QMetaObject::connectSlotsByName(EditSeg);
- } // setupUi
-
- void retranslateUi(QWidget *EditSeg)
- {
- EditSeg->setWindowTitle(QApplication::translate("EditSeg", "Form", 0, QApplication::UnicodeUTF8));
- label_2->setText(QApplication::translate("EditSeg", "Segmentation", 0, QApplication::UnicodeUTF8));
- browseBtn->setText(QApplication::translate("EditSeg", "&Browse", 0, QApplication::UnicodeUTF8));
- reloadBtn->setText(QApplication::translate("EditSeg", "&Reload", 0, QApplication::UnicodeUTF8));
- saveBtn->setText(QApplication::translate("EditSeg", "&Save changes", 0, QApplication::UnicodeUTF8));
- Q_UNUSED(EditSeg);
- } // retranslateUi
-
-};
-
-namespace Ui {
- class EditSeg: public Ui_EditSeg {};
-} // namespace Ui
-
-QT_END_NAMESPACE
-
-#endif // UI_EDIT_SEG_H
diff --git a/milena/sandbox/lazzara/igr/gui/ui_image_viewer.h b/milena/sandbox/lazzara/igr/gui/ui_image_viewer.h
deleted file mode 100644
index 01cc5df..0000000
--- a/milena/sandbox/lazzara/igr/gui/ui_image_viewer.h
+++ /dev/null
@@ -1,167 +0,0 @@
-/********************************************************************************
-** Form generated from reading ui file 'image_viewer.ui'
-**
-** Created: Wed Oct 28 12:45:22 2009
-** by: Qt User Interface Compiler version 4.4.3
-**
-** WARNING! All changes made in this file will be lost when recompiling ui file!
-********************************************************************************/
-
-#ifndef UI_IMAGE_VIEWER_H
-#define UI_IMAGE_VIEWER_H
-
-#include <QtCore/QVariant>
-#include <QtGui/QAction>
-#include <QtGui/QApplication>
-#include <QtGui/QButtonGroup>
-#include <QtGui/QGraphicsView>
-#include <QtGui/QHBoxLayout>
-#include <QtGui/QLabel>
-#include <QtGui/QPushButton>
-#include <QtGui/QSlider>
-#include <QtGui/QSpacerItem>
-#include <QtGui/QVBoxLayout>
-#include <QtGui/QWidget>
-
-QT_BEGIN_NAMESPACE
-
-class Ui_ImageViewer
-{
-public:
- QVBoxLayout *verticalLayout_2;
- QVBoxLayout *verticalLayout;
- QHBoxLayout *horizontalLayout_2;
- QSpacerItem *horizontalSpacer;
- QLabel *zoomLabel;
- QPushButton *zoomIn;
- QPushButton *zoomOut;
- QPushButton *zoomFixed;
- QPushButton *zoomOriginal;
- QSpacerItem *horizontalSpacer_2;
- QGraphicsView *image;
- QHBoxLayout *sliderLayout;
- QSlider *slider;
- QLabel *label_2;
- QLabel *frame_nb;
-
- void setupUi(QWidget *ImageViewer)
- {
- if (ImageViewer->objectName().isEmpty())
- ImageViewer->setObjectName(QString::fromUtf8("ImageViewer"));
- ImageViewer->resize(464, 350);
- QSizePolicy sizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
- sizePolicy.setHorizontalStretch(0);
- sizePolicy.setVerticalStretch(0);
- sizePolicy.setHeightForWidth(ImageViewer->sizePolicy().hasHeightForWidth());
- ImageViewer->setSizePolicy(sizePolicy);
- verticalLayout_2 = new QVBoxLayout(ImageViewer);
- verticalLayout_2->setObjectName(QString::fromUtf8("verticalLayout_2"));
- verticalLayout = new QVBoxLayout();
- verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
- horizontalLayout_2 = new QHBoxLayout();
- horizontalLayout_2->setObjectName(QString::fromUtf8("horizontalLayout_2"));
- horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
- horizontalLayout_2->addItem(horizontalSpacer);
-
- zoomLabel = new QLabel(ImageViewer);
- zoomLabel->setObjectName(QString::fromUtf8("zoomLabel"));
- zoomLabel->setEnabled(false);
-
- horizontalLayout_2->addWidget(zoomLabel);
-
- zoomIn = new QPushButton(ImageViewer);
- zoomIn->setObjectName(QString::fromUtf8("zoomIn"));
- zoomIn->setEnabled(false);
-
- horizontalLayout_2->addWidget(zoomIn);
-
- zoomOut = new QPushButton(ImageViewer);
- zoomOut->setObjectName(QString::fromUtf8("zoomOut"));
- zoomOut->setEnabled(false);
-
- horizontalLayout_2->addWidget(zoomOut);
-
- zoomFixed = new QPushButton(ImageViewer);
- zoomFixed->setObjectName(QString::fromUtf8("zoomFixed"));
- zoomFixed->setEnabled(false);
-
- horizontalLayout_2->addWidget(zoomFixed);
-
- zoomOriginal = new QPushButton(ImageViewer);
- zoomOriginal->setObjectName(QString::fromUtf8("zoomOriginal"));
- zoomOriginal->setEnabled(false);
-
- horizontalLayout_2->addWidget(zoomOriginal);
-
- horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
-
- horizontalLayout_2->addItem(horizontalSpacer_2);
-
-
- verticalLayout->addLayout(horizontalLayout_2);
-
- image = new QGraphicsView(ImageViewer);
- image->setObjectName(QString::fromUtf8("image"));
- image->setInteractive(true);
- image->setRenderHints(QPainter::SmoothPixmapTransform|QPainter::TextAntialiasing);
-
- verticalLayout->addWidget(image);
-
- sliderLayout = new QHBoxLayout();
- sliderLayout->setObjectName(QString::fromUtf8("sliderLayout"));
- slider = new QSlider(ImageViewer);
- slider->setObjectName(QString::fromUtf8("slider"));
- slider->setOrientation(Qt::Horizontal);
- slider->setTickPosition(QSlider::TicksAbove);
-
- sliderLayout->addWidget(slider);
-
- label_2 = new QLabel(ImageViewer);
- label_2->setObjectName(QString::fromUtf8("label_2"));
-
- sliderLayout->addWidget(label_2);
-
- frame_nb = new QLabel(ImageViewer);
- frame_nb->setObjectName(QString::fromUtf8("frame_nb"));
- QFont font;
- font.setBold(true);
- font.setWeight(75);
- frame_nb->setFont(font);
-
- sliderLayout->addWidget(frame_nb);
-
-
- verticalLayout->addLayout(sliderLayout);
-
-
- verticalLayout_2->addLayout(verticalLayout);
-
-
- retranslateUi(ImageViewer);
-
- QMetaObject::connectSlotsByName(ImageViewer);
- } // setupUi
-
- void retranslateUi(QWidget *ImageViewer)
- {
- ImageViewer->setWindowTitle(QApplication::translate("ImageViewer", "Form", 0, QApplication::UnicodeUTF8));
- zoomLabel->setText(QApplication::translate("ImageViewer", "Zoom:", 0, QApplication::UnicodeUTF8));
- zoomIn->setText(QApplication::translate("ImageViewer", "+", 0, QApplication::UnicodeUTF8));
- zoomOut->setText(QApplication::translate("ImageViewer", "-", 0, QApplication::UnicodeUTF8));
- zoomFixed->setText(QApplication::translate("ImageViewer", "Fixed width", 0, QApplication::UnicodeUTF8));
- zoomOriginal->setText(QApplication::translate("ImageViewer", "Original size", 0, QApplication::UnicodeUTF8));
- label_2->setText(QApplication::translate("ImageViewer", "Current Frame :", 0, QApplication::UnicodeUTF8));
- frame_nb->setText(QApplication::translate("ImageViewer", "0", 0, QApplication::UnicodeUTF8));
- Q_UNUSED(ImageViewer);
- } // retranslateUi
-
-};
-
-namespace Ui {
- class ImageViewer: public Ui_ImageViewer {};
-} // namespace Ui
-
-QT_END_NAMESPACE
-
-#endif // UI_IMAGE_VIEWER_H
diff --git a/milena/sandbox/lazzara/igr/gui/ui_main_window.h b/milena/sandbox/lazzara/igr/gui/ui_main_window.h
deleted file mode 100644
index 0f1ce23..0000000
--- a/milena/sandbox/lazzara/igr/gui/ui_main_window.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/********************************************************************************
-** Form generated from reading ui file 'main_window.ui'
-**
-** Created: Wed Oct 28 13:14:49 2009
-** by: Qt User Interface Compiler version 4.4.3
-**
-** WARNING! All changes made in this file will be lost when recompiling ui file!
-********************************************************************************/
-
-#ifndef UI_MAIN_WINDOW_H
-#define UI_MAIN_WINDOW_H
-
-#include <QtCore/QVariant>
-#include <QtGui/QAction>
-#include <QtGui/QApplication>
-#include <QtGui/QButtonGroup>
-#include <QtGui/QGridLayout>
-#include <QtGui/QMainWindow>
-#include <QtGui/QMenuBar>
-#include <QtGui/QStatusBar>
-#include <QtGui/QTabWidget>
-#include <QtGui/QWidget>
-#include "src/display_seg.hh"
-#include "src/edit_seg.hh"
-
-QT_BEGIN_NAMESPACE
-
-class Ui_MainWindow
-{
-public:
- QWidget *centralwidget;
- QGridLayout *gridLayout;
- QTabWidget *tabWidget;
- mln::demo::display_seg *Visualization;
- mln::demo::edit_seg *Edition;
- QMenuBar *menubar;
- QStatusBar *statusbar;
-
- void setupUi(QMainWindow *MainWindow)
- {
- if (MainWindow->objectName().isEmpty())
- MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
- MainWindow->resize(487, 335);
- centralwidget = new QWidget(MainWindow);
- centralwidget->setObjectName(QString::fromUtf8("centralwidget"));
- gridLayout = new QGridLayout(centralwidget);
- gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
- tabWidget = new QTabWidget(centralwidget);
- tabWidget->setObjectName(QString::fromUtf8("tabWidget"));
- Visualization = new mln::demo::display_seg();
- Visualization->setObjectName(QString::fromUtf8("Visualization"));
- tabWidget->addTab(Visualization, QString());
- Edition = new mln::demo::edit_seg();
- Edition->setObjectName(QString::fromUtf8("Edition"));
- tabWidget->addTab(Edition, QString());
-
- gridLayout->addWidget(tabWidget, 0, 0, 1, 1);
-
- MainWindow->setCentralWidget(centralwidget);
- menubar = new QMenuBar(MainWindow);
- menubar->setObjectName(QString::fromUtf8("menubar"));
- menubar->setGeometry(QRect(0, 0, 487, 31));
- MainWindow->setMenuBar(menubar);
- statusbar = new QStatusBar(MainWindow);
- statusbar->setObjectName(QString::fromUtf8("statusbar"));
- MainWindow->setStatusBar(statusbar);
-
- retranslateUi(MainWindow);
-
- tabWidget->setCurrentIndex(0);
-
-
- QMetaObject::connectSlotsByName(MainWindow);
- } // setupUi
-
- void retranslateUi(QMainWindow *MainWindow)
- {
- MainWindow->setWindowTitle(QApplication::translate("MainWindow", "Segmentation tools", 0, QApplication::UnicodeUTF8));
- tabWidget->setTabText(tabWidget->indexOf(Visualization), QApplication::translate("MainWindow", "Visualization", 0, QApplication::UnicodeUTF8));
- tabWidget->setTabText(tabWidget->indexOf(Edition), QApplication::translate("MainWindow", "Edition", 0, QApplication::UnicodeUTF8));
- Q_UNUSED(MainWindow);
- } // retranslateUi
-
-};
-
-namespace Ui {
- class MainWindow: public Ui_MainWindow {};
-} // namespace Ui
-
-QT_END_NAMESPACE
-
-#endif // UI_MAIN_WINDOW_H
--
1.5.6.5
1
0