Jammer-Thread

Hier kann über allgemeine Themen diskutiert werden, die sonst in kein Forum passen.
Insbesondere über Szene, Games, Kultur, Weltgeschehen, Persönliches, Recht, Hard- und Software.
.357er-Argument
Beiträge: 27
Registriert: 19.02.2009, 23:32
Kontaktdaten:

Re: Jammer-Thread

Beitrag von .357er-Argument »

CodingCat hat geschrieben:Nein nein, das hat schon seine Richtigkeit, dank Java sind wir hier leider im Laufe des letzten Jahres kollektiv verblödet. (Ich habe gerade mehrere 100 Zeilen fremden Mathecode von abstrusem x.Cross(y) auf cross(x, y) gebracht, auch deshalb ist ADL ein Segen; hat aber nichts mit der Uni zu tun ...).
Du meinst hier Umstellung von Member-Methode auf freie Funktion? Ist das schneller oder geht das "nur" auf die Diskussion von neulich zurück, die Vorteile von freien Funktionen aufzeigte?
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Ja, in Bezug auf Performance spielt das in C++ prinzipiell keine Rolle. Wobei Krishty ja neulich feststellte, dass mit freien Funktionen bisweilen sogar besserer Code erzeugt wird.

In diesem Fall habe ich jedoch einfach fremden Mathecode nach HLSL portiert, ich hatte also ohnehin keine Wahl. ;)
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
Artificial Mind
Establishment
Beiträge: 802
Registriert: 17.12.2007, 17:51
Wohnort: Aachen

Re: Jammer-Thread

Beitrag von Artificial Mind »

Bei uns gibt es am Lehrstuhl ein Framework welches den %-operator für das Kreuzprodukt und den |-operator für das Skalarprodukt überladen hat. Mir wird jedesmal fast schlecht. Zum Glück muss ich damit nur selten arbeiten.
Benutzeravatar
Jonathan
Establishment
Beiträge: 2367
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Jonathan »

Wenn man sich im Bulletforum registreiren will, muss man gleich 2 Anti-Spam Fragen beantworten:
What was George Orwell's famous book (a number)?
What is the dot product of (4, -1, 0) and (5, 3, 20) times the number of toes on my right foot?

Gut, die erste konnte ich noch googeln, aber für die zweite muss man irgendwie schon ne Menge vorwissen haben, oder es wird kniffelig. Achja, als beide beantwortet waren, wurde meine EMailadresse kommentarlos abgelehnt, obwohl die überall sonst funktioniert. Die sind doch total bescheuert...

@Artificial Mind: Jaaa, wir haben hier auch immer so bescheuerte Frameworks. Eine Vectorklasse, die CPosition heißt und neben den 3 Koordinaten auch noch Werte für Farbe und Texturkoordinate speichern kann, die man im Konstruktor übergeben kann, für die es aber keine Zugriffsfunktionen gibt. Das ist nicht nur schlechtes Design, das ist ganz und gar unsinnig.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Jammer-Thread

Beitrag von eXile »

Jonathan hat geschrieben:Gut, die erste konnte ich noch googeln, aber für die zweite muss man irgendwie schon ne Menge vorwissen haben, oder es wird kniffelig.
Das ist mal sowas von gar nichts im Vergleich zu dem hier (ein paar Mal aktualisieren).
Benutzeravatar
Krishty
Establishment
Beiträge: 8238
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Scanner sind scheiße. Mein Canon benötigt 16 Tastendrücke, bis ich beim Scannen bin, und dann drei für jede weitere Seite.

Nun scanne ich alte Familienalben, die in ihrer Qualität stark schwanken. Idealerweise würde ich alle in ein Programm füttern, das Mustererkennung und eine Fouriertransformation durchführt und damit automatisch bestimmt
  • wie die schief eingeklebten Fotos rotiert werden müssen um wieder gerade zu stehen;
  • auf welche Größe sie danach zugeschnitten werden müssen; und
  • auf welche Größe sie skaliert werden müssen damit die digitale Auflösung der analogen Auflösung angemessen ist.
Aber nein:
  • die Auflösung ist viel zu gering (600 DPI – da konnte mein fünfzehn Jahre alter ScanJet mehr, bevor es keine Treiber mehr gab);
  • da sind überall Farbsäume an den Kanten;
  • da ist irgendein adaptiver Tiefpassfilter am Werk, so dass die Qualität monotoner Flächen schwankt, wenn sie von Details unterbrochen werden;
  • bei den JPEG-Dateien kriege ich dauernd Warnungen, dass sie voller Padding-Bytes sind.
