Why doesn't Irrlicht use STL?

Discuss about anything related to the Irrlicht Engine, or read announcements about any significant features or usage changes.
Post Reply
MasterGod
Posts: 2061
Joined: Fri May 25, 2007 8:06 pm
Location: Israel
Contact:

Post by MasterGod »

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.
Does that mean you officially reject any chance that we will convert to STL in the future?
Image
Dev State: Abandoned (For now..)
Requirements Analysis Doc: ~87%
UML: ~0.5%
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

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.
rogerborg
Admin
Posts: 3590
Joined: Mon Oct 09, 2006 9:36 am
Location: Scotland - gonnae no slag aff mah Engleesh
Contact:

Post by rogerborg »

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.
Please upload candidate patches to the tracker.
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
Saturn
Posts: 418
Joined: Mon Sep 25, 2006 5:58 pm

Post by Saturn »

Do we await some announcement of some god that decides this is about to be changed or not? I mean who if not the developers decide this.
hybrid, your use of passive voice makes it sound as if you don't have a saying in this and your only executing other parties decisions. ;)
Dorth
Posts: 931
Joined: Sat May 26, 2007 11:03 pm

Post by Dorth »

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.
rogerborg
Admin
Posts: 3590
Joined: Mon Oct 09, 2006 9:36 am
Location: Scotland - gonnae no slag aff mah Engleesh
Contact:

Post by rogerborg »

Image
Please upload candidate patches to the tracker.
Need help now? IRC to #irrlicht on irc.freenode.net
How To Ask Questions The Smart Way
MasterGod
Posts: 2061
Joined: Fri May 25, 2007 8:06 pm
Location: Israel
Contact:

Post by MasterGod »

@rogerborg: LOOOOOOOOOOOOOOOOOOOOOOOOOOOOOL

Where the hell do you find those amazing images!! (google..)

LMAO xD!!
Image
Dev State: Abandoned (For now..)
Requirements Analysis Doc: ~87%
UML: ~0.5%
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

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.
MasterGod
Posts: 2061
Joined: Fri May 25, 2007 8:06 pm
Location: Israel
Contact:

Post by MasterGod »

I'll say it again cause no one address it.
What about C++0x's new features? Will the Irrlicht containers use them?
Image
Dev State: Abandoned (For now..)
Requirements Analysis Doc: ~87%
UML: ~0.5%
CuteAlien
Admin
Posts: 9741
Joined: Mon Mar 06, 2006 2:25 pm
Location: Tübingen, Germany
Contact:

Post by CuteAlien »

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
MasterGod
Posts: 2061
Joined: Fri May 25, 2007 8:06 pm
Location: Israel
Contact:

Post by MasterGod »

CuteAlien wrote: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
Well, the sooner the better :wink:
CuteAlien wrote:(some don't even support c99 so far...).
Really? wow..
Image
Dev State: Abandoned (For now..)
Requirements Analysis Doc: ~87%
UML: ~0.5%
Saturn
Posts: 418
Joined: Mon Sep 25, 2006 5:58 pm

Post by Saturn »

C++0x is probably C++0x0x, so ask again in 8 years.
C++0x features have to wait till all the compilers on the platforms Irrlicht supports also support it. No need to work past reality.

The feature I look forward to the most is std::copy_if btw. ;)
hybrid
Admin
Posts: 14143
Joined: Wed Apr 19, 2006 9:20 pm
Location: Oldenburg(Oldb), Germany
Contact:

Post by hybrid »

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
MasterGod
Posts: 2061
Joined: Fri May 25, 2007 8:06 pm
Location: Israel
Contact:

Post by MasterGod »

hybrid wrote:C++0xa-f
lol, I still hope it gets out in 2009 :D

Regarding the other things, well I guess you are right.
Image
Dev State: Abandoned (For now..)
Requirements Analysis Doc: ~87%
UML: ~0.5%
agi_shi
Posts: 122
Joined: Mon Feb 26, 2007 12:46 am

Post by agi_shi »

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 :lol:

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?" :roll:

BTW, I know the discussion sort of died down already, but I just wanted to get my opinion in.

/nullout
Post Reply