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: Michael Powell <mwpowellhtx at gmail dot com>
- To: Brian Budge <brian dot budge at gmail dot com>
- Cc: Andrew Bell <andrew dot bell dot ia at gmail dot com>, GCC-help <gcc-help at gcc dot gnu dot org>
- Date: Mon, 11 May 2015 12:40:56 -0400
- 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> <CANjXV68M1SnHimAnCKwijYiXGAOj9x0HfbUDy1B3ZX00j2T1ow at mail dot gmail dot com>
On Mon, May 11, 2015 at 11:56 AM, Brian Budge <brian.budge@gmail.com> wrote:
>> 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++?
Playing devil's advocate, I want interface compatibility. That said, I
understand the motivation behind it; it's a good reason, without going
through the proof.