Darum darf ich das jetzt von Hand machen. Ich will den Scheiß nicht in eine PDF flushen; gib mir einfach die verdammten Bildinformationen!
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
eXile
Establishment
Beiträge: 1136
Registriert: 28.02.2009, 13:27

Re: Jammer-Thread

Beitrag von eXile »

Ich betreibe meinen alten Scanner (Umax Astra 4500, Maximalauflösung 1200 dpi) in einer Windows-XP-VM, weil es wie bei dir keine Treiber mehr gibt. Er hat mittlerweile einige tote Sensoren, so dass es (nur im Farb-Modus!) vertikale Streifen über das Bild gibt. Als Scan-Software benutze ich übrigens den Windows-XP-Scan-Assistenten (mit Alt+Z, Enter, Enter kann man das nächste Bild scannen), zur Batch-Verarbeitung bei vielen, gleichartigen Scans benutze ich ImageMagick.

Außerdem willst du die Rotation des Bildes via Fouriertransformation berechnen? Das glaube ich nicht; eher Kantenerkennung, dann Hough-Transformation, und dann einen RANSAC-Algorithmus. :)

Ich hatte vor knapp einen Monat mal schnell eine obskure russische Scan-Software ausprobiert, die ziemlich gut automatisiert hat. Hätte ich deinen Post damals antizipiert, würde ich jetzt nicht seit einer halben Stunde danach suchen; ich melde mich wieder, wenn ich sie wiedergefunden habe.
Benutzeravatar
Krishty
Establishment
Beiträge: 8238
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

eXile hat geschrieben:Außerdem willst du die Rotation des Bildes via Fouriertransformation berechnen? Das glaube ich nicht; eher Kantenerkennung, dann Hough-Transformation, und dann einen RANSAC-Algorithmus. :)
Nein, die optimale Auflösung.
eXile hat geschrieben:Ich hatte vor knapp einen Monat mal schnell eine obskure russische Scan-Software ausprobiert, die ziemlich gut automatisiert hat. Hätte ich deinen Post damals antizipiert, würde ich jetzt nicht seit einer halben Stunde danach suchen; ich melde mich wieder, wenn ich sie wiedergefunden habe.
Macht nichts. Habe eh nur noch eine halbe Stunde bevor ich den Rest auf unbestimmte Zeit verschieben muss.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Stephan Theisgen
Beiträge: 94
Registriert: 29.07.2003, 11:13

Re: Jammer-Thread

Beitrag von Stephan Theisgen »

Ihr wisst schon warum das so ist?
In Deutschland werden die Scanner absichtlich gedrosselt (meist nur softwareseitig) und teilweise auch die Qualität reduziert. Nur dann kann man die GEMA-Gebühren umgegehen. Wenn man in der Lage ist mit den Scannern eine bestimmte Qualität in einer bestimmten Zeit zu erreichen, dann sind sie aus Urheberechtsgründen nahezu unbezahlbar. Diese Geschwindigkeiten haben dann nur Profi-Scanner, die dann super teuer sind. Deswegen konnte man schon früher seinen Scanner mindestens in der Geschwindigkeit verdoppelt, wenn man einen US-Treiber benutzte. Außerdem ist Autoamtisierung nicht erlaubt. Deswegen eigene Software benutzen, oder welche, die nicht mit dem Scanner verkauft wird. Aber damit habe ich euch jetzt natürlich nichts neues erzählen, oder?
Benutzeravatar
Jonathan
Establishment
Beiträge: 2367
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Jonathan »

Äh, was? Hört sich irgendwie nach einem schlechten Scherz an. Nur leider wird es gerade dadurch plausibel.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Alexander Kornrumpf
Moderator
Beiträge: 2112
Registriert: 25.02.2009, 13:37

Re: Jammer-Thread

Beitrag von Alexander Kornrumpf »

Ne, finde ich absolut unplausibel. Die GEMA verwertet doch Musikrechte. Wer kopiert denn Musik mit einem Scanner? Und was die Kopie von Noten angeht: Dafür braucht man doch nicht besonders viele DPI.
Stephan Theisgen
Beiträge: 94
Registriert: 29.07.2003, 11:13

Re: Jammer-Thread

Beitrag von Stephan Theisgen »

Ok, ich habe versucht eine harte Quelle dafür zu finden, aber das ist nicht so einfach... Ich suche mal wieter... Die GEMA verwaltet aber nicht nur Musik-Rechte. Sondern schützt die Rechte von Künstlern. Aber es geht hier soviel ich weiß hauptsächlich um das Kopieren von Büchern. Auf jedem Radio, Scanner, Laufwerk etc. sind GEMA-Gebühren im Preis mit drin. Deswegen ist es zum Beispiel legal vom Radio Musik mit nem Kasetten-Rekorder aufzunehmen.

