Allgemeine Cursor-Methoden

Top  Previous  Next

Skripte > Klassen-Elemente und C++-Befehle > interpretierte C++-Anweisungen > Container > cursor > Allgemeine Cursor-Methoden

 

Ein Cusor erlaubt nur lesende Zugriffe auf den zugeordneten Container. Die Cursors verschiedener Arten von Containern (Vector und Map) haben eine Menge von Methoden gemeinsam, die im folgenden augelistet und erklärt werden. Als Element wird dabei entweder ein einzelner Wert bezeichnet, der in einem Vector enthalten ist, oder ein Wertepaar einer Map.

 

 

 

bool isValid() const

 

gibt zurück, ob der Cursor mit einem Container verbunden ist. Für einen internen Cursor ist dies immer der Fall.

 

 

bool hasCurrent() const

 

gibt true zurück, wenn der Cursor auf ein aktuelles Element zeigt. Andernfalls wird false zurückgegeben.

 

 

bool empty() const

 

gibt zurück, ob der Container keine Elemente enthält. Falls der Cursor ungültig ist, wird true zurückgegeben.

 

 

unsigned int size() const

 

gibt die Anzahl der Elemente zurück. Falls der Cursor ungültig ist, wird 0 zurückgegeben.

 

 

value_type value() const

 

gibt den Wert des aktuellen Elements zurück. Falls es kein aktuelles Element gibt, wird der Default-Wert des Elementtyps zurückgegeben: ein leerer String für den String-Typ, 0 für numerische Typen und false für deb bool-Typ.

 

Falls der Wert des Elements vom Typ node ist, kann mit value().label() oder value().value() das Label bzw. der Wert des Knotens erhalten werden..

 

 

bool gotoNext()

 

Setzt den Cursor auf das nächste Element, das somit zum aktuellen wird. Stand der Cursor bereits auf dem letzten Element, so gibt die Funktion den Wert false zurück und positioniert den Cursor vor das erste bzw. hinter das letzte Element. Stand der Cursor vor dem ersten bzw. hinter dem letzten Element, so wird er durch gotoNext auf das erste Element gesetzt.

 

 

bool gotoPrev()

 

Setzt den Cursor auf das vorherige Element, das somit zum aktuellen wird. Stand der Cursor auf dem ersten Element, so gibt die Funktion den Wert false zurück und positioniert den Cursor vor das erste bzw. hinter das letzte Element. Stand der Cursor vor dem ersten bzw. hinter dem letzten Element, so wird er durch gotoPrev auf das letzte Element gesetzt.

 

 

bool containsValue(const value_type& ) const

 

gibt true zurück, wenn ein Wert s im Container enthalten ist.

 

 

bool findValue(const value_type& xValue)

 

sucht nach dem ersten Wert xValue. Ist xValue als Wert vorhanden, wird das entsprechende Element zum aktuellen Element und die Funktion gibt true zurück. Andernfalls wird false zurückgegeben.

 

Beispiel:

 

vstr v;

vstr::cursor cr = v.getCursor();

if ( ! cr.findNext("tt") )

  out << "v is empty";

 

 

bool findNextValue(const value_type& xValue)

 

Durchsucht ausgehend von der aktuellen Position alle nachfolgenden Elemente nach einem Element, dessen Wert gleich xValue ist. Wird eine solches Element gefunden, wird dieses zum aktuellen Element und es wird true zurückgegeben, Falls kein solches Element gefunden wurde, bleibt die aktuelle Position unverändert und es wird false zurückgeliefert.

 

 

bool findPrevValue(const value_type& xValue)

 

Durchsucht ausgehend von der aktuellen Position die vorausgehenden Elemente nach einem Element, dessen Wert gleich xValue ist. Wird eine solches Element gefunden, wird dieses zum aktuellen Element und es wird true zurückgegeben, Falls kein solches Element gefunden wurde, bleibt die aktuelle Position unverändert und es wird false zurückgeliefert.

 

 

Für einen Map-Cursor sind einige zusätzliche Methoden definiert:

 

str key() const

bool containsKey(const str& xsKey) const

bool findKey(const str& xsKey)



Diese Seite gehört zur TextTransformer Dokumentation

Home  Inhalt  English