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)
|