siehe hier:

https://www.google.de/url?sa=t&rct=j&q= ... eXGVVWpA9g

Das wurde auch für CD-Brenner für Spielekopien versucht oder auf dem Internetanschluss, dann wären alle Tauschbörsen legal gewesen. Das hat sich leider(?) aber nicht durchgesetzt.
Stephan Theisgen
Beiträge: 94
Registriert: 29.07.2003, 11:13

Re: Jammer-Thread

Beitrag von Stephan Theisgen »

Also wenn ich hier jetzt nichts Handfestes finde, dann lösche ich den Text wieder. Aber so viel ich weiß, war das schon früher mit Kopierern so... Ich versuche was zu finden... Aber Scanner ließen sich damit früher zumindest wirklich beschleunigen.
Benutzeravatar
Krishty
Establishment
Beiträge: 8238
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Alexander Kornrumpf
Moderator
Beiträge: 2112
Registriert: 25.02.2009, 13:37

Re: Jammer-Thread

Beitrag von Alexander Kornrumpf »

Es gibt zwar tatsächlich eine Geräte- und Leermedienabgabe, aber trotzdem ist die GEMA ein Verwerter von Musikrechten. Ich trau es denen tatsächlich zu über das Argument mit den Noten auch auf Scanner Einfluss zu nehmen, aber die DPI Einschränkung macht mMn einfach auch in diesem Kontext keinen Sinn.
Stephan Theisgen
Beiträge: 94
Registriert: 29.07.2003, 11:13

Re: Jammer-Thread

Beitrag von Stephan Theisgen »

Genau, habe ich auch gerade gefunden und dann heißt die Verwertungsgesellschaft in diesem Fall nicht GEMA sondern VG Wort bzw. VG Bild-Kunst...

So Kristhy nun hast Du einen weiteren Aspekt der komplexen Antwort auf Dein Problem. Nicht nur die Hardware ist billig und die Software-Entwickler taugen nichts ;-) sondern auch der Gesetztgeber macht Dir einen Strich durch die Rechnung. Was lernen wir daraus? Die ganze Welt ist böse ;-) also sind wir hier im Jammer-Thread genau richtig!

@Alexander Kornrumpf: da hast Du natürlich Recht. Ich glaube auch nicht, dass die miese Qualität und die fehlende Software in diesem Fall wirklich daran liegt. Die verringerte Geschwindigkeit und mangelnde Automatisierung denke ich aber schon, zumindest zum Teil.
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Paint taugt nicht für Skizzen.
qed.png
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
.357er-Argument
Beiträge: 27
Registriert: 19.02.2009, 23:32
Kontaktdaten:

Re: Jammer-Thread

Beitrag von .357er-Argument »

Das ist ja auch Kunst.
Benutzeravatar
Krishty
Establishment
Beiträge: 8238
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Visual C++ 2010 benutzt kein xorps, um 0.0f in ein Register zu laden, sondern lädt es aus dem Datensegment. WTF.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Jörg
Establishment
Beiträge: 296
Registriert: 03.12.2005, 13:06
Wohnort: Trondheim
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Jörg »

http://zfx.info/viewtopic.php?f=9&t=868&p=31362#p31362

Queries->Buffer: Bisschen eklig fuer kachel-basierte, verzoegerte Architekturen, wenn sich's um das gleiche Bild handelt, in dem das Ergebnis weiterverwendet wird. Man bezahlt mit Bandbreiten- und Energieverbrauch.
Ansonsten: Leider sind GPUs viel flexibler als die API's das glauben machen wollen - und statt sich zu ueberlegen, wie man das alles fein (standardisiert?) zur Verfuegung stellen koennte (wer wuerde denn nicht gerne in den Command-Buffer rendern wollen) bringt jeder Hersteller sein eigenes Set an Erweiterungen raus.
Benutzeravatar
Lynxeye
Establishment
Beiträge: 145
Registriert: 27.02.2009, 16:50
Echter Name: Lucas
Wohnort: Hildesheim
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Lynxeye »

Jörg hat geschrieben:http://zfx.info/viewtopic.php?f=9&t=868&p=31362#p31362

