I’ve some days off after finishing the project, flying to warm countries for holidays soon, but in the meantime I started reinventing the wheel for n-th time. I was inspired by EASTL (Electronic Arts’ version of STL) and tried to create small subset of STL, aimed at game development. I started with stuff that I knew would be needed, I dont plan to add multiset equivalent soon :). Main goals were:
true portability (STL leaves too many things to be implementation dependent to my taste, it can especially bite you in the ass when developing for consoles)
efficiency. I’ll be happy with something on par with STL, I dont have problems with its performance. Some non-standard methods will be provided tho (like erase_unordered in vector, which change the ordering of elements when erasing, but is much faster than standard erase). One more time: it’s **not **supposed to be full blown replacement for STL, it’s a limited version, for limited areas of application. First beta version is ready for download here.
rad 2008-07-07 04:56:46
I remember reading about EA STL (several posts on gamedev.net and there was a nice chain of posts from EA STL creator on ogre3d forums, a while back) and thinking that it would be nice to have a look at that library.
For my personal purposes I ended up rewriting most of the STL stuff I use (basic containers, string, rope).
Yeah, the all famous not-invented-here syndrome.
Which data structures/containers are you planning to implement? Any spatial structures?
admin 2008-07-07 07:29:42
No, no spatial structures planned. Right now I’m adding red-black trees and structures based on them (set/map). I think that one “non-standard” structure I may include will be ternary search tree. As you said – it’s more a NIH syndrome and desire to “experiment” with different structures then a serious try of replacing STL altogether :)