This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Why are RB-trees used to implement std::set?
- From: Brian Budge <brian dot budge at gmail dot com>
- To: Andrew Bell <andrew dot bell dot ia at gmail dot com>
- Cc: GCC-help <gcc-help at gcc dot gnu dot org>
- Date: Mon, 11 May 2015 17:56:35 +0200
- Subject: Re: Why are RB-trees used to implement std::set?
- Authentication-results: sourceware.org; auth=none
- References: <CAKwEqGAN4e53ONBEbUa8BXT1S_oQ18H-DfOkZ30a-sja0bEyNg at mail dot gmail dot com> <5550C2BC dot 3020005 at redhat dot com> <CACJ51z3Px7x5McrDOe3-wFMCz+gdsR=pVB_HR2qpsPHwEdPZdw at mail dot gmail dot com> <CACJ51z3666YB0mQ36HnSf3Mc=4ZvD1A6FGXU6N0hLi5sQw_oPQ at mail dot gmail dot com>
> Break binary compatibility? What kind of guarantees are there? I'm
> not advocating a change in data structures, but it doesn't seem like
> there are any promises beyond API conformance, are there?
Imagine you write a library and you compile and distribute the
binaries. Someone else builds against those. If std::set is used in
your API, and they have a different version of libstdc++, do you still
want the library and the binary to be compatible, even across
different versions of libstdc++?