Title
span does not have a const_pointer typedef
Status
c++20
Section
[span.overview]
Submitter
Louis Dionne

Created on 2018-07-23.00:00:00 last changed 45 months ago

Messages

Date: 2019-01-20.16:20:00

Proposed resolution:

This wording is relative to N4750.

  1. Change [span.overview], class template span synopsis, as indicated:

    namespace std {
      template<class ElementType, ptrdiff_t Extent = dynamic_extent>
      class span {
      public:
        // constants and types
        using element_type = ElementType;
        using value_type = remove_cv_t<ElementType>;
        using index_type = ptrdiff_t;
        using difference_type = ptrdiff_t;
        using pointer = element_type*;
        using const_pointer = const element_type*;
        using reference = element_type&;
        using const_reference = const element_type&;
        using iterator = implementation-defined;
        using const_iterator = implementation-defined;
        using reverse_iterator = reverse_iterator<iterator>;
        using const_reverse_iterator = reverse_iterator<const_iterator>;
        static constexpr index_type extent = Extent;
      
        […]
      };
      […]
    }
    
Date: 2019-01-20.00:00:00

[ 2019-01-20 Reflector prioritization ]

Set Priority to 0 and status to Tentatively Ready

Date: 2018-07-23.00:00:00

std::span does not have a typedef for const_pointer and const_reference. According to Marshall Clow, this is merely an oversight.

History
Date User Action Args
2021-02-25 10:48:01adminsetstatus: wp -> c++20
2019-02-26 17:40:23adminsetstatus: voting -> wp
2019-01-21 04:50:04adminsetstatus: ready -> voting
2019-01-20 16:20:00adminsetmessages: + msg10291
2019-01-20 16:20:00adminsetstatus: new -> ready
2018-07-26 20:39:49adminsetmessages: + msg10046
2018-07-23 00:00:00admincreate