| PreventInsert() |
| |
| FUNKTION: |
| int PreventInsert(object ob); |
| |
| DEFINIERT IN: |
| /std/container/restrictions.c |
| |
| ARGUMENTE: |
| ob |
| Das Objekt, das in den Behaelter eingefuegt werden soll. |
| |
| BESCHREIBUNG: |
| Mit dieser Funktion kann ein Behaelter pruefen, ob er das Objekt ob |
| aufnehmen moechte oder nicht. |
| |
| RUeCKGABEWERT: |
| 0, wenn das Objekt aufgenommen werden kann; ein Wert groesser als 0 |
| zeigt an, dass das Objekt nicht aufgenommen werden soll. |
| |
| BEMERKUNGEN: |
| Wenn ob mit dem Flag M_NOCHECK bewegt wird, wird PreventInsert() zwar |
| aufgerufen, das Objekt wird jedoch auf jeden Fall in den Behaelter |
| bewegt, unabhaengig vom Rueckgabewert! |
| |
| BEISPIELE: |
| Um zu verhindern, dass man Geld in einen Behaelter stecken kann, sollte |
| man wie folgt vorgehen: |
| |
| varargs int PreventInsert(object ob) |
| { |
| // Wenn es Geld ist, erheben wir sofort Einspruch |
| if (ob->id("geld")) |
| return 1; |
| // Ansonsten koennte ein ererbtes Objekt noch Einspruch erheben! |
| else |
| return ::PreventInsert(ob); |
| } |
| |
| SIEHE AUCH: |
| PreventLeave(), NotifyInsert(), NotifyLeave(), MayAddObject(), |
| PreventInsertLiving(), PreventLeaveLiving(), NotifyMove(), |
| PreventMove(), MayAddWeight(), move(), /std/container/restrictions.c |
| |
| ---------------------------------------------------------------------------- |
| Last modified: Sat Dec 18 02:00:00 1999 by Tiamak |