[GSoC] unimplemented TS entries

Jonathan Wakely jwakely.gcc@gmail.com
Wed Mar 4 12:12:00 GMT 2015


On 4 March 2015 at 08:22, Fan You wrote:
> Hello,
>
> My name is Fan You. I am a ETC master student from CMU.
>
> I have 3 ideas regarding gsoc 2015:

Great, we'd certainly welcome a GSoC project working on libstdc++ (our
finished std::regex implementation was done as a GSoC project, which
went very well).

> a) I found 4 unimplemented Technical Specifications at
> <https://gcc.gnu.org/onlinedocs/libstdc++/manual/status.html>
>
> - C++ Dynamic Array

The Array Extensions TS is not making much progress, it's unknown if
the "magic" memory handling needed for dynarray can be implemented.
Implementing it without the magic takes about an hour (I've done it
already, see https://gcc.gnu.org/ml/libstdc++/2013-09/msg00204.html).
Lawrence Crowl discussed what would be needed for the magic at
https://gcc.gnu.org/ml/libstdc++/2013-06/msg00083.html but I would
suggest forgetting about dynarray for now.

> - Invocation type traits, but dropping function_call_operator

This would be an interesting one! It requires compiler support, it's
not a pure library feature.

> - Polymorphic memory resources

This could be a good project, there's a quite a lot of work to do -
although I'm not sure how much interesting design work would be
involved, rather than just carving out the code in an obvious
direction.

> - Extending shared_ptr to support arrays

This *probably* isn't too hard, we already have a __shared_ptr
implementation type which does all the hard work and could be re-used
for std::experimental::shared_ptr, to avoid reimplementing everything
from scratch.

> I'd like to work on C++ Dynamic Array first, then finish others if I
> have enough time.
>
> b) After searching the mailing list I found 2 extra ideas:
> - rewrite regex <https://gcc.gnu.org/ml/libstdc++/2015-02/msg00056.html>
> - Rb tree node recycling patch
> <https://gcc.gnu.org/ml/libstdc++/2015-02/msg00056.html>

(Wrong link for the second one).

> Do you actually need people to finish those?

No, we have regular contributors who are working on those areas, and I
don't think they are large enough projects for a GSoC project anyway.

There is also the Parallelism TS, which is stable and almost
finalised, see http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4352.html

Also it's not even a working draft yet, but there is a proposal for a
networking TS, see
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2015/n4352.html (I
already have a partial implementation of this though).



More information about the Libstdc++ mailing list