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