diff --git a/include/gsl/span b/include/gsl/span index 957c9e6..3a8d31d 100644 --- a/include/gsl/span +++ b/include/gsl/span @@ -133,7 +133,7 @@ namespace details using element_type_ = typename Span::element_type; public: using iterator_category = std::random_access_iterator_tag; - using value_type = std::remove_const_t; + using value_type = std::remove_cv_t; using difference_type = typename Span::index_type; using reference = @@ -337,6 +337,7 @@ class span public: // constants and types using element_type = ElementType; + using value_type = std::remove_cv_t; using index_type = std::ptrdiff_t; using pointer = element_type*; using reference = element_type&; @@ -346,6 +347,8 @@ public: using reverse_iterator = std::reverse_iterator; using const_reverse_iterator = std::reverse_iterator; + using size_type = index_type; + constexpr static const index_type extent = Extent; // [span.cons], span constructors, copy, assignment, and destructor