
m_copy_delete()
***************


FUNKTION
========

   mapping m_copy_delete(mapping map, mixed key)


ARGUMENTE
=========

   map - das Mapping, aus dem geloescht werden soll.
   key - der zu loeschende Eintrag


BESCHREIBUNG
============

   Aus dem Mapping map wird der Eintrag key geloescht (wenn er in map vor-
   handen ist). map wird dabei nicht veraendert.


RUECKGABEWERT
=============

   Eine (flache !) Kopie von map ohne den Eintrag key, d.h. enthaltene
   Mappings/Arrays werden nicht kopiert.


BEMERKUNGEN
===========

         Das urspruengliche Mapping wird bei dieser Operation nicht veraendert!
         Wenn man nur einen Wert aus dem Mapping loeschen will und die Kopie nicht
         braucht, bietet sich efun::m_delete(mapping,key) sehr an, da die Erstellung
   einer Kopie sehr aufwendig sein kann.


BEISPIELE
=========

   mapping m1, m2;

   m1 = ([ "a":1, "b":2, "c":3 ]);

   m2 = m_copy_delete(m1, "b");
      => m1 = ([ "a":1, "b":2, "c":3 ])
         m2 = ([ "a":1, "c":3 ])

   m_copy_delete(m1, "a");
      => (es hat sich nichts geaendert)

   m1 = m_copy_delete(m1, "a");
      => m1 = ([ "b":2, "c":3 ])

   Im letzten Fall sollte aber besser efun::m_delete(m1, "a") benutzt
   werden, da ansonsten das Mapping unnoetig kopiert wird und Rechen-
   leistung frisst.


SIEHE AUCH
==========

   efun::m_delete(E), mappingp(E), mkmapping(E), m_indices,(E) m_values(E),
   sizeof(E), widthof(E)
