| SYNOPSIS |
| #include <inherit_list.h> |
| |
| string * inherit_list() |
| string * inherit_list(object ob) |
| string * inherit_list(object ob, int flags) |
| |
| BESCHREIBUNG |
| Liefert die Namen von allen Dateien, die von <ob> geerbt werden, |
| inklusive <ob>s eigener Dateiname. Wird <ob> nicht angegeben, wird |
| standarndmaessig das aktuelle Objekt verwendet. |
| |
| Der Wert von <flags> bestimmt die Struktur des Rueckgabewertes: |
| - <flag> = INHLIST_FLAT (0, default): |
| inherit_list() liefert ein Array von Dateinamen, beginnend mit dem |
| Namen von <ob> selbst, gefolgt von den Namen aller geerbten |
| Objekten. |
| - <flag> = INHLIST_TREE (1): |
| inherit_list() liefert ein Array von Dateinamen, beginnend mit dem |
| Namen von <ob> selbst. Wenn ein geerbte File selbst keine Files |
| erbt, wird sein Name direkt in das Ergebnis eingetragen. Wenn ein |
| geerbtes File selbst Files erbt, wird ein Untervektor erzeugt, in |
| dem die Inherits eingetragen werden. Der Untervektor hat die |
| gleiche Struktur wie der Haupvektor. |
| - <flag> = INHLIST_TAG_VIRTUAL (2): |
| Alle Namen im Ergebnisvektor haben ein leeres Tag " " (zwei |
| Leerschlaege) fuer normale Inherits und "v " fuer virtuelle |
| Inherits als Praefix vorangestellt. |
| |
| Alle Flags koennen mit einem binaeren Oder | verbunden werden, wobei |
| INHLIST_FLAT und INHLIST_TREE sich gegenseitig ausschliessen. |
| |
| Wenn ein Objekt inklusive <ob> einem replace_program() unterworfen |
| war, spiegeln die gelieferten Dateinamen das effektiv aktive Programm |
| wider. |
| |
| Die Inheritpfade, die geliefert werden, beginnen immer mit '/' |
| (absolute Pfade), auch wenn der Treiber im COMPAT Modus laeuft. |
| |
| |
| BEISPIELE |
| Gegeben folgende Vererbungsstruktur: |
| |
| / c - d |
| a |
| \ b |
| |
| Wobei d virtuell geerbt wird, ergeben sich folgende Resultate: |
| |
| inherit_list(a) -> ({ "a", "c", "b", "d" }) |
| inherit_list(c) -> ({ "c", "d" }) |
| inherit_list(a, 1) -> ({ "a", ({ "c", "d" }), "b" }) |
| inherit_list(a, 3) -> ({ " a", ({ " c", "v d" }), " b" }) |
| |
| GESCHICHTE |
| Vor 3.2.8, begannen die gelieferten Namen niemals mit einem '/'. |
| LDMud 3.2.9 fuehrte die Baumstruktur (_TREE) und Tags fuer virtuelle |
| Inherits ("v ") ein. |
| |
| SIEHE AUCH |
| debug_info(E), include_list(E) |