#ifndef KILLING_CONS_TCC
#define KILLING_CONS_TCC
+#include "cons.hh"
template<class T>
Killing_cons<T>::~Killing_cons ()
}
template<class T>
-Cons_list<T>
-copy_killing_cons_list (Cons<T> *src)
+void
+copy_killing_cons_list (Cons_list<T> &dest, Cons<T> *src)
{
- Cons_list<T> kl;
-
for (; src; src = src->next_)
{
T *t = new T(*src->car_);
- *kl.tail_ = new Killing_cons<T> (t, 0);
- kl.tail_ = &(*kl.tail_)->next_;
+ dest.append ( new Killing_cons<T> (t, 0));
}
-
- return kl;
}
template<class T>
-Cons_list<T>
-clone_killing_cons_list (Cons<T> *src)
+void
+clone_killing_cons_list (Cons_list<T> & dest, Cons<T> *src)
{
- Cons_list<T> kl;
-
for (; src; src = src->next_)
{
T *t = src->car_->clone ();
- *kl.tail_ = new Killing_cons<T> (t, 0);
- kl.tail_ = &(*kl.pp)->next_;
+ dest.append (new Killing_cons<T> (t, 0));
}
-
- return kl;
}