A.4 MeasureMetric Klassenreferenz 233 A.4.3 Dokumentation der Elementfunktionen void delete_levels () [protected] Entfernt sämtliche metrischen Level aus der Liste l_levels. Diese Funktion wird vom Destruktor sowie von der Funktion rebuild benötigt. { while (!l_levels .empty()) { delete l_levels .back(); l_levels .pop_back(); } } const MetricLevel & level (int i) const [protected] Liefert einen bestimmten Level der Taktmetrik zurück. Der Aufrufer dieser Funktion muß dafür sorgen, daß kein ungültiger Level angefor-dert wird. Parameter: n Nummer des gewünschten metrischen Levels. 0 bezeichnet den Level mit der kürzesten Pulsdistanz. Rückgabe: Referenz auf den metrischen Level { assert (n≥ 0 && n < l_levels.size()); list <MetricLevel∗>::const_iterator iter = l_levels.begin(); for (; n > 0; n−−) //in derLevel−Liste bis zum gewünschten... iter++; // ... Level vorrücken return ∗(∗iter); } void rebuild (Rational bd) [virtual] Konstruiert eine neue Taktmetrik aufgrund einer neuen Rastergröße. Betrug die ursprüngliche Distanz zwischen zwei Rasterpunkten beispielsweise 1/8, so werden von dem Gitter maximal die Achtelnoten erfaßt, kleinere Notenwerte fallen jedoch durch das Raster. Aus diesem Grund müssen die Maschen in diesen Fällen enger gezogen werden. Die Berechnung der Level wird im Abschnitt 4.1 dieser Arbeit genauer beschrieben. Parameter: bd die neue Pulsdistanz des minimalen metrischen Levels Erneute Implementation in MeasureWeighter (S. 237).