XMLWordPrintable

Details

    • Sub-task
    • Resolution: Completed
    • Low
    • None
    • None
    • None
    • None

    Description

      I thought of opening an "improvement" to list the STL goodies that we would benefit from if they were backported to c++11. Feel free to close this if Jira is not the right place for this.

      ROOT STL backports:

      • std::array_view (core/foundation/inc/ROOT/RArrayView.hxx – should it become std::span?)
      • std::string_view (core/foundation/inc/RStringView.h)
      • std::apply (core/base/v7/inc/ROOT/RTupleApply.hxx )
      • std::make_unique (core/foundation/inc/ROOT/RMakeUnique.hxx)
      • std::not_fn (core/foundation/inc/ROOT/RNotFn.hxx)

      Wish list:

      • std::integer_sequence, std::make_index_sequence & co.
        • TDF is now using a custom implementation, it would be good to have access to the real thing (which might take advantage of compiler intrinsics which our custom implementation does not)
      • std::variant because it needs I/O magic support; there are backports (e.g. Michael Park's); reading a new file with variant into old ROOT might be useful; we have an (outside) use case of (mpark's) variant where they need to implement a custom streamer
      • std::optional similar arguments as for variant.

      Backports could live all together in core/foundation/backports. They should also be documented somewhere. Currently `std::string_view` is included via `core/foundation/inc/RStringView.h` but `std::array_view` is included via `core/foundation/inc/ROOT/RArrayView.hxx`.

      Attachments

        Activity

          People

            dpiparo Danilo Piparo
            eguiraud Enrico Guiraud
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:
              Actual Start: