IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
Loading...
Searching...
No Matches
hashmap_details.hxx File Reference

Go to the source code of this file.

Classes

struct  ice::detail::hashmap::FindResult

Namespaces

namespace  ice
 SPDX-License-Identifier: MIT.
namespace  ice::detail
namespace  ice::detail::hashmap

Concepts

concept  ice::detail::hashmap::HashMapContainer
 A concept used to enable access to read-only operations for all compatible types.

Typedefs

template<ice::concepts::AssociativeContainerType T>
using ice::detail::hashmap::HashMapEntryType = ice::const_correct_t<T, typename std::remove_reference_t<T>::EntryType>

Functions

constexpr auto ice::detail::hashmap::calc_required_capacity (ice::ncount max_count) noexcept -> ice::ncount
constexpr auto ice::detail::hashmap::capacity_with_overhead (ice::ncount max_count) noexcept -> ice::ncount
template<typename EntryType, typename ValueType>
constexpr auto ice::detail::hashmap::calc_meminfo (ice::ncount capacity) noexcept -> ice::meminfo
template<ice::detail::hashmap::HashMapContainer ContainerT>
auto ice::detail::hashmap::entries (ContainerT const &map) noexcept -> ice::Span< typename ContainerT::EntryType const >
template<ice::detail::hashmap::HashMapContainer ContainerT>
auto ice::detail::hashmap::find (ContainerT const &map, ice::u64 key) noexcept -> FindResult
template<ice::detail::hashmap::HashMapContainer ContainerT>
auto ice::detail::hashmap::make (ContainerT &map, ice::u64 key) noexcept -> ice::u32
template<ice::detail::hashmap::HashMapContainer ContainerT>
void ice::detail::hashmap::erase (ContainerT &map, FindResult const fr) noexcept
template<ice::detail::hashmap::HashMapContainer ContainerT>
auto ice::detail::hashmap::find_or_fail (ContainerT const &map, ice::container::KeyType< ContainerT > key) noexcept -> ice::u32
template<ice::detail::hashmap::HashMapContainer ContainerT>
auto ice::detail::hashmap::find_or_make (ContainerT &map, ice::u64 key, bool &found) noexcept -> ice::u32
template<ice::detail::hashmap::HashMapContainer ContainerT>
bool ice::detail::hashmap::find_and_erase (ContainerT &map, ice::u64 key) noexcept
template<ice::detail::hashmap::HashMapContainer ContainerT>
auto ice::detail::hashmap::find (ContainerT &map, ice::u32 entry_index) noexcept -> FindResult

Variables

static constexpr ice::f32 ice::detail::hashmap::Constant_HashMapMaxFill = 0.7f
static constexpr ice::u32 ice::detail::hashmap::Constant_EndOfList = 0xffffffffu