From 61e5bcef2629e2d68b805a956a96fff264d4f74d Mon Sep 17 00:00:00 2001 From: untodesu Date: Sat, 28 Jun 2025 01:59:49 +0500 Subject: Restructure dependencies and update to C++20 - Nuked static_assert from almost everywhere in the project - Nuked binary dependency support. Might add one later though - Separated dependency headers into a separate include subdirectory - Grafted a thirdpartylegalnotices.txt generator from RITEG - Pushed development snapshot version to 2126 (26th week of 2025) --- deps/include/entt/meta/range.hpp | 143 --------------------------------------- 1 file changed, 143 deletions(-) delete mode 100644 deps/include/entt/meta/range.hpp (limited to 'deps/include/entt/meta/range.hpp') diff --git a/deps/include/entt/meta/range.hpp b/deps/include/entt/meta/range.hpp deleted file mode 100644 index 96e4664..0000000 --- a/deps/include/entt/meta/range.hpp +++ /dev/null @@ -1,143 +0,0 @@ -#ifndef ENTT_META_RANGE_HPP -#define ENTT_META_RANGE_HPP - -#include -#include -#include -#include "../core/fwd.hpp" -#include "../core/iterator.hpp" -#include "context.hpp" - -namespace entt { - -/*! @cond TURN_OFF_DOXYGEN */ -namespace internal { - -template -struct meta_range_iterator final { - using value_type = std::pair; - using pointer = input_iterator_pointer; - using reference = value_type; - using difference_type = std::ptrdiff_t; - using iterator_category = std::input_iterator_tag; - using iterator_concept = std::random_access_iterator_tag; - - constexpr meta_range_iterator() noexcept - : it{}, - ctx{} {} - - constexpr meta_range_iterator(const meta_ctx &area, const It iter) noexcept - : it{iter}, - ctx{&area} {} - - constexpr meta_range_iterator &operator++() noexcept { - return ++it, *this; - } - - constexpr meta_range_iterator operator++(int) noexcept { - meta_range_iterator orig = *this; - return ++(*this), orig; - } - - constexpr meta_range_iterator &operator--() noexcept { - return --it, *this; - } - - constexpr meta_range_iterator operator--(int) noexcept { - meta_range_iterator orig = *this; - return operator--(), orig; - } - - constexpr meta_range_iterator &operator+=(const difference_type value) noexcept { - it += value; - return *this; - } - - constexpr meta_range_iterator operator+(const difference_type value) const noexcept { - meta_range_iterator copy = *this; - return (copy += value); - } - - constexpr meta_range_iterator &operator-=(const difference_type value) noexcept { - return (*this += -value); - } - - constexpr meta_range_iterator operator-(const difference_type value) const noexcept { - return (*this + -value); - } - - [[nodiscard]] constexpr reference operator[](const difference_type value) const noexcept { - return {it[value].first, Type{*ctx, it[value].second}}; - } - - [[nodiscard]] constexpr pointer operator->() const noexcept { - return operator*(); - } - - [[nodiscard]] constexpr reference operator*() const noexcept { - return operator[](0); - } - - template - friend constexpr std::ptrdiff_t operator-(const meta_range_iterator &, const meta_range_iterator &) noexcept; - - template - friend constexpr bool operator==(const meta_range_iterator &, const meta_range_iterator &) noexcept; - - template - friend constexpr bool operator<(const meta_range_iterator &, const meta_range_iterator &) noexcept; - -private: - It it; - const meta_ctx *ctx; -}; - -template -[[nodiscard]] constexpr std::ptrdiff_t operator-(const meta_range_iterator &lhs, const meta_range_iterator &rhs) noexcept { - return lhs.it - rhs.it; -} - -template -[[nodiscard]] constexpr bool operator==(const meta_range_iterator &lhs, const meta_range_iterator &rhs) noexcept { - return lhs.it == rhs.it; -} - -template -[[nodiscard]] constexpr bool operator!=(const meta_range_iterator &lhs, const meta_range_iterator &rhs) noexcept { - return !(lhs == rhs); -} - -template -[[nodiscard]] constexpr bool operator<(const meta_range_iterator &lhs, const meta_range_iterator &rhs) noexcept { - return lhs.it < rhs.it; -} - -template -[[nodiscard]] constexpr bool operator>(const meta_range_iterator &lhs, const meta_range_iterator &rhs) noexcept { - return rhs < lhs; -} - -template -[[nodiscard]] constexpr bool operator<=(const meta_range_iterator &lhs, const meta_range_iterator &rhs) noexcept { - return !(lhs > rhs); -} - -template -[[nodiscard]] constexpr bool operator>=(const meta_range_iterator &lhs, const meta_range_iterator &rhs) noexcept { - return !(lhs < rhs); -} - -} // namespace internal -/*! @endcond */ - -/** - * @brief Iterable range to use to iterate all types of meta objects. - * @tparam Type Type of meta objects returned. - * @tparam It Type of forward iterator. - */ -template -using meta_range = iterable_adaptor>; - -} // namespace entt - -#endif -- cgit