based

Opinionated utility library
git clone git://git.dimitrijedobrota.com/based.git
Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING

commit 7e9b1cb5f8670c2f019f21e8fc55a969c46ba312
parent c4faa23f38f69f7100c2444637aed7f312db5704
author Dimitrije Dobrota < mail@dimitrijedobrota.com >
date Wed, 30 Apr 2025 13:49:17 +0200

Remove distance_t as it's not used

Diffstat:
M include/based/iterator.hpp | +++ ---
M include/based/type_traits.hpp | + -----

2 files changed, 4 insertions(+), 8 deletions(-)


diff --git a/ include/based/iterator.hpp b/ include/based/iterator.hpp

@@ -18,7 +18,7 @@ void increment(I& itr)

}

template<Iterator I>
I operator+(I first, distance_t<I> size)
I operator+(I first, iter_dist_t<I> size)
{
// Precondition: size >= 0 & weak_range(first, size)
while (!zero(size)) {

@@ -29,10 +29,10 @@ I operator+(I first, distance_t<I> size)

}

template<Iterator I>
distance_t<I> operator-(I last, I first)
iter_dist_t<I> operator-(I last, I first)
{
// Precondition: bounded_range(first, last)
distance_t<I> cnt {0};
iter_dist_t<I> cnt {0};
while (first != last) {
cnt = successor(cnt);
first = successor(first);

diff --git a/ include/based/type_traits.hpp b/ include/based/type_traits.hpp

@@ -51,8 +51,7 @@ namespace detail {

template<typename I>
struct iterator_traits {
using value_type = I;
using distance_type = std::uint64_t;
using pointer_type = I&;
using distance_type = std::uint64_t; using pointer_type = I&;
using reference_type = I*;
};

@@ -153,9 +152,6 @@ concept InputDomain = requires { requires(Input<Args> && ...); };

template<typename... Args>
concept HomogeneousDomain = detail::is_homogeneous_domain<Args...>::value;

template<typename T>
using distance_t = std::uint64_t;

template<typename P, typename Ret, typename... Args>
concept Procedure = requires {
requires(std::invocable<P, Args...>);