CXI-Basis-Programmierreferenz / Version 2 / Datenspeicherung / CxiTree / Zusatzfunktionen /
CxiError CxiTree :: MergeWildTo (CxiTree& trgcxi, const char *wild, CxiLong options = 0) const
CxiError CxiTree :: MergeWildFrom (const CxiTree& srccxi, const char *wild, CxiLong options = 0)
CxiError cxiMergeWild (CxiHandle trgcxi, CxiHandle srccxi, const char *wild, CxiLong options)
Mischt selektierte Variablen zweier CXI-Bäume
trgcxi:
CXI-Baum, der die Variablen aufnehmen soll
srccxi:
CXI-Baum, der die zu mischenden Variablen enthält
wild:
Kriterium, welche Variablen berücksichtigt werden sollen; NULL oder "*" für alle Variablen
options:
VERHALTEN, WENN ZIELVARIABLE SCHON EXISTIERT:
cxiOptMergeAdd (=0, Vorgabe): Zielvariable unverändert lassen
cxiOptMergeReplace: Zielvariablen außer cxiTypeSub ersetzen
cxiOptMergeForce: Zielvariable in jedem Fall ersetzen
BEARBEITUNG VON UNTERBÄUMEN:
cxiOptMergeSubTree (=0, Vorgabe): Unterbäume rekursiv bearbeiten
cxiOptMergeNoSubTree: Unterbäume nicht bearbeiten
return:
0 ok, sonst Fehler
Diese Funktion kopiert in einer Schleife alle durch die Spezifikation wild ausgewählten Variablen des Quellblocks (srccxi) in den Zielblock (trgcxi), wobei die angegebenen Optionen berücksichtigt werden. Zum Kopieren einer Variablen wird jeweils CopyVar aufgerufen.
Der Quell- und Zielblock dürfen nicht identisch sein. Der Zielbaum darf kein direkter oder indirekter Unterbaum der Quelle sein.
Achtung! Die Option cxiOptMergeForce ersetzt auch Variablen vom Typ cxiTypeSub, so dass Unterbäume immer komplett ersetzt werden; es erfolgt in diesem Fall kein rekursiver Abgleich.
Die beiden Member-Funktionen benutzen den CXI-Baum, zu dem sie gehören, als Quelle (MergeWildTo) bzw. Ziel (MergeWildFrom).
Variablen mit Nummern werden behandelt wie Variablen mit Namen "#nnnnn" (also kennzeichnet "#*" alle Variablen mit Nummern).
Um ALLE Variablen zu kopieren, kann auch Merge... verwendet werden.
Die Syntax für den Parameter wild ist bei cxiMatchesWildCard beschrieben.
Portabilität:
Diese Funktion ist ab Version 2.03 definiert und in allen unterstützten Systemen verfügbar.
Siehe auch:
cxiMatchesWildCard
Merge...
CopyVar...
CopySubTree...
operator +=