boost :: remove_const do it youself
-
Warum copy 'n pastest du boost::remove_const nicht einfach in dein Projekt, natürlich mit Vermerk, dass du es aus der boost-Bibliothek kopiert hast?
-
Tippgeber schrieb:
...
Weil du ungefähr 30 andere boost Dateien dann auch kopieren musst ? Boost Dateien inkludieren wiederrum auch andere Boost Dateien, also viel Spaß?
-
dann muesste ich beim code review auch alles erklaeren, darum geht es ja bei einer bibliotheksvalidierung

boost::remove_const ist auch alles in allem recht complex: ich war selber ganz ueberrascht....
Ehrlich gesagt kann ich das problem auch anders loesen, aber dann wuerde es zu lasten der const correctness meiner klassen gehen. Mir faellt es halt schwer solche probleme liegen zu lassen.
Ich dachte auch, dass es simpel umzusetzen geht mit der Einschreankung auf standard datentypen (POD + Strings + enums), aber dem is wohl nicht so.....
-
TheBigW schrieb:
Irgendwie scheint es aber nicht fuer const referenzen zu funktionieren (leider mein Anwendungsfall).
Dann spezialisierst du die Geschichte eben auch für Referenzen und const Referenzen

-
TheBigW schrieb:
Danke fuer Deinen Schnellschuss, werd mal testen, ob ich das im VS6 hier mit unseren Komilersettings so umsetzen kann.
Hmmm, die Sache scheint echt hinderlich zu sein, wenn ihr noch den VS6 einsetzt

Aber wie pumuckl gesagt hat, probier einfach noch die Spezialiserung auf
T const&undT&für Referenzen und jeweils eintypedef T& Resultdazu. Könnte funktionieren, sogar auf dem VS6.Grüssli
-
VS6 -> ich hasse es : http://support.microsoft.com/kb/240866#appliesto
hatte ganz vergessen: keine partielle spezialisierung!!!
Ich hab gerade mal im Codeblocks ausprobiert, wie schoen das eigentlich funktioniert.
Damit hat sich wohl ein vernuenftige Loesung erledigt, Trotzdem Danke euch allen.Wie schoen koennte die Welt mit einem Vernuenftigen Kompiler sein.......
-
Das sind aber keine partiellen Spezialisierungen

Meine Spezialisierungen waren alle vollständig.Grüssli
-
...aber leider nicht fuer Referenzen im VS6
: ich braeuchte eine Spezialierung fuer referenzen://I wonder if this syntax is somehow standard conform???? struct RemoveConst<const &> { typedef T Result; };leider nimmt der compiler die so nicht, auch wenn es sich kompilieren laesst und
template< typename T > struct RemoveConst<const T&>...laesst sich nicht kompilieren (im VS6 im g++ gehts...), weil C2989, womit ich wieder bei meinem Link mit partieller Spezialisierung waere...
Wie gesagt Dein Beispiel war super und der folgende Tip von pumuckl mit der spezialisierung hat super funktioniert im g++ aber im VS6 leider nicht......
-
Wieso benutzt du VS6?!?!? Was 'n das für ein laden wo du arbeitest..
-
ist 'ne groessere "Firma" ;). Vergleichbar mit den Dilbert comics.... Restriktionen haben halt positive und negative Seiten...