This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

last stab at alternative pointer support


Final stab at alternative pointer support. This should be 100% ABI compatible for all existing instances of _Rb_tree and it's associated iterators, for which Alloc::pointer is any standard pointer type. Considering that the library doesn't current support non-standard ones I hope that's enough.

To achieve this I preserved the existing types by duplicating the code for the iterator and node types. The iterators and the _Rb_tree itself should be ABI compatible if passed between old/new versions of the code. I'll confirm this with a test if desired. A look over the changes will show that with a standard pointer, the instantiated code for _Rb_tree looks like the original (hence the ABI compatibility). All of the new parameterized types come into play only when the _Alloc parameter yields a non-standard pointer type.

Attachment: patch_stl_tree_h.txt
Description: Text document

Attachment: stl_tree.tcc
Description: Binary data



Bob


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]