|
IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
|
#include <ice/types.hxx>#include <ice/types_extended.hxx>#include <ice/constants.hxx>#include <ice/workarounds.hxx>#include <ice/build/build.hxx>#include <ice/assert_core.hxx>#include <ice/utility.hxx>#include <ice/hash.hxx>#include <ice/concept/enum_bools.hxx>#include <ice/concept/enum_flags.hxx>#include <ice/concept/strong_type_value.hxx>#include <ice/error.hxx>#include <ice/error_codes.hxx>#include <algorithm>#include <cstring>#include <utility>#include <bit>Go to the source code of this file.
Classes | |
| struct | ice::member_info< Member > |
| struct | ice::member_info< Ret(Class::*)(Args...)> |
| struct | ice::member_info< Ret(Class::*)(Args...) noexcept > |
| struct | ice::member_info< Value Class::* > |
Namespaces | |
| namespace | ice |
| SPDX-License-Identifier: MIT. | |
Typedefs | |
| template<typename T> | |
| using | ice::clear_type_t = std::remove_pointer_t<std::remove_reference_t<std::remove_cv_t<T>>> |
| template<typename T> | |
| using | ice::clean_type = clear_type_t<T> |
| template<typename Member> | |
| using | ice::member_class_type_t = typename member_info<Member>::class_type |
| template<typename Member> | |
| using | ice::member_result_type_t = typename member_info<Member>::result_type |
| template<typename Member, ice::u64 Idx> | |
| using | ice::member_arg_type_t = std::tuple_element_t<Idx, typename member_info<Member>::argument_types> |
Functions | |
| template<typename T, ice::u32 Size> | |
| constexpr auto | ice::count (T const (&)[Size]) noexcept -> ice::u32 |
| template<typename T, typename U = T> requires (std::convertible_to<U, T>) | |
| constexpr auto | ice::value_or_default (T value, U default_value) noexcept -> T=delete |
| template<typename T, typename U = T> requires (std::convertible_to<U*, T*>) | |
| constexpr auto | ice::value_or_default (T *value, U *default_value) noexcept -> T * |
| template<typename T, typename U = T> requires (std::convertible_to<U, T> && std::is_arithmetic_v<T>) | |
| constexpr auto | ice::value_or_default (T value, U &&default_value) noexcept -> T |
| template<typename T> | |
| constexpr auto | ice::to_const (T *value) noexcept -> T const * |
Variables | |
| template<typename T, typename = void> | |
| constexpr bool | ice::is_type_complete = false |
| template<typename T> | |
| constexpr bool | ice::is_type_complete< T, std::void_t< decltype(sizeof(T))> > = true |
| template<typename Member> | |
| constexpr bool | ice::is_method_member_v = member_info<Member>::member_type == 1 |
| template<typename Member> | |
| constexpr bool | ice::is_field_member_v = member_info<Member>::member_type == 2 |