remove range difference type (unused)

master
Daniel Kolesa 2017-04-16 17:23:09 +02:00
parent 71aa6ff70b
commit 1619dac782
6 changed files with 87 additions and 126 deletions

View File

@ -1213,7 +1213,6 @@ namespace detail {
using value_type = std::remove_reference_t<R>;
using reference = R;
using size_type = range_size_t<T>;
using difference_type = range_difference_t<T>;
private:
T p_range;
@ -1260,7 +1259,7 @@ namespace detail {
*
* The `reference` member type of the range is `R` where `R` is the return
* value of `func`. The `value_type` is `std::remove_reference_t<R>`. The
* size and difference types are preserved.
* size type is preserved.
*
* On each access of a range item (front, back, indexing), the `func` is
* called with the actual wrapped range's item and the result is returned.
@ -1307,7 +1306,6 @@ namespace detail {
using value_type = range_value_t<T>;
using reference = range_reference_t<T>;
using size_type = range_size_t<T>;
using difference_type = range_difference_t<T>;
private:
T p_range;
@ -1373,7 +1371,7 @@ namespace detail {
* }
* ~~~
*
* The value, reference, size and difference types are preserved, as are
* The value, reference and size types are preserved, as are
* calls to `front()` and `empty()`.
*
* @see ostd::map()

View File

@ -1192,7 +1192,6 @@ namespace detail {
using value_type = T;
using reference = T &;
using size_type = std::size_t;
using difference_type = std::ptrdiff_t;
generator_range() = delete;

View File

@ -280,7 +280,6 @@ namespace detail {
using value_type = char;
using reference = char &;
using size_type = std::size_t;
using difference_type = std::ptrdiff_t;
stdout_range() {}
void put(char c) {

View File

@ -192,7 +192,6 @@ namespace detail {
using size_type = typename R::size_type;
using value_type = typename R::value_type;
using reference = typename R::reference;
using difference_type = typename R::difference_type;
template<typename R2>
static constexpr bool is_element_swappable_with =
@ -239,7 +238,6 @@ namespace detail {
* * `size_type` - can contain the range's length (typically `size_t`)
* * `value_type` - the type of the range's elements
* * `reference` - the type returned from value accessors
* * `difference_type` - the type used for distances (typically `ptrdiff_t`)
*
* It will always contain the following members as well:
*
@ -277,7 +275,7 @@ namespace detail {
* You can read about more details [here](@ref ranges).
*
* @see ostd::range_category_t, ostd::range_size_t, ostd::range_value_t,
* ostd::range_reference_t, ostd::range_difference_t
* ostd::range_reference_t
*/
template<typename R>
struct range_traits: detail::range_traits_impl<R, detail::test_range_category<R>> {};
@ -290,8 +288,7 @@ struct range_traits: detail::range_traits_impl<R, detail::test_range_category<R>
* typename ostd::range_traits<R>::range_category
* ~~~
*
* @see ostd::range_size_t, ostd::range_value_t, ostd::range_reference_t,
* ostd::range_difference_t
* @see ostd::range_size_t, ostd::range_value_t, ostd::range_reference_t
*/
template<typename R>
using range_category_t = typename range_traits<R>::range_category;
@ -304,8 +301,7 @@ using range_category_t = typename range_traits<R>::range_category;
* typename ostd::range_traits<R>::size_type
* ~~~
*
* @see ostd::range_category_t, ostd::range_value_t, ostd::range_reference_t,
* ostd::range_difference_t
* @see ostd::range_category_t, ostd::range_value_t, ostd::range_reference_t
*/
template<typename R>
using range_size_t = typename range_traits<R>::size_type;
@ -318,8 +314,7 @@ using range_size_t = typename range_traits<R>::size_type;
* typename ostd::range_traits<R>::value_type
* ~~~
*
* @see ostd::range_category_t, ostd::range_size_t, ostd::range_reference_t,
* ostd::range_difference_t
* @see ostd::range_category_t, ostd::range_size_t, ostd::range_reference_t
*/
template<typename R>
using range_value_t = typename range_traits<R>::value_type;
@ -332,26 +327,11 @@ using range_value_t = typename range_traits<R>::value_type;
* typename ostd::range_traits<R>::reference
* ~~~
*
* @see ostd::range_category_t, ostd::range_size_t, ostd::range_value_t,
* ostd::range_difference_t
* @see ostd::range_category_t, ostd::range_size_t, ostd::range_value_t
*/
template<typename R>
using range_reference_t = typename range_traits<R>::reference;
/** @brief The difference type of a range type.
*
* It's the same as doing
*
* ~~~{.cc}
* typename ostd::range_traits<R>::difference_type
* ~~~
*
* @see ostd::range_category_t, ostd::range_size_t, ostd::range_value_t,
* ostd::range_reference_t
*/
template<typename R>
using range_difference_t = typename range_traits<R>::difference_type;
/** @brief Checks whether two ranges can swap elements with each other.
*
* It's the same as doing
@ -753,7 +733,7 @@ struct input_range {
* wrapped range will be always ostd::finite_random_access_range_tag.
* Otherwise, it will be ostd::bidirectional_range_tag.
*
* The value, reference, size and difference types are the same.
* The value, reference and size types are the same.
*/
auto reverse() const {
static_assert(
@ -777,7 +757,7 @@ struct input_range {
* > == true
* ~~~
*
* The value, size and difference types remain the same. The new reference
* The value and size types remain the same. The new reference
* type becomes `ostd::range_value_t<R> &&`.
*
* Accesses to the front member result in the element being moved.
@ -792,8 +772,8 @@ struct input_range {
* remain mostly the same, but an index counter is kept and incremented on
* each pop.
*
* It's always at most ostd::forward_range_tag. The value, size and
* difference types stay the same, the new reference type is like this:
* It's always at most ostd::forward_range_tag. The value and size types
* stay the same, the new reference type is like this:
*
* ~~~{.cc}
* struct enumerated_value_t {
@ -869,8 +849,8 @@ struct input_range {
*
* The value type can be a pair (for two ranges) or a tuple (for more) of
* the value types. The reference type is also a pair or a tuple, but of
* the reference types. The size and difference types are common types
* between the zipped ranges.
* the reference types. The size type is the common type between the
* zipped ranges.
*/
template<typename R1, typename ...RR>
auto zip(R1 r1, RR ...rr) const {
@ -951,7 +931,6 @@ namespace detail {
using value_type = T;
using reference = T &;
using size_type = std::size_t;
using difference_type = std::ptrdiff_t;
/** @brief Has no effect. */
void put(T const &) {}
@ -975,7 +954,6 @@ namespace detail {
using value_type = range_value_t<R>;
using reference = range_reference_t<R>;
using size_type = range_size_t<R>;
using difference_type = range_difference_t<R>;
private:
R p_range;
@ -1198,7 +1176,6 @@ namespace detail {
using value_type = T;
using reference = T;
using size_type = std::size_t;
using difference_type = std::ptrdiff_t;
number_range() = delete;
@ -1271,7 +1248,6 @@ namespace detail {
using value_type = range_value_t <T>;
using reference = range_reference_t<T>;
using size_type = range_size_t <T>;
using difference_type = range_difference_t<T>;
private:
T p_range;
@ -1322,7 +1298,6 @@ namespace detail {
using value_type = range_value_t<T>;
using reference = range_value_t<T> &&;
using size_type = range_size_t<T>;
using difference_type = range_difference_t<T>;
private:
T p_range;
@ -1354,7 +1329,6 @@ namespace detail {
using value_type = range_value_t<T>;
using reference = enumerated_value_t;
using size_type = range_size_t<T>;
using difference_type = range_difference_t<T>;
private:
T p_range;
@ -1384,7 +1358,6 @@ namespace detail {
using value_type = range_value_t<T>;
using reference = range_reference_t<T>;
using size_type = range_size_t<T>;
using difference_type = range_difference_t<T>;
private:
T p_range;
@ -1417,7 +1390,6 @@ namespace detail {
using value_type = take_range<T>;
using reference = take_range<T>;
using size_type = range_size_t<T>;
using difference_type = range_difference_t<T>;
private:
T p_range;
@ -1470,7 +1442,6 @@ namespace detail {
using value_type = std::common_type_t<range_value_t<R>...>;
using reference = std::common_type_t<range_reference_t<R>...>;
using size_type = std::common_type_t<range_size_t<R>...>;
using difference_type = std::common_type_t<range_difference_t<R>...>;
private:
std::tuple<R...> p_ranges;
@ -1516,7 +1487,6 @@ namespace detail {
using value_type = zip_value_t<range_value_t<R>...>;
using reference = zip_value_t<range_reference_t<R>...>;
using size_type = std::common_type_t<range_size_t<R>...>;
using difference_type = std::common_type_t<range_difference_t<R>...>;
private:
std::tuple<R...> p_ranges;
@ -1561,7 +1531,6 @@ struct appender_range: output_range<appender_range<T>> {
using value_type = typename T::value_type;
using reference = typename T::reference;
using size_type = typename T::size_type;
using difference_type = typename T::difference_type;
/** @brief Default constructs the container inside. */
appender_range(): p_data() {}
@ -1692,7 +1661,6 @@ struct iterator_range: input_range<iterator_range<T>> {
using size_type = std::make_unsigned_t<
typename std::iterator_traits<T>::difference_type
>;
using difference_type = typename std::iterator_traits<T>::difference_type;
/** @brief Creates an iterator range.
*

View File

@ -558,7 +558,6 @@ struct stream_range<T, true>: input_range<stream_range<T>> {
using value_type = T;
using reference = T;
using size_type = std::size_t;
using difference_type = stream_off_t;
stream_range() = delete;
@ -671,7 +670,6 @@ struct stream_line_range: input_range<stream_line_range<T, TC>> {
using value_type = TC;
using reference = TC &;
using size_type = std::size_t;
using difference_type = stream_off_t;
stream_line_range() = delete;

View File

@ -80,7 +80,6 @@ struct basic_char_range: input_range<basic_char_range<T>> {
using value_type = T;
using reference = T &;
using size_type = std::size_t;
using difference_type = std::ptrdiff_t;
using traits_type = TR;