Queries->Buffer: Bisschen eklig fuer kachel-basierte, verzoegerte Architekturen, wenn sich's um das gleiche Bild handelt, in dem das Ergebnis weiterverwendet wird. Man bezahlt mit Bandbreiten- und Energieverbrauch.
Zum Glück sind AMD GPUs aber nicht kachelbasiert und verzögert und haben deshalb überhaupt kein Problem damit. Wie auch ein Großteil aller anderen GPU Architekturen (GeForce, Adreno, Tegra).
Jörg hat geschrieben: Ansonsten: Leider sind GPUs viel flexibler als die API's das glauben machen wollen - und statt sich zu ueberlegen, wie man das alles fein (standardisiert?) zur Verfuegung stellen koennte (wer wuerde denn nicht gerne in den Command-Buffer rendern wollen) bringt jeder Hersteller sein eigenes Set an Erweiterungen raus.
Ich glaube dir nicht wirklich, dass du direkt in den GPU Commandbuffer schreiben möchtest. Denn ja, GPUs sind heutzutage sehr flexibel, aber auch an vielen Stellen sehr, sehr verzwickt. Das was dir die APIs einfach zur Verfügung stellen wie z.B. eine Textur zu samplen bedeutet im Commandbuffer ein setzen von einem dutzend States. Das willst du nicht machen. Dazu kommt dann noch virtuelle Speicherverwaltung, Synchronisation der Ringe und das händische Behandeln der auftretenden Fehler. Willst du das wirklich in deiner Applikation machen?

Zweitens: Innovation entsteht durch Ungleichheit. Wenn wir heute festschreiben, wie der Commandstream einer GPU auszusehen hat und das Herstellerübergreifend, landen wir wieder im Zeitalter der Fixed-function GPUs, bloß mit ein wenig mehr Programmierbarkeit. Ich bin sehr froh, dass verschiedene Hersteller Rechenkerne mit VLIW oder SIMT bauen können und ich beides auf einer höheren Ebene gleich ansprechen kann. Oder auch solche Exoten wie PowerVR wieder eine Chance haben.

Gleichmacherei nützt nichts, sieht man ja bei den x86 CPUs: gleiche Eingangsdaten sorgen zwangsläufig für ähnliche Lösungen beider Hersteller und dazu kommt dann noch ein fettleibiger Dekoder, der 30% des Energiebudgets der CPU frisst, nur um den standardisierten Eingangsdatenstrom in verarbeitungsbereite Päckchen zu zerlegen. Sieh dir im Vergleich einen ARM Dekoder an, der ist schlank und schnell, dafür hast du halt selbst innerhalb der Prozessorfamilie unterschiedliche Befehlssätze (Armv5, ARMv7) und musst entsprechend unterschiedliche Eingangsdatenströme anliefern.
Jörg
Establishment
Beiträge: 296
Registriert: 03.12.2005, 13:06
Wohnort: Trondheim
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Jörg »

Oh doch, ich will das. Natuerlich abstrahiert, aber stell Dir vor, man koennte Command-Chains selber bauen, die haetten einen "virtuellen" Positionszaehler fuer vorher-nacher-Relationen, man koennte springen, ueberspringen, etc. Alles via API-Aufrufen oder per abstrahiertem Shader-Output. Das hat nicht so viel mit Low-Level zu tun, oder Gleichmacherei. Genauso viel oder wenig wie eben ein "Draw call" die moegichen Architekturgestaltung beschraenkt.

Und auch AMD schreckt im Embedded-Bereich vor Kacheln nicht zurueck - siehe 360. Die sind ein bisschen groesser, ja, aber mehr als eine ist genug, damit es eklig wird. Ob das jetzt primaer aus Kosten- oder Enegieeffizienzgruenden so entworfen wurde, sei mal dahingestellt.
Benutzeravatar
dot
Establishment
Beiträge: 1734
Registriert: 06.03.2004, 18:10
Echter Name: Michael Kenzel
Kontaktdaten:

Re: Jammer-Thread

Beitrag von dot »

Jörg hat geschrieben:Oh doch, ich will das. Natuerlich abstrahiert, aber stell Dir vor, man koennte Command-Chains selber bauen, die haetten einen "virtuellen" Positionszaehler fuer vorher-nacher-Relationen, man koennte springen, ueberspringen, etc. Alles via API-Aufrufen oder per abstrahiertem Shader-Output.
Du baust doch deine Command Queue, indem du die Grafik API deiner Wahl benutzt!?
Benutzeravatar
Schrompf
Moderator
Beiträge: 4854
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Schrompf »

