IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
Loading...
Searching...
No Matches
ice::ShardContainer Struct Reference

#include <ice/shard_container.hxx>

Inheritance diagram for ice::ShardContainer:
ice::Array< ice::Shard > ice::container::ContiguousContainer ice::container::ResizableContainer ice::container::BasicContainer

Public Member Functions

constexpr bool contains (ice::ShardID shardid) const noexcept
constexpr auto count_of (ice::ShardID shardid) const noexcept -> ice::ncount
constexpr auto find_first_of (ice::ShardID shardid, ice::nindex offset=ice::nindex_none) const noexcept -> ice::Shard
constexpr auto find_last_of (ice::ShardID shardid, ice::nindex offset=ice::nindex_none) const noexcept -> ice::Shard
template<typename Fn, typename... Args>
constexpr auto for_each (ice::ShardID shardid, Fn &&callback, Args &&... args) const noexcept -> ice::ncount
template<typename T>
constexpr bool inspect_first (ice::ShardID shardid, T &payload) const noexcept
template<typename T>
constexpr bool inspect_last (ice::ShardID shard, T &payload) const noexcept
template<typename T, ice::ContainerLogic Logic>
constexpr auto inspect_all (ice::ShardID shardid, ice::Array< T, Logic > &payloads) const noexcept -> ice::ncount
template<typename T, typename Fn>
constexpr auto inspect_each (ice::ShardID shardid, Fn &&callback) noexcept -> ice::ncount
constexpr void remove_all_of (this ShardContainer &self, ice::ShardID shardid) noexcept
template<std::size_t Count>
constexpr void push_back (ice::Shard const(&shards_array)[Count]) noexcept
Public Member Functions inherited from ice::Array< ice::Shard >
 Array (ice::Allocator &alloc) noexcept
 ~Array () noexcept
auto operator= (Array &&other) noexcept -> Array &
constexpr auto size () const noexcept -> SizeType
constexpr auto data (this Self &self) noexcept -> ice::container::ValuePtr< Self >
constexpr auto capacity () const noexcept -> SizeType
constexpr void set_capacity (SizeType new_capacity) noexcept
constexpr void resize (SizeType new_size) noexcept
constexpr void clear () noexcept
void push_back (ItemType &&item) noexcept
void pop_back (ice::ncount count=1_count) noexcept
void remove_at (ice::nindex index) noexcept
constexpr auto data_view (this Array const &self) noexcept -> ice::Data
constexpr auto memory_view (this Array &self) noexcept -> ice::Memory
 operator ice::Span< ice::Shard > () noexcept
 operator ice::Span< ice::Shard const > () const noexcept
