URL:
https://svn.lrde.epita.fr/svn/oln/trunk/milena
ChangeLog:
2007-10-22 Guillaume Duhamel <guillaume.duhamel(a)lrde.epita.fr>
Fix for handle non-const.
* abr.cc: Update.
* abr.hh: Fix.
---
abr.cc | 17 +++++++++++------
abr.hh | 18 +++++++++---------
2 files changed, 20 insertions(+), 15 deletions(-)
Index: trunk/milena/sandbox/duhamel/abr.hh
===================================================================
--- trunk/milena/sandbox/duhamel/abr.hh (revision 1364)
+++ trunk/milena/sandbox/duhamel/abr.hh (revision 1365)
@@ -50,15 +50,15 @@
struct s_abr
{
s_abr ();
- s_abr (const T& elt);
+ s_abr (T& elt);
- void add_son (const T& elt);
+ void add_son (T& elt);
void print_rec (int n) const;
void print (void) const;
- int search_rec(s_abr<T>** res, const T& elt);
- s_abr<T>* search(const T& elt);
+ int search_rec(s_abr<T>** res, T& elt);
+ s_abr<T>* search(T& elt);
- const T& elt_;
+ T& elt_;
s_abr<T>* father_;
std::list< s_abr<T>* > sons_;
};
@@ -74,7 +74,7 @@
}
template <typename T>
- s_abr<T>::s_abr (const T& elt)
+ s_abr<T>::s_abr (T& elt)
: elt_ (elt),
father_ (0)
{
@@ -83,7 +83,7 @@
template <typename T>
void
- s_abr<T>::add_son (const T& elt)
+ s_abr<T>::add_son (T& elt)
{
s_abr<T>* s = new s_abr<T> (elt);
@@ -116,7 +116,7 @@
template <typename T>
int
- s_abr<T>::search_rec(s_abr<T>** res, const T& elt)
+ s_abr<T>::search_rec(s_abr<T>** res, T& elt)
{
if (elt == this->elt_)
{
@@ -137,7 +137,7 @@
template <typename T>
s_abr<T>*
- s_abr<T>::search(const T& elt)
+ s_abr<T>::search(T& elt)
{
s_abr<T>* res = 0;
Index: trunk/milena/sandbox/duhamel/abr.cc
===================================================================
--- trunk/milena/sandbox/duhamel/abr.cc (revision 1364)
+++ trunk/milena/sandbox/duhamel/abr.cc (revision 1365)
@@ -37,13 +37,18 @@
int main (void)
{
using namespace mln;
- util::s_abr<unsigned> abr (1);
+ unsigned elt1 = 1;
+ unsigned elt2 = 2;
+ unsigned elt3 = 3;
+ unsigned elt4 = 4;
+ unsigned elt5 = 5;
+ util::s_abr<unsigned> abr (elt1);
- abr.add_son (2);
- abr.add_son (3);
+ abr.add_son (elt2);
+ abr.add_son (elt3);
abr.print ();
- util::s_abr<unsigned>* abr2 = abr.search (2);
- abr2->add_son (4);
- abr2->add_son (5);
+ util::s_abr<unsigned>* abr2 = abr.search (elt2);
+ abr2->add_son (elt4);
+ abr2->add_son (elt5);
abr.print ();
}