ISO standard lib, boost libs, GLib


Hi, i just gave a look at what the JUCE library says it covers, and i was immediately “shocked” as it seems it doesn’t follow any of the existing standard or maintream crossplatform libraries available for C++.

Why such a decision?

I can’t use a library that doesn’t integrate well with at least the standard library.



eh? It works perfectly well with the standard libraries. Why wouldn’t it?


what i mean is, for example, that i don’t want to be forced to switch from std::string to juce’s own implementation of a string.


I found it strange too at first (I am an STL fanatic). Anyway, for the specific case of std::[w]string, the implementation in JUCE is far better than most of the standard implementations (It’s a copy-on-write buffer of char, it has formatting operations, etc). And JUCE Arrays can be made thread-safe, which cannot be done so easely on STL containers.

I still agree that JUCE could benefits of a few things introduced in STL or Boost such as iterators on containers (to use standard algorithm) or type traits (to do some optimisation for trivial types)


Who’s forcing you to do these things? Are you being held at gunpoint by pro-juce guerilla fighters?