Designproblem bzgl Generizität



  • Hallo zusammen, ich habe momemntan folgendes Problem und hoffe, mir kann hier jemand helfen.

    Ich habe eine generische Klasse CDataSet, die zwei- oder mehrdimensionale Bilddaten abspeichert. Diese Daten können einen beliebigen primitiven Typ haben und entweder Skalare oder Vektoren (im mathematischen Sinne) sein. Das Problem ist nun, daß der eigentliche (primitive) Typ des Datasets erst zur Laufzeit bekannt ist (nämlich dann, wenn die Daten eingelDiplom-Informatikeresen werden). D.h. ich muß die Typgenerizität ohne Templates erreichen, möchte aber auch nicht für jeden primitiven Typ eine eigene Klasse anlegen. Bisher speichere deshalb die Daten intern in einem void* Array und führe bei der Benutzung der Daten entsprechende static casts in den richtigen Typ durch. Das ist aber umständlich, wenig elegant und vor allem nicht typsicher. Hat jemand von euch eine bessere Idee?



  • Schau dir mal die Implementierung von boost::any an. Evtl. hilft dir das.


Anmelden zum Antworten