Jammer: manchmal, aber nur manchmal, erstellt Visual Studio 2010 das Precompiled Header File nicht neu, obwohl sich ein Header geändert hat. In diesem Fall war es nur eine kleine Konstante, die dazu geführt hat, dass ein binärer Loader ein leicht abweichendes Dateiformat gelesen hat und ein einzelner Integer in einem 10MB-Datenhaufen verschoben wurde.

Happy Debugging.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
simbad
Establishment
Beiträge: 132
Registriert: 14.12.2011, 14:30

Re: Jammer-Thread

Beitrag von simbad »

Weil das mit dem Pre-Compiled Headern noch nie richtig funktioniert hat, und das gibt es ja schon eine ganze Weile, benutze ich die nie. Immer wenn ein völlig un-deterministisches Verhalten auftrat, war das mit abschalten der pre-compiled header ein für alle mal erledigt.
Benutzeravatar
Schrompf
Moderator
Beiträge: 4854
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Schrompf »

Und dafür geschätzt fünffache Übersetzungszeit. Auch meine Produktivität wär damit ein für alle Mal erledigt.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
simbad
Establishment
Beiträge: 132
Registriert: 14.12.2011, 14:30

Re: Jammer-Thread

Beitrag von simbad »

Wenn ich mir überlege, wieviel Zeit ich damit verbracht habe um nicht existente Fehler zu suchen, dann passe ich lieber meine Arbeitsweise an.
Zumal ich auch andere Umgebungen habe, die das mit dem pre-compiled nicht können. Da kommt man also nicht um eine entsprechende Arbeitsweise herum. Und ansonsten ist Geduld gefragt.
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

(false) ? RayHierarchy.BundleRays[ActiveBundleIndex - 1].Offset : 0
fxc hat geschrieben:error X3504: array index out of bounds
Herzlichen Glückwunsch.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
CodingCat
Establishment
Beiträge: 1857
Registriert: 02.03.2009, 21:25
Wohnort: Student @ KIT
Kontaktdaten:

Re: Jammer-Thread

Beitrag von CodingCat »

Dass private Members in C++ auch außerhalb der jeweiligen Klasse an der Namensauflösung teilnehmen, ist einfach nur bescheuert.
alphanew.net (last updated 2011-07-02) | auf Twitter | Source Code: breeze 2 | lean C++ library | D3D Effects Lite
Benutzeravatar
Krishty
Establishment
Beiträge: 8238
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

BeRsErKeR hat geschrieben:
Krishty hat geschrieben:
BeRsErKeR hat geschrieben:hab mich da teilweise an D orientiert, genau wie bei der Syntax von Arrays
Array-Syntax ist ein interessantes Thema … ich hasse C(++)-Arrays. Im Augenblick löse ich in meinen C++-Projekten alles über range-Strukturen, die auf Anfang und Ende von Feldern zeigen, und das fließt wie Butter – abgesehen von dem winzigen Detail, dass der Compiler es nicht ausreichend optimiert, weil es keine Wurzel in der Sprache selber hat; und dass mir bei String-Literalen immer die automatisch angehängte Null zum Verhängnis wird (for teh luv of gawd, WHY!). Ich muss mir auch unbedingt nochmal Gos Slices ansehen, falls ich irgendwann mal Zeit habe. Und dann wären da noch Strings, die ja auch ein Thema für sich sind (Rein in die Sprache oder nicht? Nur Literale? Nullterminiert oder nicht? …).
Klingt interessant. Kannst du mir da mal ein Beispiel zeigen? Zwecks range-Strukturen.
Sie arbeiten ziemlich genau wie .begin() und .end() in STL-Containern; mit Zeigern als Iteratoren. Eigentlich kannst du jedes Array im Programm durch einen STL-Container ersetzen und hast ziemlich genau diese Syntax, nur eine Million mal langsamer als wenn es direkt in der Sprache verankert wäre.(Nachtrag: Nein, idiotisch. Eine Range referenziert vorhandenen Speicher, während ein STL-Container ihn kopiert.)

Dann gibt es noch so Kunststückchen wie, dass man eine Range an beliebiger Stelle in zwei Teile zerlegen kann. Ein Parser würde z.B. die Range des verbliebenen Textes so lange hinter dem ersten Buchstaben teilen, bis nichts mehr übrig (der Text also geparst) ist. Bisher habe ich das aber nicht explizit gebraucht; schlicht den Anfang zu inkrementieren hat gereicht.

Der Clou ist nun, dass man out-of-bounds-Fehler einfach analyisieren kann, weil jeder Zeiger nur entweder an einer einzelnen Instanz oder aber an einer Range bestimmter Größe hängt.

Kein Beispieltext, weil mein Entwicklungssystem atm nicht am Netz hängt.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Antworten