diff options
Diffstat (limited to 'entity')
-rw-r--r-- | entity/constraints.hpp | 1 | ||||
-rw-r--r-- | entity/erased-constraints.cpp | 21 | ||||
-rw-r--r-- | entity/erased-constraints.hpp | 6 | ||||
-rw-r--r-- | entity/metadata.hpp | 25 |
4 files changed, 25 insertions, 28 deletions
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 <cstddef> #include <type_traits> #include <limits> #include <utility> 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 <cstdint> #include <cmath> #include <limits> #include <Magnum/Magnum.h> @@ -8,11 +7,11 @@ #include <Magnum/Math/Vector3.h> #include <Magnum/Math/Vector4.h> -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<typename T> std::pair<T, T> range::convert() const { static_assert(sizeof(T) <= sizeof(min)); @@ -106,13 +105,13 @@ template<typename T> std::pair<T, T> range::convert() const template<typename T> using pair2 = std::pair<T, T>; -template pair2<std::uint8_t> range::convert() const; -template pair2<std::uint16_t> range::convert() const; -template pair2<std::uint32_t> range::convert() const; -template pair2<std::uint64_t> range::convert() const; -template pair2<std::int8_t> range::convert() const; -template pair2<std::int16_t> range::convert() const; -template pair2<std::int32_t> range::convert() const; +template pair2<uint8_t> range::convert() const; +template pair2<uint16_t> range::convert() const; +template pair2<uint32_t> range::convert() const; +template pair2<uint64_t> range::convert() const; +template pair2<int8_t> range::convert() const; +template pair2<int16_t> range::convert() const; +template pair2<int32_t> range::convert() const; template pair2<float> range::convert() const; template pair2<Vector2ub> range::convert() const; template pair2<Vector2us> 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<U>; 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 <cstddef> #include <concepts> #include <type_traits> #include <limits> @@ -23,7 +22,7 @@ template<typename T> struct entity_accessors; namespace floormat::entities::detail { -template<typename F, typename Tuple, std::size_t N> +template<typename F, typename Tuple, size_t N> requires std::invocable<F, decltype(std::get<N>(std::declval<Tuple>()))> 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<F, Tuple, N+1>(std::forward<F>(fun), std::forward<Tuple>(tuple)); } -template<typename F, typename Tuple, std::size_t N> +template<typename F, typename Tuple, size_t N> requires std::is_invocable_r_v<bool, F, decltype(std::get<N>(std::declval<Tuple>()))> constexpr CORRADE_ALWAYS_INLINE bool find_in_tuple(F&& fun, Tuple&& tuple) { @@ -53,22 +52,22 @@ template<typename T> struct decay_tuple_; template<typename... Ts> struct decay_tuple_<std::tuple<Ts...>> { using type = std::tuple<std::decay_t<Ts>...>; }; template<typename T> using decay_tuple = typename decay_tuple_<T>::type; -template<typename Obj, typename Type, typename Default, std::size_t I, typename... Fs> struct find_reader; +template<typename Obj, typename Type, typename Default, size_t I, typename... Fs> struct find_reader; -template<typename Obj, typename Type, typename Default, std::size_t I> struct find_reader<Obj, Type, Default, I> { +template<typename Obj, typename Type, typename Default, size_t I> struct find_reader<Obj, Type, Default, I> { using type = Default; - static constexpr std::size_t index = I; + static constexpr size_t index = I; }; -template<typename Obj, typename Type, typename Default, std::size_t I, typename F, typename... Fs> +template<typename Obj, typename Type, typename Default, size_t I, typename F, typename... Fs> struct find_reader<Obj, Type, Default, I, F, Fs...> { using type = typename find_reader<Obj, Type, Default, I+1, Fs...>::type; - static constexpr std::size_t index = find_reader<Obj, Type, Default, I+1, Fs...>::index; + static constexpr size_t index = find_reader<Obj, Type, Default, I+1, Fs...>::index; }; -template<typename Obj, typename Type, typename Default, std::size_t I, typename F, typename... Fs> +template<typename Obj, typename Type, typename Default, size_t I, typename F, typename... Fs> requires FieldReader<F, Obj, Type> -struct find_reader<Obj, Type, Default, I, F, Fs...> { using type = F; static constexpr std::size_t index = I; }; +struct find_reader<Obj, Type, Default, I, F, Fs...> { using type = F; static constexpr size_t index = I; }; } // namespace floormat::entities::detail @@ -85,7 +84,7 @@ struct entity_field : entity_field_base<Obj, Type> { private: static constexpr auto default_predicate = constantly(field_status::enabled); static constexpr auto default_c_range = constantly(constraints::range<Type>{}); - 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<decltype(default_predicate)>; using default_c_range_t = std::decay_t<decltype(default_c_range)>; @@ -95,7 +94,7 @@ private: using c_range = detail::find_reader<Obj, constraints::range<Type>, default_c_range_t, 0, Ts...>; using c_length = detail::find_reader<Obj, constraints::max_length, default_c_length_t, 0, Ts...>; using c_group = detail::find_reader<Obj, constraints::group, default_c_group_t, 0, Ts...>; - 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<T>; static constexpr auto accessors = entities::entity_accessors<T>::accessors(); - static constexpr std::size_t size = std::tuple_size_v<std::decay_t<decltype(accessors)>>; + static constexpr size_t size = std::tuple_size_v<std::decay_t<decltype(accessors)>>; static constexpr auto erased_accessors = erased_helper(accessors); }; |