removed debugging line.
[feisty_meow.git] / nucleus / library / structures / amorph.h
index d2104c700e26179087bd2787f80dcbda6a996c79..6d817e8aeb4ab93320fc0788a333815b5df5ccb2 100644 (file)
@@ -76,9 +76,12 @@ public:
     index "new_maximum" and upwards are thrown away.  existing fields are
     kept. */
 
-  void reset(int new_maximum = 0);
+  void resize(int new_maximum = 0);
     //!< like adjust but doesn't keep existing contents.
 
+  void reset() { this->resize(0); }
+       //!< cleans out all of the contents.
+
   basis::outcome put(int field, const contents *data);
     //!< Enters an object into the field at index "field" in the amorph.
     /*!< If "data" is NIL, then the field is cleared.  The amorph considers the
@@ -180,7 +183,7 @@ private:
   // not to be used: amorphs should not be copied because it is intended that
   // they support storing heavyweight objects that either have no copy
   // constructors or have high-cost copy constructors.
-  amorph(const amorph &to_copy) {}  //!< not to be used.
+  amorph(const amorph &to_copy) {_fields_used = 0;}  //!< not to be used.
   amorph &operator = (const amorph &to_copy) { return *this; }
     //!< not to be used.
 };
@@ -280,7 +283,7 @@ void amorph<contents>::check_fields(const char *where) const
 }
 
 template <class contents>
-void amorph<contents>::reset(int new_maximum)
+void amorph<contents>::resize(int new_maximum)
 {
   FUNCDEF("reset");
   CHECK_FIELDS;
@@ -370,7 +373,7 @@ basis::outcome amorph<contents>::put(int field, const contents *data)
   CHECK_FIELDS;
   bounds_return(field, 0, elements() - 1, basis::common::OUT_OF_RANGE);
   contents *to_whack = acquire(field);
-  WHACK(to_whack);
+  delete to_whack;
   if (data) {
     basis::array<contents *>::access()[field] = (contents *)data;
     _fields_used++;