blob: 2e42639f9a987498caf7fcc220ec6813bc2c9dcd [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001PreventInsert()
2===============
3
4FUNKTION
5--------
6::
7
8 int PreventInsert(object ob);
9
10DEFINIERT IN
11------------
12::
13
14 /std/container/restrictions.c
15
16ARGUMENTE
17---------
18::
19
20 ob
21 Das Objekt, das in den Behaelter eingefuegt werden soll.
22
23BESCHREIBUNG
24------------
25::
26
27 Mit dieser Funktion kann ein Behaelter pruefen, ob er das Objekt ob
28 aufnehmen moechte oder nicht.
29
30RUeCKGABEWERT
31-------------
32::
33
34 0, wenn das Objekt aufgenommen werden kann; ein Wert groesser als 0
35 zeigt an, dass das Objekt nicht aufgenommen werden soll.
36
37BEMERKUNGEN
38-----------
39::
40
41 Wenn ob mit dem Flag M_NOCHECK bewegt wird, wird PreventInsert() zwar
42 aufgerufen, das Objekt wird jedoch auf jeden Fall in den Behaelter
43 bewegt, unabhaengig vom Rueckgabewert!
44
45BEISPIELE
46---------
47::
48
49 Um zu verhindern, dass man Geld in einen Behaelter stecken kann, sollte
50 man wie folgt vorgehen:
51
52 varargs int PreventInsert(object ob)
53 {
54 // Wenn es Geld ist, erheben wir sofort Einspruch
55 if (ob->id("geld"))
56 return 1;
57 // Ansonsten koennte ein ererbtes Objekt noch Einspruch erheben!
58 else
59 return ::PreventInsert(ob);
60 }
61
62SIEHE AUCH
63----------
64::
65
66 PreventLeave(), NotifyInsert(), NotifyLeave(), MayAddObject(),
67 PreventInsertLiving(), PreventLeaveLiving(), NotifyMove(),
68 PreventMove(), MayAddWeight(), move(), /std/container/restrictions.c
69
70
71Last modified: Sat Dec 18 02:00:00 1999 by Tiamak
72