Does that mean you officially reject any chance that we will convert to STL in the future?hybrid wrote:Ok, before someone thinks that we simply ignore this thread: I did vote against the integration of irr::map, because it's awkwardly designed. I did clean up some stuff already, but I won't bother with it more than necessary. That's not true for the other containers, though. I try to fix all problems with those, and enhance their interface while keeping the general use pattern.
However, since I use Irrlicht, the official rule was to avoid all parts of the STL, i.e. all containers, streams, algorithms, everything. Since there had been no other "official announcement", I'll keep it that way.
Why doesn't Irrlicht use STL?
-
- Admin
- Posts: 14143
- Joined: Wed Apr 19, 2006 9:20 pm
- Location: Oldenburg(Oldb), Germany
- Contact:
No, I just stated that absolute avoidance of any STL construct had been an Irrlicht design requirement ever since, and that this rule has not yet been revoked. And these basic design rules have been strictly kept up until now, so don't know if there are any chances to change one of the more fundamental ones.
-
- Admin
- Posts: 3590
- Joined: Mon Oct 09, 2006 9:36 am
- Location: Scotland - gonnae no slag aff mah Engleesh
- Contact:
Time for some requirements rules-lawyering.
Is the requirement that Irrlicht avoid using STL, or that Irrlicht avoid being reliant on STL?
Because a compile switch - off by default - would satisfy the latter requirement.
Is the requirement that Irrlicht avoid using STL, or that Irrlicht avoid being reliant on STL?
Because a compile switch - off by default - would satisfy the latter requirement.
Please upload candidate patches to the tracker.
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
I think Hybrid was pretty open on that we could have a core/STL implementation through a switch. Basically, in my 3 steps, we could go to the second one. The third is the real pickle. The removal of the core containers. But quite honestly, that's the one I'm the least attached to. If the containers behave like STL and can be switched for STL, meh. At that point, they become a luxury typedef for those using the STL implementation.
-
- Admin
- Posts: 3590
- Joined: Mon Oct 09, 2006 9:36 am
- Location: Scotland - gonnae no slag aff mah Engleesh
- Contact:
Please upload candidate patches to the tracker.
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
-
- Admin
- Posts: 14143
- Joined: Wed Apr 19, 2006 9:20 pm
- Location: Oldenburg(Oldb), Germany
- Contact:
Well, Niko made those general decisions. And the requirement for STL usage is that there must be a fully working version of Irrlicht which does not use any kind of STL related statement, struct, whatever. However, we did not discuss this issue lately, but I'm not aware of any ground-breaking change in the general directions.
Even more important (but also very related) is keeping backward compatibility except for very good reasons. So making an opt-in replacement of the underlying container implementations is definitely no problem. But exposing any of the STL functionality into the API might become problematic.
Even more important (but also very related) is keeping backward compatibility except for very good reasons. So making an opt-in replacement of the underlying container implementations is definitely no problem. But exposing any of the STL functionality into the API might become problematic.
Lol, enough time to think about C++0x. Right now it seems anyway like that will be C++10x. And then add some years until the compilers work perfectly (some don't even support c99 so far...).
IRC: #irrlicht on irc.libera.chat
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
Code snippet repository: https://github.com/mzeilfelder/irr-playground-micha
Free racer made with Irrlicht: http://www.irrgheist.com/hcraftsource.htm
-
- Admin
- Posts: 14143
- Joined: Wed Apr 19, 2006 9:20 pm
- Location: Oldenburg(Oldb), Germany
- Contact:
Well C++0x features won't be much of a problem, as long as they are not exposed via the user accessible API (because we'd have to create solutions for all compilers and systems in that case, probably completely out of scope). But internals could be optimized with those features, if it makes any sense (which ones would help?).
Oh yeah, and it will probably be C++0xa-f
Oh yeah, and it will probably be C++0xa-f
I think of the STL as part of the language (maybe because, well, it is part of the language) .
One more thing: someone said, "Irrlicht containers are easy to debug" (or something like this) - that's a very ironic statement. The STL was roughly debugged and tested for you already, you will not find a bug in it. So, basically, your statement pwned itself
But, yeah, Irrlicht + STL would be the best. Try posting in "For Beginners" at Gamedev with something like "should I use my own standard library or the STL?"
BTW, I know the discussion sort of died down already, but I just wanted to get my opinion in.
/nullout
One more thing: someone said, "Irrlicht containers are easy to debug" (or something like this) - that's a very ironic statement. The STL was roughly debugged and tested for you already, you will not find a bug in it. So, basically, your statement pwned itself
But, yeah, Irrlicht + STL would be the best. Try posting in "For Beginners" at Gamedev with something like "should I use my own standard library or the STL?"
BTW, I know the discussion sort of died down already, but I just wanted to get my opinion in.
/nullout