u3d-community / U3D

Open-source, cross-platform 2D and 3D game engine built in C++
https://u3d.io
MIT License
155 stars 26 forks source link

STL Containers? #20

Open SirNate0 opened 1 year ago

SirNate0 commented 1 year ago

An issue to discuss switching to STL containers for 2.x.

From the project description, we are aiming to be (emphasis added)

Productive: Do not reinvent the wheel. Engine should reduce development time

Switching to the STL means that users have to reinvent the wheel slightly less when looking for code snippets on the internet. But it is also a significant break in compatibility with existing code, as our containers use CamelCase methods, while the STL uses snake_case.


Some questions to start off:

  1. Yes or No to switching for 2.x?
  2. Which containers (e.g. do we include String)?
  3. Which STL (the STL, EASTL, etc.)?
  4. Backwards compatibility: Is there anything to aid the user in the transition?
  5. What about where the STL is less convenient? E.g. Vector::Contains
klaussilveira commented 1 year ago

I'm worried about stability. This could bring a whole new set of bugs that would be hard to find since the userbase is not that big.