From ea7be309a7e431f6ec9561ba6a2062cbb75cacb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Fahller?= Date: Sun, 22 Dec 2024 14:10:24 +0100 Subject: [PATCH] Fixed start date for glibc++ range support --- include/strong_type/range.hpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/include/strong_type/range.hpp b/include/strong_type/range.hpp index 94d1bff..9742087 100644 --- a/include/strong_type/range.hpp +++ b/include/strong_type/range.hpp @@ -39,7 +39,7 @@ namespace internal { struct not_an_iterator {}; -#if defined(STRONG_TYPE_HAS_RANGES) && (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20230601L)) +#if defined(STRONG_TYPE_HAS_RANGES) && (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20230528L)) template auto begin_type(T* t) -> decltype(std::ranges::begin(*t)); #else @@ -49,7 +49,7 @@ auto begin_type(T* t) -> decltype(t->begin()); auto begin_type(...) -> not_an_iterator; -#if defined(STRONG_TYPE_HAS_RANGES) && (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20230601L)) +#if defined(STRONG_TYPE_HAS_RANGES) && (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20230528L)) template auto const_begin_type(const T* t) -> decltype(std::ranges::begin(*t)); #else @@ -58,7 +58,7 @@ auto const_begin_type(const T* t) -> decltype(t->begin()); #endif auto const_begin_type(...) -> not_an_iterator; -#if defined(STRONG_TYPE_HAS_RANGES) && (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20230601L)) +#if defined(STRONG_TYPE_HAS_RANGES) && (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20230528L)) template auto end_type(T* t) -> decltype(std::ranges::end(*t)); #else @@ -67,26 +67,26 @@ auto end_type(T* t) -> decltype(t->end()); #endif auto end_type(...) -> not_an_iterator; -#if defined(STRONG_TYPE_HAS_RANGES) && (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20230601L)) +#if defined(STRONG_TYPE_HAS_RANGES) && (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20230528L)) template auto const_end_type(const T* t) -> decltype(std::ranges::end(*t)); #else template -auto const_end_type(T* t) -> decltype(t->end()); +auto const_end_type(const T* t) -> decltype(t->end()); #endif auto const_end_type(...) -> not_an_iterator; -#if defined(STRONG_TYPE_HAS_RANGES) && (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20230601L)) +#if defined(STRONG_TYPE_HAS_RANGES) && (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20230528L)) template auto cbegin_type(const T* t) -> decltype(std::ranges::cbegin(*t)); #else template -auto cbegin_type(T* t) -> decltype(t->cbegin()); +auto cbegin_type(const T* t) -> decltype(t->cbegin()); #endif auto cbegin_type(...) -> not_an_iterator; -#if defined(STRONG_TYPE_HAS_RANGES) && (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20230601L)) +#if defined(STRONG_TYPE_HAS_RANGES) && (!defined(__GLIBCXX__) || (__GLIBCXX__ >= 20230528L)) template auto cend_type(const T* t) -> decltype(std::ranges::cend(*t)); #else