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:

  • simplicity/clarity

  • 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)

  • memory control

  • 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.

Old comments

rad 2008-07-07 04:56:46

Hi again!
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 :)

More Reading