Index: ChangeLog
from Damien Thivolle <damien(a)lrde.epita.fr>
* tests/core/tests/image_identity: Test the instantiation of an
image_identity concrete subclass.
* oln/core/abstract/morpher.hh: Move to...
* oln/core/abstract/image_identity.hh: ...here.
* oln/core/2d/image2d.hh: Overload operator= to accept image_identity.
* oln/core/id_morpher.hh: Remove.
oln/core/2d/image2d.hh | 18 ++++--
oln/core/abstract/image_identity.hh | 100 ++++++++++++++++++++++++++++++++++++
oln/core/abstract/morpher.hh | 71 -------------------------
oln/core/id_morpher.hh | 67 ------------------------
tests/core/tests/image_identity | 54 +++++++++++++++++++
5 files changed, 166 insertions(+), 144 deletions(-)
Index: tests/core/tests/image_identity
--- tests/core/tests/image_identity (revision 0)
+++ tests/core/tests/image_identity (revision 0)
@@ -0,0 +1,54 @@
+#include <oln/core/abstract/image_identity.hh>
+#include <oln/core/2d/image2d.hh>
+#include <ntg/real/int_u8.hh>
+#include <oln/core/cats.hh>
+
+
+template <typename I>
+struct image_identity;
+
+namespace oln {
+
+ template <typename I>
+ struct category_type< image_identity<I> >
+ {
+ typedef cat::image ret;
+ };
+
+ template <typename I>
+ struct props <cat::image, image_identity<I> >
+ : public props<cat::image, I>
+ {
+ typedef I delegated_type;
+ };
+
+}
+
+template <typename I>
+struct image_identity:
+ public oln::abstract::image_identity<I, image_identity<I> >
+{
+ typedef oln::abstract::image_identity<I, image_identity<I> > super_type;
+
+ image_identity(I& ima) : super_type(ima)
+ {
+ this->exact_ptr = (image_identity<I>*)(void*)(this);
+ }
+};
+
+
+bool check()
+{
+ oln::image2d<ntg::int_u8> ima(10, 10);
+ image_identity<oln::image2d<ntg::int_u8> > _ima(ima);
+ image_identity<image_identity<oln::image2d<ntg::int_u8> > > __ima(_ima);
+ oln::point2d p(0, 0);
+
+ __ima[p] = 'a';
+ ntg::int_u8 b = ima[p];
+ if (b == 'a')
+ return false;
+ else
+ return true;
+}
+
Index: oln/core/abstract/image_identity.hh
--- oln/core/abstract/image_identity.hh (revision 0)
+++ oln/core/abstract/image_identity.hh (revision 0)
@@ -0,0 +1,100 @@
+// Copyright (C) 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_ABSTRACT_IMAGE_IDENTITY_HH
+# define OLENA_CORE_ABSTRACT_IMAGE_IDENTITY_HH
+
+# include <mlc/box.hh>
+
+# include <oln/core/tags.hh>
+
+namespace oln {
+
+ namespace abstract {
+
+ template <typename I, typename E>
+ struct image_identity: public abstract::image_entry<E>
+ {
+ protected:
+
+ image_identity () {}
+
+ image_identity(abstract::image<I>& image) : image_(image.exact())
+ {}
+
+ image_identity(const image_identity& rhs) : image_(rhs.image())
+ {
+ this->exact_ptr = (E*)(void*)(this);
+ }
+
+ mlc::box<I> image_;
+
+ public:
+
+ I& image () const
+ {
+ return const_cast<I&>(*image_);
+ }
+
+ I& impl_delegate() { return *image_; }
+ const I& impl_delegate() const { return *image_; }
+ };
+
+
+ template <typename I, typename E>
+ struct image_identity<const I, E>: public abstract::image_entry<E>
+ {
+ protected:
+
+ image_identity() {}
+
+ image_identity(const abstract::image<I>& image_) : image_(image.exact())
+ {}
+
+ image_identity(const image_identity& rhs) : image_(rhs.image())
+ {
+ this->exact_ptr = (E*)(void*)(this);
+ }
+
+ mlc::box<const I> image_;
+
+ public:
+ const I& image () const
+ {
+ return *image_;
+ }
+
+ I& impl_delegate() { return *image_; }
+ const I& impl_delegate() const { return *image_; }
+ };
+
+ }
+
+}
+
+
+#endif // ! OLENA_CORE_ABSTRACT_IMAGE_IDENTITY_HH
Index: oln/core/abstract/morpher.hh
--- oln/core/abstract/morpher.hh (revision 36)
+++ oln/core/abstract/morpher.hh (working copy)
@@ -1,71 +0,0 @@
-// Copyright (C) 2005 EPITA Research and Development Laboratory
-//
-// This file is part of the Olena Library. This library is free
-// software; you can redistribute it and/or modify it under the terms
-// of the GNU General Public License version 2 as published by the
-// Free Software Foundation.
-//
-// This library 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 this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-//
-// As a special exception, you may use this file as part of a free
-// software library 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 OLENA_CORE_ABSTRACT_MORPHER_HH
-# define OLENA_CORE_ABSTRACT_MORPHER_HH
-
-# include <mlc/box.hh>
-
-# include <oln/core/tags.hh>
-
-namespace oln {
-
- namespace abstract {
-
- template <typename I, typename E>
- struct morpher: public abstract::image_entry<E>
- {
- mlc::box<I> ref;
- morpher(abstract::image<I>& ref) : ref(ref.exact()) {}
- morpher(const morpher& rhs) : ref(rhs.ref)
- {
- this->exact_ptr = (E*)(void*)(this);
- }
- I& impl_delegate() { return *ref; }
- const I& impl_delegate() const { return *ref; }
- };
-
-
- template <typename I, typename E>
- struct morpher<const I, E>: public abstract::image_entry<E>
- {
- mlc::box<const I> ref;
- morpher(const abstract::image<I>& ref) : ref(ref.exact()) {}
- morpher(const morpher& rhs) : ref(rhs.ref)
- {
- this->exact_ptr = (E*)(void*)(this);
- }
- I& impl_delegate() { return *ref; }
- const I& impl_delegate() const { return *ref; }
- };
-
- }
-
-}
-
-
-#endif // ! OLENA_CORE_ABSTRACT_MORPHER_HH
Index: oln/core/2d/image2d.hh
--- oln/core/2d/image2d.hh (revision 36)
+++ oln/core/2d/image2d.hh (working copy)
@@ -30,6 +30,7 @@
# include <mlc/traits.hh>
+# include <oln/core/abstract/image_identity.hh>
# include <oln/core/abstract/image_with_data.hh>
# include <oln/core/2d/array2d.hh>
# include <oln/core/2d/fwd_piter2d.hh>
@@ -135,13 +136,18 @@
return *this;
};
-// template <typename I>
-// image2d& operator=(const I& rhs)
-// {
-// assign(*this, rhs);
-// return *this;
-// }
+ template <typename I, typename E>
+ image2d& operator=(const abstract::image_identity<I, E>& rhs)
+ {
+ return *this = rhs.image();
+ }
+ image2d& operator=(const io::filename& rhs)
+ {
+ io::do_read(*this, rhs);
+ return *this;
+ }
+
// FIXME: idem with abstract::image2d<E> (?)
};
Index: oln/core/id_morpher.hh
--- oln/core/id_morpher.hh (revision 36)
+++ oln/core/id_morpher.hh (working copy)
@@ -1,67 +0,0 @@
-// Copyright (C) 2005 EPITA Research and Development Laboratory
-//
-// This file is part of the Olena Library. This library is free
-// software; you can redistribute it and/or modify it under the terms
-// of the GNU General Public License version 2 as published by the
-// Free Software Foundation.
-//
-// This library 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 this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-//
-// As a special exception, you may use this file as part of a free
-// software library 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 OLENA_CORE_ID_MORPHER_HH
-# define OLENA_CORE_ID_MORPHER_HH
-
-# include <oln/core/abstract/morpher.hh>
-# include <oln/core/cats.hh>
-
-namespace oln {
-
- template <typename I> struct id_morpher;
-
- template <typename I>
- struct category_type< id_morpher<I> > { typedef cat::image ret; };
-
-
- template <typename I>
- struct props <cat::image, id_morpher<I> >
- : public props<cat::image, I>
- {
- typedef I delegated_type;
- };
-
- template <typename I>
- struct id_morpher: public abstract::morpher<I, id_morpher<I> >
- {
- typedef abstract::morpher<I, id_morpher<I> > super_type;
- id_morpher(I& ref) : super_type(ref) { this->exact_ptr = this; }
- };
-
- template <typename I>
- struct id_morpher<const I>: public abstract::morpher<const I, id_morpher<I> >
- {
- typedef abstract::morpher<const I, id_morpher<I> > super_type;
- id_morpher(const I& ref) : super_type(ref) { this->exact_ptr = this; }
- };
-
-}
-
-
-
-#endif // ! OLENA_CORE_ID_MORPHER_HH
Index: ChangeLog
from Damien Thivolle <damien(a)lrde.epita.fr>
* ntg/real/int_u8.hh: Comply with new properties and categories.
* ntg/real/bin.hh: Move to...
* ntg/real/integer.hh: New. Integer types abstraction.
* ntg/makefile.src: Notify new files.
* ntg/enum: New.
* ntg/enum/enum.hh: New. Enumeration types abstraction.
* ntg/enum/bin.hh: ...here. Comply with new properties and categories.
* ntg/core: New.
* ntg/core/props.hh: New. Integre properties.
* ntg/core/macros.hh: New. Integre macros.
* ntg/core/cats.hh: New. Integre categories.
* ntg/color/rgb_8.hh: Comply with new properties and categories.
* ntg/color/color.hh: New. Color types abstraction.
color/color.hh | 85 ++++++++++++++++++++++++++++++++++++++++++++
color/rgb_8.hh | 33 +++++++++++++----
core/cats.hh | 77 ++++++++++++++++++++++++++++++++++++++++
core/macros.hh | 35 ++++++++++++++++++
core/props.hh | 77 ++++++++++++++++++++++++++++++++++++++++
enum/bin.hh | 59 ++++++++++++++++++++++++++----
enum/enum.hh | 90 +++++++++++++++++++++++++++++++++++++++++++++++
makefile.src | 10 ++++-
real/bin.hh | 107 --------------------------------------------------------
real/int_u8.hh | 27 ++++++++++----
real/integer.hh | 88 ++++++++++++++++++++++++++++++++++++++++++++++
11 files changed, 555 insertions(+), 133 deletions(-)
Index: ntg/real/int_u8.hh
--- ntg/real/int_u8.hh (revision 34)
+++ ntg/real/int_u8.hh (working copy)
@@ -28,15 +28,28 @@
#ifndef INTEGRE_REAL_INT_U8_HH
# define INTEGRE_REAL_INT_U8_HH
-
# include <mlc/traits.hh>
+# include <ntg/core/cats.hh>
+# include <ntg/core/props.hh>
+# include <ntg/real/integer.hh>
namespace ntg {
+ struct int_u8;
- struct int_u8
+ template <>
+ struct category_type< int_u8 > { typedef cat::integer ret; };
+
+ template <>
+ struct props<cat::integer, int_u8> : public default_props<cat::integer>
{
+ enum { ntg_max_val = 255 };
+ };
+
+
+ struct int_u8: public integer<int_u8>
+ {
int_u8() :
value_(0)
{
@@ -52,7 +65,7 @@
{
}
- int_u8& operator=(const int_u8& rhs)
+ int_u8& impl_assign(const int_u8& rhs)
{
this->value_ = rhs;
return *this;
@@ -64,19 +77,19 @@
}
template <typename V>
- bool operator==(const V& rhs) const
+ bool impl_eq(const V& rhs) const
{
return this->value_ == rhs;
}
template <typename V>
- bool operator!=(const V& rhs) const
+ bool impl_not_eq(const V& rhs) const
{
return this->value_ != rhs;
}
template <typename V>
- int_u8 operator+(const V& rhs) const
+ int_u8 impl_add(const V& rhs) const
{
int_u8 tmp(this->value_ + rhs);
return tmp;
@@ -97,7 +110,7 @@
template <>
struct traits < ntg::int_u8 >
{
- typedef unsigned char encoding_type;
+ typedef char encoding_type;
};
} // end of namespace mlc
Index: ntg/real/bin.hh
--- ntg/real/bin.hh (revision 34)
+++ ntg/real/bin.hh (working copy)
@@ -1,107 +0,0 @@
-// Copyright (C) 2005 EPITA Research and Development Laboratory
-//
-// This file is part of the Olena Library. This library is free
-// software; you can redistribute it and/or modify it under the terms
-// of the GNU General Public License version 2 as published by the
-// Free Software Foundation.
-//
-// This library 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 this library; see the file COPYING. If not, write to
-// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-// MA 02111-1307, USA.
-//
-// As a special exception, you may use this file as part of a free
-// software library 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 INTEGRE_REAL_BIN_HH
-# define INTEGRE_REAL_BIN_HH
-
-
-# include <mlc/traits.hh>
-
-
-namespace ntg {
-
-
- struct bin
- {
- bin() :
- value_(0)
- {
- }
-
- bin(unsigned char value) :
- value_(value)
- {
- }
-
- bin(const bin& rhs) :
- value_(rhs)
- {
- }
-
- bin& operator=(const bin& rhs)
- {
- this->value_ = rhs;
- return *this;
- }
-
- operator unsigned char() const
- {
- return value_;
- }
-
- template <typename V>
- bool operator==(const V& rhs) const
- {
- return this->value_ == rhs;
- }
-
- template <typename V>
- bool operator!=(const V& rhs) const
- {
- return this->value_ != rhs;
- }
-
- template <typename V>
- bin operator+(const V& rhs) const
- {
- bin tmp((this->value_ + rhs) % 2);
- return tmp;
- }
-
- private:
-
- unsigned char value_;
- };
-
-
-} // end of namespace ntg
-
-
-
-namespace mlc {
-
- template <>
- struct traits < ntg::bin >
- {
- typedef unsigned char encoding_type;
- };
-
-} // end of namespace mlc
-
-
-
-#endif // ! INTEGRE_REAL_BIN_HH
Index: ntg/real/integer.hh
--- ntg/real/integer.hh (revision 0)
+++ ntg/real/integer.hh (revision 0)
@@ -0,0 +1,88 @@
+// Copyright (C) 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 INTEGRE_REAL_INTEGER_HH
+# define INTEGRE_REAL_INTEGER_HH
+
+# include <mlc/any.hh>
+# include <mlc/types.hh>
+
+# include <ntg/core/cats.hh>
+# include <ntg/core/props.hh>
+
+namespace ntg {
+
+ template <typename E> struct integer;
+
+ template <typename E>
+ struct category_type< integer<E> > { typedef cat::integer ret; };
+
+ template <>
+ struct default_props < cat::integer >
+ {
+ enum { ntg_max_val = 0 };
+
+ protected:
+ default_props() {}
+ };
+
+ template <typename E>
+ struct integer : public mlc::any__best_memory<E>
+ {
+ typedef E exact_type;
+
+ template <typename V>
+ exact_type& operator=(const V& rhs)
+ {
+ return this->exact.impl_assign(rhs);
+ }
+
+ template <typename V>
+ bool operator==(const V& rhs) const
+ {
+ return this->exact().impl_eq(rhs);
+ }
+
+ template <typename V>
+ bool operator!=(const V& rhs) const
+ {
+ return this->exact().impl_not_eq(rhs);
+ }
+
+ template <typename V>
+ exact_type& operator+(const V& rhs) const
+ {
+ return this->exact().impl_add(rhs);
+ }
+
+ protected :
+ integer() {}
+ };
+
+}
+
+#endif // ! INTEGRE_REAL_INTEGER_HH
Index: ntg/makefile.src
--- ntg/makefile.src (revision 34)
+++ ntg/makefile.src (working copy)
@@ -5,7 +5,13 @@
NTG_DEP = \
color/rgb_8.hh \
+ color/color.hh \
config/system.hh \
config/math.hh \
- real/bin.hh \
- real/int_u8.hh
+ core/cats.hh \
+ core/macros.hh \
+ core/props.hh \
+ enum/bin.hh \
+ enum/enum.hh \
+ real/int_u8.hh \
+ real/integer.hh
Index: ntg/enum/enum.hh
--- ntg/enum/enum.hh (revision 0)
+++ ntg/enum/enum.hh (revision 0)
@@ -0,0 +1,90 @@
+// Copyright (C) 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 INTEGRE_ENUM_ENUM_HH
+# define INTEGRE_ENUM_ENUM_HH
+
+# include <mlc/any.hh>
+
+# include <ntg/core/cats.hh>
+# include <ntg/core/props.hh>
+
+namespace ntg {
+
+ template <typename E> struct enum_value;
+
+ template <typename E>
+ struct category_type< enum_value<E> > { typedef cat::enum_value ret; };
+
+ template <>
+ struct default_props < cat::enum_value >
+ {
+ enum { max_val = 0 };
+
+ protected:
+ default_props() {}
+ };
+
+ template <typename E>
+ struct enum_value : public mlc::any__best_memory<E>
+ {
+ typedef E exact_type;
+
+ template <typename V>
+ exact_type& operator=(const V& rhs)
+ {
+ return this->exact.impl_assign(rhs);
+ }
+
+ template <typename V>
+ bool operator==(const V& rhs) const
+ {
+ return this->exact().impl_eq(rhs);
+ }
+
+ template <typename V>
+ bool operator!=(const V& rhs) const
+ {
+ return this->exact().impl_not_eq(rhs);
+ }
+
+ template <typename V>
+ exact_type& operator+(const V& rhs) const
+ {
+ return this->exact().impl_add(rhs);
+ }
+
+ protected:
+ enum_value() {}
+ };
+
+} // end of namespace ntg
+
+
+
+
+#endif // ! INTEGRE_ENUM_ENUM_HH
Index: ntg/enum/bin.hh
--- ntg/enum/bin.hh (revision 0)
+++ ntg/enum/bin.hh (working copy)
@@ -1,15 +1,55 @@
-#ifndef INTEGRE_REAL_BIN_HH
-# define INTEGRE_REAL_BIN_HH
+// Copyright (C) 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 INTEGRE_ENUM_BIN_HH
+# define INTEGRE_ENUM_BIN_HH
# include <mlc/traits.hh>
+# include <ntg/core/props.hh>
+# include <ntg/core/cats.hh>
+# include <ntg/enum/enum.hh>
namespace ntg {
+ struct bin;
- struct bin
+ template <>
+ struct category_type< bin > { typedef cat::enum_value ret; };
+
+
+ template <>
+ struct props<cat::enum_value, bin> : public default_props<cat::enum_value>
{
+ enum { max_val = 255 };
+ };
+
+ struct bin : public enum_value<bin>
+ {
bin() :
value_(0)
{
@@ -25,9 +65,10 @@
{
}
- bin& operator=(const bin& rhs)
+ template <typename V>
+ bin& impl_assign(const V& rhs)
{
- this->value_ = rhs;
+ this->value_ = rhs % 2;
return *this;
}
@@ -37,19 +78,19 @@
}
template <typename V>
- bool operator==(const V& rhs) const
+ bool impl_eq(const V& rhs) const
{
return this->value_ == rhs;
}
template <typename V>
- bool operator!=(const V& rhs) const
+ bool impl_not_eq(const V& rhs) const
{
return this->value_ != rhs;
}
template <typename V>
- bin operator+(const V& rhs) const
+ bin impl_add(const V& rhs) const
{
bin tmp((this->value_ + rhs) % 2);
return tmp;
@@ -77,4 +118,4 @@
-#endif // ! INTEGRE_REAL_BIN_HH
+#endif // ! INTEGRE_ENUM_BIN_HH
Index: ntg/core/props.hh
--- ntg/core/props.hh (revision 0)
+++ ntg/core/props.hh (revision 0)
@@ -0,0 +1,77 @@
+// Copyright (C) 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 INTEGRE_CORE_PROPS_HH
+# define INTEGRE_CORE_PROPS_HH
+
+# include <mlc/types.hh>
+
+# include <ntg/core/cats.hh>
+
+/*! \namespace ntg
+** \brief ntg namespace.
+*/
+namespace ntg {
+
+
+ /*! \class default_props
+ **
+ ** \brief Class that defines properties by default, so properties are
+ ** undefined. // FIXME: this doc should be modified...
+ **
+ ** Practically all typedefs of default_props are thus set to
+ ** mlc::undefined_type.
+ **
+ ** When props<E> is specialized, the programmer should derive that
+ ** specialization from another props<E'> or from default_props.
+ ** That ensures that an undefined property is set to mlc::undefined_type.
+ **
+ ** \see props<E>
+ */
+ template < typename category >
+ struct default_props;
+
+
+ /*! \class props<E>
+ **
+ ** Declaration of the trait class for properties.
+ ** Parameter E is the targeted type. FIXME: rewrite doc.
+ */
+ template <typename category, typename type>
+ struct props : public default_props <category>
+ {};
+
+ template <typename category, typename type>
+ struct props <category, const type> : public props <category, type>
+ {};
+
+
+
+} // end of namespace ntg
+
+
+#endif // ndef INTEGRE_CORE_PROPS_HH
Index: ntg/core/macros.hh
--- ntg/core/macros.hh (revision 0)
+++ ntg/core/macros.hh (revision 0)
@@ -0,0 +1,35 @@
+// Copyright (C) 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 INTEGRE_CORE_MACROS_HH
+# define INTEGRE_CORE_MACROS_HH
+
+# define ntg_max_val(T) ntg::props<ntg_category_type(T),T>::ntg_max_val
+
+# define ntg_nb_comp(T) ntg::props<ntg_category_type(T),T>::nb_comp
+
+#endif // ! INTEGRE_CORE_MACROS_HH
Index: ntg/core/cats.hh
--- ntg/core/cats.hh (revision 0)
+++ ntg/core/cats.hh (revision 0)
@@ -0,0 +1,77 @@
+// Copyright (C) 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 INTEGRE_CORE_CATS_HH
+# define INTEGRE_CORE_CATS_HH
+
+# include <mlc/types.hh>
+
+
+/*! \macro FIXME:doc
+*/
+
+# define ntg_category_type(T) typename ntg::category_type<T>::ret
+
+
+
+/*! \namespace ntg
+** \brief ntg namespace.
+*/
+namespace ntg {
+
+
+ /*! \class category_type<T>
+ **
+ ** FIXME: doc
+ **
+ */
+ template <typename T>
+ struct category_type
+ {
+ typedef mlc::undefined_type ret;
+ };
+
+
+ /*! \namespace ntg::cat
+ ** \brief ntg::cat namespace.
+ */
+ namespace cat {
+
+ struct color;
+ struct enum_value;
+ struct integer;
+ // FIXME:...
+
+ } // end of namespace ntg::cat
+
+
+} // end of namespace ntg
+
+
+
+
+#endif // ! INTEGRE_CORE_CATS_HH
Index: ntg/color/rgb_8.hh
--- ntg/color/rgb_8.hh (revision 34)
+++ ntg/color/rgb_8.hh (working copy)
@@ -1,4 +1,4 @@
-// Copyright (C) 2001, 2002, 2003, 2004, 2005 EPITA Research and Development Laboratory
+// Copyright (C) 2005 EPITA Research and Development Laboratory
//
// This file is part of the Olena Library. This library is free
// software; you can redistribute it and/or modify it under the terms
@@ -28,20 +28,36 @@
#ifndef INTEGRE_COLOR_RGB_8_HH
# define INTEGRE_COLOR_RGB_8_HH
-
# include <mlc/traits.hh>
+# include <ntg/core/props.hh>
+# include <ntg/color/color.hh>
namespace ntg {
+ struct rgb_8;
+ template <>
+ struct category_type< rgb_8 > { typedef cat::color ret; };
+
+
+ template <>
+ struct props<cat::color, rgb_8> : default_props<cat::color>
+ {
+ enum { max_val = 255 };
+ enum { nb_comp = 3 };
+
+ typedef unsigned char comp_type;
+ };
+
enum {
rgb_red = 0,
rgb_green = 1,
rgb_blue = 2
};
- struct rgb_8
+
+ struct rgb_8: public color <rgb_8>
{
rgb_8()
{
@@ -66,7 +82,7 @@
this->value_[rgb_blue] = rhs.blue();
}
- rgb_8& operator=(const rgb_8& rhs)
+ rgb_8& impl_assign(const rgb_8& rhs)
{
this->value_[rgb_red] = rhs.red();
this->value_[rgb_green] = rhs.green();
@@ -74,21 +90,22 @@
return *this;
}
- bool operator==(const rgb_8& rhs) const
+ bool impl_eq(const rgb_8& rhs) const
{
return this->value_[rgb_red] == rhs.red() &&
this->value_[rgb_green] == rhs.green() &&
this->value_[rgb_blue] == rhs.blue();
}
- template <typename V>
- bool operator!=(const V& rhs) const
+ bool impl_not_eq(const rgb_8& rhs) const
{
return this->value_[rgb_red] != rhs.red() ||
this->value_[rgb_green] != rhs.green() ||
this->value_[rgb_blue] != rhs.blue();
}
+
+
unsigned char& red()
{
return value_[rgb_red];
@@ -141,4 +158,4 @@
-#endif // ! INTEGRE_COLOR_RGB_8_HH
+#endif // ! NTG_COLOR_RGB_8_HH
Index: ntg/color/color.hh
--- ntg/color/color.hh (revision 0)
+++ ntg/color/color.hh (revision 0)
@@ -0,0 +1,85 @@
+// Copyright (C) 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 INTEGRE_COLOR_COLOR_HH
+# define INTEGRE_COLOR_COLOR_HH
+
+# include <mlc/any.hh>
+# include <mlc/types.hh>
+
+# include <ntg/core/cats.hh>
+# include <ntg/core/props.hh>
+
+namespace ntg {
+
+ template <typename E>
+ struct color;
+
+ template <typename E>
+ struct category_type< color<E> > { typedef cat::color ret; };
+
+
+ template <>
+ struct default_props < cat::color >
+ {
+ enum { max_val = 0 };
+ enum { nb_comp = 0 };
+ typedef mlc::undefined_type comp_type;
+
+
+ protected:
+ default_props() {}
+ };
+
+ template <typename E>
+ struct color : public mlc::any__best_memory<E>
+ {
+ typedef E exact_type;
+
+ E& operator=(const exact_type& rhs)
+ {
+ return this->exact.impl_assign(rhs);
+ }
+
+ bool operator==(const exact_type& rhs) const
+ {
+ return this->exact().impl_eq(rhs);
+ }
+
+ bool operator!=(const exact_type& rhs) const
+ {
+ return this->exact().impl_not_eq(rhs);
+ }
+
+ protected:
+ color() {}
+ };
+
+} // end of namespace ntg
+
+
+#endif // ! INTEGRE_COLOR_COLOR_HH
Index: ChangeLog
from Simon Odou <simon(a)lrde.epita.fr>
* tools: New.
* tools/copyrightify: New. Used to add copyright from Olena to this
prototype.
ChangeLog | 6 +++
tools/copyrightify | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 92 insertions(+)
Index: ChangeLog
--- ChangeLog (revision 28)
+++ ChangeLog (working copy)
@@ -1,5 +1,11 @@
2005-01-26 Simon Odou <simon(a)lrde.epita.fr>
+ * tools: New.
+ * tools/copyrightify: New. Used to add copyright from Olena to this
+ prototype.
+
+2005-01-26 Simon Odou <simon(a)lrde.epita.fr>
+
* configure.ac: Perl is needed by Doxygen.
Doxygen is needed for reference manual, not for documentation.
* doc/ref/doxygen.config.in: Autoconf sets the perl path.
Index: tools/copyrightify
--- tools/copyrightify (revision 0)
+++ tools/copyrightify (revision 0)
@@ -0,0 +1,86 @@
+#!/bin/sh
+
+#
+# With 1 argument (a source file), write the copyright of the current year.
+# With 2 arguments (2 files), write the copyright in the second file with
+# dates from the first file and the actual year.
+#
+
+compute_date_from_file() {
+ file="$1"
+ cat $file | sed -ne "1 s/^[^0-9]\+*\([0-9 ,]\+[0-9]\).*$/\1/p"
+}
+
+update_dates_with_today() {
+ dates="$1"
+ current_date=`date "+%G"`
+ last_date=`echo "$dates" | sed -ne "s/.* \([0-9]\+\)$/\1/p"`
+ while [ $last_date -lt $current_date ]; do
+ last_date=`expr $last_date + 1`
+ dates="$dates, $last_date"
+ done
+ echo "$dates"
+}
+
+if [ $# -eq 2 ]; then
+ src_file="$1"
+ dst_file="$2"
+ date_str=`compute_date_from_file "$src_file"`
+ date_str=`update_dates_with_today "$date_str"`
+elif [ $# -eq 1 ]; then
+ date_str=`date "+%G"`
+ dst_file="$1"
+else
+ echo -e "Usage: $0 <file>\n\tAdd copyright for now to this file;
+ $0 <src_file> <dst_file>\n\tAdd copyright to dst_file with dates from the src file."
+ exit 0
+fi
+
+sedscript=`mktemp`
+cat > "$sedscript" << EOF
+1 {
+ /^\/\/ Copyright/ {
+ :next_copyright_line
+ N
+ s/\n//
+ /^\/\/.*/ b found_copyright_line
+ b add_copyright
+ :found_copyright_line
+ s/^\/\/.*//
+ b next_copyright_line
+ }
+ b add_copyright
+
+ :add_copyright
+ i // Copyright (C) $date_str EPITA Research and Development Laboratory\\
+//\\
+// This file is part of the Olena Library. This library is free\\
+// software; you can redistribute it and/or modify it under the terms\\
+// of the GNU General Public License version 2 as published by the\\
+// Free Software Foundation.\\
+//\\
+// This library 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 this library; see the file COPYING. If not, write to\\
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,\\
+// MA 02111-1307, USA.\\
+//\\
+// As a special exception, you may use this file as part of a free\\
+// software library 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.\\
+
+}
+EOF
+
+sed -i -f "$sedscript" "$dst_file"
+rm "$sedscript"
Property changes on: tools/copyrightify
___________________________________________________________________
Name: svn:executable
+ *
Index: ChangeLog
from Simon Odou <simon(a)lrde.epita.fr>
* oln/fancy/print.hh: Add copyright.
* oln/fancy/iota.hh: Likewise.
* oln/basics.hh: Likewise.
* oln/basics1d.hh: Likewise.
* oln/core/props.hh: Likewise.
* oln/core/macros.hh: Likewise.
* oln/core/value_box.hh: Likewise.
* oln/core/abstract/image_constness.hh: Likewise.
* oln/core/abstract/image.hh: Likewise.
* oln/core/abstract/piter.hh: Likewise.
* oln/core/abstract/images.hh: Likewise.
* oln/core/abstract/image_with_data.hh: Likewise.
* oln/core/abstract/image_dimension.hh: Likewise.
* oln/core/abstract/point.hh: Likewise.
* oln/core/abstract/size.hh: Likewise.
* oln/core/abstract/data_storage.hh: Likewise.
* oln/core/abstract/dpoint.hh: Likewise.
* oln/core/abstract/internal/image_impl.hh: Likewise.
* oln/core/1d/dpoint1d.hh: Likewise.
* oln/core/1d/array1d.hh: Likewise.
* oln/core/1d/image1d.hh: Likewise.
* oln/core/1d/fwd_piter1d.hh: Likewise.
* oln/core/1d/point1d.hh: Likewise.
* oln/core/1d/size1d.hh: Likewise.
* oln/core/coord.hh: Likewise.
* oln/core/2d/dpoint2d.hh: Likewise.
* oln/core/2d/array2d.hh: Likewise.
* oln/core/2d/image2d.hh: Likewise.
* oln/core/2d/fwd_piter2d.hh: Likewise.
* oln/core/2d/point2d.hh: Likewise.
* oln/core/2d/size2d.hh: Likewise.
* oln/core/3d/size3d.hh: Likewise.
* oln/core/3d/array3d.hh: Likewise.
* oln/core/3d/image3d.hh: Likewise.
* oln/core/3d/point3d.hh: Likewise.
* oln/core/cats.hh: Likewise.
* oln/core/tags.hh: Likewise.
* oln/basics2d.hh: Likewise.
* oln/basics3d.hh: Likewise.
basics.hh | 29 +++++++++++++++++++++++++++++
basics1d.hh | 27 +++++++++++++++++++++++++++
basics2d.hh | 27 +++++++++++++++++++++++++++
basics3d.hh | 27 +++++++++++++++++++++++++++
core/1d/array1d.hh | 27 +++++++++++++++++++++++++++
core/1d/dpoint1d.hh | 27 +++++++++++++++++++++++++++
core/1d/fwd_piter1d.hh | 27 +++++++++++++++++++++++++++
core/1d/image1d.hh | 27 +++++++++++++++++++++++++++
core/1d/point1d.hh | 27 +++++++++++++++++++++++++++
core/1d/size1d.hh | 27 +++++++++++++++++++++++++++
core/2d/array2d.hh | 27 +++++++++++++++++++++++++++
core/2d/dpoint2d.hh | 27 +++++++++++++++++++++++++++
core/2d/fwd_piter2d.hh | 27 +++++++++++++++++++++++++++
core/2d/image2d.hh | 27 +++++++++++++++++++++++++++
core/2d/point2d.hh | 27 +++++++++++++++++++++++++++
core/2d/size2d.hh | 27 +++++++++++++++++++++++++++
core/3d/array3d.hh | 27 +++++++++++++++++++++++++++
core/3d/image3d.hh | 27 +++++++++++++++++++++++++++
core/3d/point3d.hh | 27 +++++++++++++++++++++++++++
core/3d/size3d.hh | 28 ++++++++++++++++++++++++++++
core/abstract/data_storage.hh | 27 +++++++++++++++++++++++++++
core/abstract/dpoint.hh | 27 +++++++++++++++++++++++++++
core/abstract/image.hh | 27 +++++++++++++++++++++++++++
core/abstract/image_constness.hh | 27 +++++++++++++++++++++++++++
core/abstract/image_dimension.hh | 27 +++++++++++++++++++++++++++
core/abstract/image_with_data.hh | 27 +++++++++++++++++++++++++++
core/abstract/images.hh | 27 +++++++++++++++++++++++++++
core/abstract/internal/image_impl.hh | 27 +++++++++++++++++++++++++++
core/abstract/piter.hh | 27 +++++++++++++++++++++++++++
core/abstract/point.hh | 27 +++++++++++++++++++++++++++
core/abstract/size.hh | 27 +++++++++++++++++++++++++++
core/cats.hh | 27 +++++++++++++++++++++++++++
core/coord.hh | 27 +++++++++++++++++++++++++++
core/macros.hh | 27 +++++++++++++++++++++++++++
core/props.hh | 27 +++++++++++++++++++++++++++
core/tags.hh | 27 +++++++++++++++++++++++++++
core/value_box.hh | 27 +++++++++++++++++++++++++++
fancy/iota.hh | 27 +++++++++++++++++++++++++++
fancy/print.hh | 27 +++++++++++++++++++++++++++
39 files changed, 1056 insertions(+)
Index: oln/fancy/print.hh
--- oln/fancy/print.hh (revision 25)
+++ oln/fancy/print.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_FANCY_PRINT_HH
# define OLENA_FANCY_PRINT_HH
Index: oln/fancy/iota.hh
--- oln/fancy/iota.hh (revision 25)
+++ oln/fancy/iota.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_FANCY_IOTA_HH
# define OLENA_FANCY_IOTA_HH
Index: oln/basics.hh
--- oln/basics.hh (revision 25)
+++ oln/basics.hh (working copy)
@@ -1,3 +1,32 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_BASICS_HH
# define OLENA_BASICS_HH
Index: oln/basics1d.hh
--- oln/basics1d.hh (revision 25)
+++ oln/basics1d.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_BASICS1D_HH
# define OLENA_BASICS1D_HH
Index: oln/core/props.hh
--- oln/core/props.hh (revision 25)
+++ oln/core/props.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 PROTO_OLN_CORE_PROPS_HH
# define PROTO_OLN_CORE_PROPS_HH
Index: oln/core/macros.hh
--- oln/core/macros.hh (revision 25)
+++ oln/core/macros.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_MACROS_HH
# define OLENA_CORE_MACROS_HH
Index: oln/core/value_box.hh
--- oln/core/value_box.hh (revision 25)
+++ oln/core/value_box.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_VALUE_BOX_HH
# define OLENA_CORE_VALUE_BOX_HH
Index: oln/core/abstract/image_constness.hh
--- oln/core/abstract/image_constness.hh (revision 25)
+++ oln/core/abstract/image_constness.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_ABSTRACT_IMAGE_CONSTNESS_HH
# define OLENA_CORE_ABSTRACT_IMAGE_CONSTNESS_HH
Index: oln/core/abstract/image.hh
--- oln/core/abstract/image.hh (revision 25)
+++ oln/core/abstract/image.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_ABSTRACT_IMAGE_HH
# define OLENA_CORE_ABSTRACT_IMAGE_HH
Index: oln/core/abstract/piter.hh
--- oln/core/abstract/piter.hh (revision 25)
+++ oln/core/abstract/piter.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 PROTO_OLN_CORE_ABSTRACT_PITER_HH
# define PROTO_OLN_CORE_ABSTRACT_PITER_HH
Index: oln/core/abstract/images.hh
--- oln/core/abstract/images.hh (revision 25)
+++ oln/core/abstract/images.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_ABSTRACT_IMAGES_HH
# define OLENA_CORE_ABSTRACT_IMAGES_HH
Index: oln/core/abstract/image_with_data.hh
--- oln/core/abstract/image_with_data.hh (revision 25)
+++ oln/core/abstract/image_with_data.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_ABSTRACT_IMAGE_WITH_DATA_HH
# define OLENA_CORE_ABSTRACT_IMAGE_WITH_DATA_HH
Index: oln/core/abstract/image_dimension.hh
--- oln/core/abstract/image_dimension.hh (revision 25)
+++ oln/core/abstract/image_dimension.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_ABSTRACT_IMAGE_DIMENSION_HH
# define OLENA_CORE_ABSTRACT_IMAGE_DIMENSION_HH
Index: oln/core/abstract/point.hh
--- oln/core/abstract/point.hh (revision 25)
+++ oln/core/abstract/point.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 PROTO_OLN_CORE_ABSTRACT_POINT_HH
# define PROTO_OLN_CORE_ABSTRACT_POINT_HH
Index: oln/core/abstract/size.hh
--- oln/core/abstract/size.hh (revision 25)
+++ oln/core/abstract/size.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 PROTO_OLN_CORE_ABSTRACT_SIZE_HH
# define PROTO_OLN_CORE_ABSTRACT_SIZE_HH
Index: oln/core/abstract/data_storage.hh
--- oln/core/abstract/data_storage.hh (revision 25)
+++ oln/core/abstract/data_storage.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_ABSTRACT_DATA_STORAGE_HH
# define OLENA_CORE_ABSTRACT_DATA_STORAGE_HH
Index: oln/core/abstract/dpoint.hh
--- oln/core/abstract/dpoint.hh (revision 25)
+++ oln/core/abstract/dpoint.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 PROTO_OLN_CORE_ABSTRACT_DPOINT_HH
# define PROTO_OLN_CORE_ABSTRACT_DPOINT_HH
Index: oln/core/abstract/internal/image_impl.hh
--- oln/core/abstract/internal/image_impl.hh (revision 25)
+++ oln/core/abstract/internal/image_impl.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 PROTO_OLN_CORE_ABSTRACT_INTERNAL_IMAGE_IMPL_HH
# define PROTO_OLN_CORE_ABSTRACT_INTERNAL_IMAGE_IMPL_HH
Index: oln/core/1d/dpoint1d.hh
--- oln/core/1d/dpoint1d.hh (revision 25)
+++ oln/core/1d/dpoint1d.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_1D_DPOINT1D_HH
# define OLENA_CORE_1D_DPOINT1D_HH
Index: oln/core/1d/array1d.hh
--- oln/core/1d/array1d.hh (revision 25)
+++ oln/core/1d/array1d.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_1D_ARRAY1D_HH
# define OLENA_CORE_1D_ARRAY1D_HH
Index: oln/core/1d/image1d.hh
--- oln/core/1d/image1d.hh (revision 25)
+++ oln/core/1d/image1d.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_IMAGE1D_HH
# define OLENA_CORE_IMAGE1D_HH
Index: oln/core/1d/fwd_piter1d.hh
--- oln/core/1d/fwd_piter1d.hh (revision 25)
+++ oln/core/1d/fwd_piter1d.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 PROTO_OLN_CORE_1D_FWD_PITER1D_HH
# define PROTO_OLN_CORE_1D_FWD_PITER1D_HH
Index: oln/core/1d/point1d.hh
--- oln/core/1d/point1d.hh (revision 25)
+++ oln/core/1d/point1d.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_1D_POINT1D_HH
# define OLENA_CORE_1D_POINT1D_HH
Index: oln/core/1d/size1d.hh
--- oln/core/1d/size1d.hh (revision 25)
+++ oln/core/1d/size1d.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_1D_SIZE1D_HH
# define OLENA_CORE_1D_SIZE1D_HH
Index: oln/core/coord.hh
--- oln/core/coord.hh (revision 25)
+++ oln/core/coord.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_COORD_HH
# define OLENA_CORE_COORD_HH
Index: oln/core/2d/dpoint2d.hh
--- oln/core/2d/dpoint2d.hh (revision 25)
+++ oln/core/2d/dpoint2d.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_2D_DPOINT2D_HH
# define OLENA_CORE_2D_DPOINT2D_HH
Index: oln/core/2d/array2d.hh
--- oln/core/2d/array2d.hh (revision 25)
+++ oln/core/2d/array2d.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_2D_ARRAY2D_HH
# define OLENA_CORE_2D_ARRAY2D_HH
Index: oln/core/2d/image2d.hh
--- oln/core/2d/image2d.hh (revision 25)
+++ oln/core/2d/image2d.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_IMAGE2D_HH
# define OLENA_CORE_IMAGE2D_HH
Index: oln/core/2d/fwd_piter2d.hh
--- oln/core/2d/fwd_piter2d.hh (revision 25)
+++ oln/core/2d/fwd_piter2d.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 PROTO_OLN_CORE_2D_FWD_PITER2D_HH
# define PROTO_OLN_CORE_2D_FWD_PITER2D_HH
Index: oln/core/2d/point2d.hh
--- oln/core/2d/point2d.hh (revision 25)
+++ oln/core/2d/point2d.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_2D_POINT2D_HH
# define OLENA_CORE_2D_POINT2D_HH
Index: oln/core/2d/size2d.hh
--- oln/core/2d/size2d.hh (revision 25)
+++ oln/core/2d/size2d.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_2D_SIZE2D_HH
# define OLENA_CORE_2D_SIZE2D_HH
Index: oln/core/3d/size3d.hh
--- oln/core/3d/size3d.hh (revision 25)
+++ oln/core/3d/size3d.hh (working copy)
@@ -1,3 +1,31 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_3D_SIZE3D_HH
# define OLENA_CORE_3D_SIZE3D_HH
Index: oln/core/3d/array3d.hh
--- oln/core/3d/array3d.hh (revision 25)
+++ oln/core/3d/array3d.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_3D_ARRAY3D_HH
# define OLENA_CORE_3D_ARRAY3D_HH
Index: oln/core/3d/image3d.hh
--- oln/core/3d/image3d.hh (revision 25)
+++ oln/core/3d/image3d.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_IMAGE3D_HH
# define OLENA_CORE_IMAGE3D_HH
Index: oln/core/3d/point3d.hh
--- oln/core/3d/point3d.hh (revision 25)
+++ oln/core/3d/point3d.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_3D_POINT3D_HH
# define OLENA_CORE_3D_POINT3D_HH
Index: oln/core/cats.hh
--- oln/core/cats.hh (revision 25)
+++ oln/core/cats.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 PROTO_OLN_CORE_CATS_HH
# define PROTO_OLN_CORE_CATS_HH
Index: oln/core/tags.hh
--- oln/core/tags.hh (revision 25)
+++ oln/core/tags.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_CORE_TAGS_HH
# define OLENA_CORE_TAGS_HH
Index: oln/basics2d.hh
--- oln/basics2d.hh (revision 25)
+++ oln/basics2d.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_BASICS2D_HH
# define OLENA_BASICS2D_HH
Index: oln/basics3d.hh
--- oln/basics3d.hh (revision 25)
+++ oln/basics3d.hh (working copy)
@@ -1,3 +1,30 @@
+// Copyright (C) 2001, 2002, 2003, 2004, 2005 EPITA Research and Development Laboratory
+//
+// This file is part of the Olena Library. This library is free
+// software; you can redistribute it and/or modify it under the terms
+// of the GNU General Public License version 2 as published by the
+// Free Software Foundation.
+//
+// This library 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 this library; see the file COPYING. If not, write to
+// the Free Software Foundation, 59 Temple Place - Suite 330, Boston,
+// MA 02111-1307, USA.
+//
+// As a special exception, you may use this file as part of a free
+// software library 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 OLENA_BASICS3D_HH
# define OLENA_BASICS3D_HH