Public Member Functions inherited from ice::container::ContiguousContainer
template<ice::concepts::ContiguousContainer Self>
constexpr auto first (this Self &&self) noexcept -> ice::container::ValueRef< Self >
template<ice::concepts::ContiguousContainer Self>
constexpr auto last (this Self &&self) noexcept -> ice::container::ValueRef< Self >
template<ice::concepts::ContiguousContainer Self>
constexpr auto subspan (this Self &&self, ice::nindex from, ice::ncount count=ice::ncount_none) noexcept -> ice::container::SpanType< Self >
template<ice::concepts::ContiguousContainer Self>
constexpr auto subspan (this Self &&self, ice::ref32 refval) noexcept -> ice::container::SpanType< Self >
template<ice::concepts::ContiguousContainer Self>
constexpr auto headspan (this Self &&self, ice::ncount count=1) noexcept -> ice::container::SpanType< Self >
template<ice::concepts::ContiguousContainer Self>
constexpr auto tailspan (this Self &&self, ice::nindex offset=1) noexcept -> ice::container::SpanType< Self >
template<ice::concepts::ContiguousContainer Self>
constexpr auto begin (this Self &&self) noexcept -> ice::container::Iterator< Self >
template<ice::concepts::ContiguousContainer Self>
constexpr auto end (this Self &&self) noexcept -> ice::container::Iterator< Self >
template<ice::concepts::ContiguousContainer Self>
constexpr auto rbegin (this Self &&self) noexcept -> ice::container::ReverseIterator< Self >
template<ice::concepts::ContiguousContainer Self>
constexpr auto rend (this Self &&self) noexcept -> ice::container::ReverseIterator< Self >
template<ice::concepts::ContiguousContainer Self>
constexpr auto index_of (this Self const &self, ice::container::ValueRef< Self > value) noexcept -> ice::nindex
template<ice::concepts::ContiguousContainer Self, typename Predicate, typename... Args>
constexpr auto index_of (this Self const &self, Predicate const &predicate, Args const &... args) noexcept -> ice::nindex
template<ice::concepts::ContiguousContainer Self>
constexpr auto operator[] (this Self &&self, ice::nindex index) noexcept -> ice::container::ValueRef< Self >
template<ice::concepts::ContiguousContainer Self>
auto meminfo (this Self const &self) noexcept -> ice::meminfo
template<ice::concepts::ContiguousResizableContainer Self>
requires (ice::concepts::TrivialContainerLogic<Self>)
auto memset (this Self const &self, ice::u8 value) noexcept -> ice::Memory
Public Member Functions inherited from ice::container::BasicContainer
template<ice::concepts::Container Self>
constexpr bool is_empty (this Self const &self) noexcept
template<ice::concepts::Container Self>
constexpr bool not_empty (this Self const &self) noexcept
Public Member Functions inherited from ice::container::ResizableContainer
template<ice::concepts::ResizableContainer Self>
constexpr bool is_full (this Self const &self) noexcept
template<ice::concepts::ResizableContainer Self>
constexpr bool not_full (this Self const &self) noexcept
template<ice::concepts::ResizableContainer Self>
constexpr void reserve (this Self &self, ice::ncount min_capacity) noexcept
template<ice::concepts::ResizableContainer Self>
constexpr void grow (this Self &self, ice::ncount min_capacity=ice::ncount_none) noexcept
template<ice::concepts::ResizableContainer Self>
constexpr void shrink (this Self &self) noexcept

Additional Inherited Members

Public Types inherited from ice::Array< ice::Shard >
using ValueType
using ConstContainerValueType
using Iterator
using ReverseIterator
using ConstIterator
using ConstReverseIterator
using SizeType
using ContainerTag
Public Attributes inherited from ice::Array< ice::Shard >
ice::Allocator_allocator
ice::u32 _capacity
ice::u32 _count
ValueType_data

Member Function Documentation

◆ contains()

bool ice::ShardContainer::contains ( ice::ShardID shardid) const
inlineconstexprnoexcept

◆ count_of()

auto ice::ShardContainer::count_of ( ice::ShardID shardid) const -> ice::ncount
inlineconstexprnoexcept

◆ find_first_of()

auto ice::ShardContainer::find_first_of ( ice::ShardID shardid,
ice::nindex offset = ice::nindex_none ) const -> ice::Shard
inlineconstexprnoexcept

◆ find_last_of()

auto ice::ShardContainer::find_last_of ( ice::ShardID shardid,
ice::nindex offset = ice::nindex_none ) const -> ice::Shard
inlineconstexprnoexcept

◆ for_each()

template<typename Fn, typename... Args>
auto ice::ShardContainer::for_each ( ice::ShardID shardid,
Fn && callback,
Args &&... args ) const -> ice::ncount
inlineconstexprnoexcept

◆ inspect_all()

template<typename T, ice::ContainerLogic Logic>
auto ice::ShardContainer::inspect_all ( ice::ShardID shardid,
ice::Array< T, Logic > & payloads ) const -> ice::ncount
inlineconstexprnoexcept

◆ inspect_each()

template<typename T, typename Fn>
auto ice::ShardContainer::inspect_each ( ice::ShardID shardid,
Fn && callback ) -> ice::ncount
inlineconstexprnoexcept

◆ inspect_first()

template<typename T>
bool ice::ShardContainer::inspect_first ( ice::ShardID shardid,
T & payload ) const
inlineconstexprnoexcept

◆ inspect_last()

template<typename T>
bool ice::ShardContainer::inspect_last ( ice::ShardID shard,
T & payload ) const
inlineconstexprnoexcept

◆ push_back()

template<std::size_t Count>
void ice::ShardContainer::push_back ( ice::Shard const(&) shards_array[Count])
inlineconstexprnoexcept

◆ remove_all_of()

void ice::ShardContainer::remove_all_of ( this ShardContainer & self,
ice::ShardID shardid )
inlineconstexprnoexcept

The documentation for this struct was generated from the following file: