Adds the sys_info class and time_zone::get_info(). The code still has a few quirks and has not been optimized for performance yet. The returned sys_info is compared against the output of the zdump tool in the test giving confidence the implementation is correct. Implements parts of: - P0355 Extending <chrono> to Calendars and Time Zones Implements: - LWGXXXX The sys_info range should be affected by save
8.7 KiB
8.7 KiB
| 1 | Issue # | Issue Name | Meeting | Status | First released version | Labels |
|---|---|---|---|---|---|---|
| 2 | `2994 <https://wg21.link/LWG2994>`__ | Needless UB for ``basic_string`` and ``basic_string_view`` | Varna June 2023 | |Complete| | 5.0 | |
| 3 | `3884 <https://wg21.link/LWG3884>`__ | ``flat_foo`` is missing allocator-extended copy/move constructors | Varna June 2023 | |flat_containers| | ||
| 4 | `3885 <https://wg21.link/LWG3885>`__ | ``op`` should be in [zombie.names] | Varna June 2023 | |Nothing To Do| | ||
| 5 | `3887 <https://wg21.link/LWG3887>`__ | Version macro for ``allocate_at_least`` | Varna June 2023 | |Complete| | 19.0 | |
| 6 | `3893 <https://wg21.link/LWG3893>`__ | LWG 3661 broke ``atomic<shared_ptr<T>> a; a = nullptr;`` | Varna June 2023 | |||
| 7 | `3894 <https://wg21.link/LWG3894>`__ | ``generator::promise_type::yield_value(ranges::elements_of<Rng, Alloc>)`` should not be ``noexcept`` | Varna June 2023 | |||
| 8 | `3903 <https://wg21.link/LWG3903>`__ | span destructor is redundantly noexcept | Varna June 2023 | |Complete| | 7.0 | |
| 9 | `3904 <https://wg21.link/LWG3904>`__ | ``lazy_split_view::outer-iterator``'s const-converting constructor isn't setting ``trailing_empty_`` | Varna June 2023 | |ranges| | ||
| 10 | `3905 <https://wg21.link/LWG3905>`__ | Type of ``std::fexcept_t`` | Varna June 2023 | |Complete| | 3.4 | |
| 11 | `3912 <https://wg21.link/LWG3912>`__ | ``enumerate_view::iterator::operator-`` should be ``noexcept`` | Varna June 2023 | |ranges| | ||
| 12 | `3914 <https://wg21.link/LWG3914>`__ | Inconsistent template-head of ``ranges::enumerate_view`` | Varna June 2023 | |ranges| | ||
| 13 | `3915 <https://wg21.link/LWG3915>`__ | Redundant paragraph about expression variations | Varna June 2023 | |ranges| | ||
| 14 | `3925 <https://wg21.link/LWG3925>`__ | Concept ``formattable``'s definition is incorrect | Varna June 2023 | |Complete| | 17.0 | |format| |
| 15 | `3927 <https://wg21.link/LWG3927>`__ | Unclear preconditions for ``operator[]`` for sequence containers | Varna June 2023 | |Nothing To Do| | ||
| 16 | `3935 <https://wg21.link/LWG3935>`__ | ``template<class X> constexpr complex& operator=(const complex<X>&)`` has no specification | Varna June 2023 | |Complete| | 3.4 | |
| 17 | `3938 <https://wg21.link/LWG3938>`__ | Cannot use ``std::expected`` monadic ops with move-only ``error_type`` | Varna June 2023 | |Complete| | 18.0 | |
| 18 | `3940 <https://wg21.link/LWG3940>`__ | ``std::expected<void, E>::value()`` also needs ``E`` to be copy constructible | Varna June 2023 | |Complete| | 18.0 | |
| 19 | ||||||
| 20 | `2392 <https://wg21.link/LWG2392>`__ | "character type" is used but not defined | Kona November 2023 | |||
| 21 | `3203 <https://wg21.link/LWG3203>`__ | ``span`` element access invalidation | Kona November 2023 | |||
| 22 | `3305 <https://wg21.link/LWG3305>`__ | ``any_cast<void>`` | Kona November 2023 | |Complete| | 18.0 | |
| 23 | `3431 <https://wg21.link/LWG3431>`__ | ``<=>`` for containers should require ``three_way_comparable<T>`` instead of ``<=>`` | Kona November 2023 | |||
| 24 | `3749 <https://wg21.link/LWG3749>`__ | ``common_iterator`` should handle integer-class difference types | Kona November 2023 | |||
| 25 | `3809 <https://wg21.link/LWG3809>`__ | Is ``std::subtract_with_carry_engine<uint16_t>`` supposed to work | Kona November 2023 | |||
| 26 | `3892 <https://wg21.link/LWG3892>`__ | Incorrect formatting of nested ranges and tuples | Kona November 2023 | |Complete| | 17.0 | |format| |
| 27 | `3897 <https://wg21.link/LWG3897>`__ | ``inout_ptr`` will not update raw pointer to 0 | Kona November 2023 | |||
| 28 | `3946 <https://wg21.link/LWG3946>`__ | The definition of ``const_iterator_t`` should be reworked | Kona November 2023 | |||
| 29 | `3947 <https://wg21.link/LWG3947>`__ | Unexpected constraints on ``adjacent_transform_view::base()`` | Kona November 2023 | |ranges| | ||
| 30 | `3948 <https://wg21.link/LWG3948>`__ | ``possibly-const-range and as-const-pointer`` should be ``noexcept`` | Kona November 2023 | |ranges| | ||
| 31 | `3949 <https://wg21.link/LWG3949>`__ | ``std::atomic<bool>``'s trivial destructor dropped in C++17 spec wording | Kona November 2023 | |||
| 32 | `3951 <https://wg21.link/LWG3951>`__ | [expected.object.swap]: Using ``value()`` instead of ``has_value()`` | Kona November 2023 | |||
| 33 | `3953 <https://wg21.link/LWG3953>`__ | ``iter_move`` for ``common_iterator`` and ``counted_iterator`` should return ``decltype(auto)`` | Kona November 2023 | |ranges| | ||
| 34 | `3957 <https://wg21.link/LWG3957>`__ | [container.alloc.reqmts] The value category of v should be claimed | Kona November 2023 | |||
| 35 | `3965 <https://wg21.link/LWG3965>`__ | Incorrect example in [format.string.escaped] p3 for formatting of combining characters | Kona November 2023 | |format| | ||
| 36 | `3970 <https://wg21.link/LWG3970>`__ | [mdspan.syn] Missing definition of ``full_extent_t`` and ``full_extent`` | Kona November 2023 | |||
| 37 | `3973 <https://wg21.link/LWG3973>`__ | Monadic operations should be ADL-proof | Kona November 2023 | |||
| 38 | `3974 <https://wg21.link/LWG3974>`__ | ``mdspan::operator[]`` should not copy ``OtherIndexTypes`` | Kona November 2023 | |||
| 39 | `3987 <https://wg21.link/LWG3987>`__ | Including ``<flat_foo>`` doesn't provide ``std::begin``/``end`` | Kona November 2023 | |flat_containers| | ||
| 40 | `3990 <https://wg21.link/LWG3990>`__ | Program-defined specializations of ``std::tuple`` and ``std::variant`` can't be properly supported | Kona November 2023 | |||
| 41 | `4001 <https://wg21.link/LWG4001>`__ | ``iota_view`` should provide ``empty`` | Kona November 2023 | |ranges| | ||
| 42 | ||||||
| 43 | `3767 <https://wg21.link/LWG3767>`__ | ``codecvt<charN_t, char8_t, mbstate_t>`` incorrectly added to locale | Tokyo March 2024 | |||
| 44 | `3919 <https://wg21.link/LWG3919>`__ | ``enumerate_view`` may invoke UB for sized common non-forward underlying ranges | Tokyo March 2024 | |ranges| | ||
| 45 | `3950 <https://wg21.link/LWG3950>`__ | ``std::basic_string_view`` comparison operators are overspecified | Tokyo March 2024 | |Complete| | 18.0 | |
| 46 | `3975 <https://wg21.link/LWG3975>`__ | Specializations of ``basic_format_context`` should not be permitted | Tokyo March 2024 | |Nothing To Do| | |format| | |
| 47 | `3984 <https://wg21.link/LWG3984>`__ | ``ranges::to``'s recursion branch may be ill-formed | Tokyo March 2024 | |ranges| | ||
| 48 | `4011 <https://wg21.link/LWG4011>`__ | ``"Effects: Equivalent to return"`` in ``[span.elem]`` | Tokyo March 2024 | |Nothing To Do| | ||
| 49 | `4012 <https://wg21.link/LWG4012>`__ | ``common_view::begin/end`` are missing the ``simple-view`` check | Tokyo March 2024 | |ranges| | ||
| 50 | `4013 <https://wg21.link/LWG4013>`__ | ``lazy_split_view::outer-iterator::value_type`` should not provide default constructor | Tokyo March 2024 | |ranges| | ||
| 51 | `4016 <https://wg21.link/LWG4016>`__ | container-insertable checks do not match what container-inserter does | Tokyo March 2024 | |||
| 52 | `4023 <https://wg21.link/LWG4023>`__ | Preconditions of ``std::basic_streambuf::setg/setp`` | Tokyo March 2024 | |||
| 53 | `4025 <https://wg21.link/LWG4025>`__ | Move assignment operator of ``std::expected<cv void, E>`` should not be conditionally deleted | Tokyo March 2024 | |||
| 54 | `4030 <https://wg21.link/LWG4030>`__ | Clarify whether arithmetic expressions in ``[numeric.sat.func]`` are mathematical or C++ | Tokyo March 2024 | |Nothing To Do| | ||
| 55 | `4031 <https://wg21.link/LWG4031>`__ | ``bad_expected_access<void>`` member functions should be ``noexcept`` | Tokyo March 2024 | |Complete| | 16.0 | |
| 56 | `4035 <https://wg21.link/LWG4035>`__ | ``single_view`` should provide ``empty`` | Tokyo March 2024 | |ranges| | ||
| 57 | `4036 <https://wg21.link/LWG4036>`__ | ``__alignof_is_defined`` is only implicitly specified in C++ and not yet deprecated | Tokyo March 2024 | |||
| 58 | `4037 <https://wg21.link/LWG4037>`__ | Static data members of ``ctype_base`` are not yet required to be usable in constant expressions | Tokyo March 2024 | |||
| 59 | `4038 <https://wg21.link/LWG4038>`__ | ``std::text_encoding::aliases_view`` should have constexpr iterators | Tokyo March 2024 | |||
| 60 | `4043 <https://wg21.link/LWG4043>`__ | "ASCII" is not a registered character encoding | Tokyo March 2024 | |Nothing To Do| | ||
| 61 | `4045 <https://wg21.link/LWG4045>`__ | ``tuple`` can create dangling references from ``tuple-like`` | Tokyo March 2024 | |||
| 62 | `4053 <https://wg21.link/LWG4053>`__ | Unary call to ``std::views::repeat`` does not decay the argument | Tokyo March 2024 | |ranges| | ||
| 63 | `4054 <https://wg21.link/LWG4054>`__ | Repeating a ``repeat_view`` should repeat the view | Tokyo March 2024 | |ranges| | ||
| 64 | ||||||
| 65 | `3343 <https://wg21.link/LWG3343>`__ | Ordering of calls to ``unlock()`` and ``notify_all()`` in Effects element of ``notify_all_at_thread_exit()`` should be reversed | Not Yet Adopted | |Complete| | 16.0 | |
| 66 | XXXX | The sys_info range should be affected by save | Not Yet Adopted | |Complete| | 19.0 | |
| 67 |