From 4d9a82b720c8ce74b94f43f72ddd819ef21abbdf Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 18 Mar 2023 23:42:07 +0100 Subject: pre-declare integer types without cstddef/cstdint --- entity/constraints.hpp | 1 - entity/erased-constraints.cpp | 21 ++++++++++----------- entity/erased-constraints.hpp | 6 +++--- entity/metadata.hpp | 25 ++++++++++++------------- 4 files changed, 25 insertions(+), 28 deletions(-) (limited to 'entity') diff --git a/entity/constraints.hpp b/entity/constraints.hpp index b4989353..19ca37b2 100644 --- a/entity/constraints.hpp +++ b/entity/constraints.hpp @@ -1,6 +1,5 @@ #pragma once #include "erased-constraints.hpp" -#include #include #include #include diff --git a/entity/erased-constraints.cpp b/entity/erased-constraints.cpp index 2c062bf1..552556cd 100644 --- a/entity/erased-constraints.cpp +++ b/entity/erased-constraints.cpp @@ -1,6 +1,5 @@ #include "erased-constraints.hpp" #include "compat/assert.hpp" -#include #include #include #include @@ -8,11 +7,11 @@ #include #include -static_assert(sizeof(std::size_t) == sizeof(std::uintptr_t)); -static_assert(sizeof(std::size_t) == sizeof(std::ptrdiff_t)); - namespace floormat::entities::erased_constraints { +static_assert(sizeof(size_t) == sizeof(uintptr_t)); +static_assert(sizeof(size_t) == sizeof(ptrdiff_t)); + template std::pair range::convert() const { static_assert(sizeof(T) <= sizeof(min)); @@ -106,13 +105,13 @@ template std::pair range::convert() const template using pair2 = std::pair; -template pair2 range::convert() const; -template pair2 range::convert() const; -template pair2 range::convert() const; -template pair2 range::convert() const; -template pair2 range::convert() const; -template pair2 range::convert() const; -template pair2 range::convert() const; +template pair2 range::convert() const; +template pair2 range::convert() const; +template pair2 range::convert() const; +template pair2 range::convert() const; +template pair2 range::convert() const; +template pair2 range::convert() const; +template pair2 range::convert() const; template pair2 range::convert() const; template pair2 range::convert() const; template pair2 range::convert() const; diff --git a/entity/erased-constraints.hpp b/entity/erased-constraints.hpp index c77d8166..4d38f456 100644 --- a/entity/erased-constraints.hpp +++ b/entity/erased-constraints.hpp @@ -6,7 +6,7 @@ namespace floormat::entities::erased_constraints { struct range final { - using U = std::size_t; + using U = size_t; using I = std::make_signed_t; enum type_ : unsigned char { type_none, @@ -30,8 +30,8 @@ struct range final }; struct max_length final { - std::size_t value = std::size_t(-1); - constexpr operator std::size_t() const { return value; } + size_t value = size_t(-1); + constexpr operator size_t() const { return value; } }; struct group final { diff --git a/entity/metadata.hpp b/entity/metadata.hpp index e2d9eb67..eece486f 100644 --- a/entity/metadata.hpp +++ b/entity/metadata.hpp @@ -5,7 +5,6 @@ #include "util.hpp" #include "concepts.hpp" #include "compat/defs.hpp" -#include #include #include #include @@ -23,7 +22,7 @@ template struct entity_accessors; namespace floormat::entities::detail { -template +template requires std::invocable(std::declval()))> constexpr CORRADE_ALWAYS_INLINE void visit_tuple(F&& fun, Tuple&& tuple) { @@ -35,7 +34,7 @@ constexpr CORRADE_ALWAYS_INLINE void visit_tuple(F&& fun, Tuple&& tuple) visit_tuple(std::forward(fun), std::forward(tuple)); } -template +template requires std::is_invocable_r_v(std::declval()))> constexpr CORRADE_ALWAYS_INLINE bool find_in_tuple(F&& fun, Tuple&& tuple) { @@ -53,22 +52,22 @@ template struct decay_tuple_; template struct decay_tuple_> { using type = std::tuple...>; }; template using decay_tuple = typename decay_tuple_::type; -template struct find_reader; +template struct find_reader; -template struct find_reader { +template struct find_reader { using type = Default; - static constexpr std::size_t index = I; + static constexpr size_t index = I; }; -template +template struct find_reader { using type = typename find_reader::type; - static constexpr std::size_t index = find_reader::index; + static constexpr size_t index = find_reader::index; }; -template +template requires FieldReader -struct find_reader { using type = F; static constexpr std::size_t index = I; }; +struct find_reader { using type = F; static constexpr size_t index = I; }; } // namespace floormat::entities::detail @@ -85,7 +84,7 @@ struct entity_field : entity_field_base { private: static constexpr auto default_predicate = constantly(field_status::enabled); static constexpr auto default_c_range = constantly(constraints::range{}); - static constexpr auto default_c_length = constantly(constraints::max_length{std::size_t(-1)}); + static constexpr auto default_c_length = constantly(constraints::max_length{size_t(-1)}); static constexpr auto default_c_group = constantly(StringView{}); using default_predicate_t = std::decay_t; using default_c_range_t = std::decay_t; @@ -95,7 +94,7 @@ private: using c_range = detail::find_reader, default_c_range_t, 0, Ts...>; using c_length = detail::find_reader; using c_group = detail::find_reader; - static constexpr std::size_t good_arguments = + static constexpr size_t good_arguments = unsigned(c_predicate::index != sizeof...(Ts)) + unsigned(c_range::index != sizeof...(Ts)) + unsigned(c_length::index != sizeof...(Ts)) + @@ -273,7 +272,7 @@ class entity_metadata final { public: static constexpr StringView class_name = name_of; static constexpr auto accessors = entities::entity_accessors::accessors(); - static constexpr std::size_t size = std::tuple_size_v>; + static constexpr size_t size = std::tuple_size_v>; static constexpr auto erased_accessors = erased_helper(accessors); }; -- cgit v1.2.3