mirror of
https://github.com/microsoft/GSL.git
synced 2024-11-03 17:56:43 -05:00
Add value_type to span (#425)
* Add value_type to span Currently I'm working on project which involves a lot of `span`s and mocking via Google Mock. Unfortunately a lot of standard matchers requires `value_type` type definition inside container which `gsl::span` lacks. This pull request add `value_type` type definition inside `gsl::span` * Strip cv from value_type of span and span_iterator
This commit is contained in:
parent
66cf6896e5
commit
c2f953f2eb
@ -133,7 +133,7 @@ namespace details
|
|||||||
using element_type_ = typename Span::element_type;
|
using element_type_ = typename Span::element_type;
|
||||||
public:
|
public:
|
||||||
using iterator_category = std::random_access_iterator_tag;
|
using iterator_category = std::random_access_iterator_tag;
|
||||||
using value_type = std::remove_const_t<element_type_>;
|
using value_type = std::remove_cv_t<element_type_>;
|
||||||
using difference_type = typename Span::index_type;
|
using difference_type = typename Span::index_type;
|
||||||
|
|
||||||
using reference =
|
using reference =
|
||||||
@ -337,6 +337,7 @@ class span
|
|||||||
public:
|
public:
|
||||||
// constants and types
|
// constants and types
|
||||||
using element_type = ElementType;
|
using element_type = ElementType;
|
||||||
|
using value_type = std::remove_cv_t<ElementType>;
|
||||||
using index_type = std::ptrdiff_t;
|
using index_type = std::ptrdiff_t;
|
||||||
using pointer = element_type*;
|
using pointer = element_type*;
|
||||||
using reference = element_type&;
|
using reference = element_type&;
|
||||||
@ -346,6 +347,8 @@ public:
|
|||||||
using reverse_iterator = std::reverse_iterator<iterator>;
|
using reverse_iterator = std::reverse_iterator<iterator>;
|
||||||
using const_reverse_iterator = std::reverse_iterator<const_iterator>;
|
using const_reverse_iterator = std::reverse_iterator<const_iterator>;
|
||||||
|
|
||||||
|
using size_type = index_type;
|
||||||
|
|
||||||
constexpr static const index_type extent = Extent;
|
constexpr static const index_type extent = Extent;
|
||||||
|
|
||||||
// [span.cons], span constructors, copy, assignment, and destructor
|
// [span.cons], span constructors, copy, assignment, and destructor
|
||||||
|
Loading…
Reference in New Issue
Block a user