co_ecs 0.9.0
Cobalt ECS
Loading...
Searching...
No Matches
chunk.hpp File Reference
#include <cassert>
#include <cstdint>
#include <new>
#include <optional>
#include <type_traits>
#include <utility>
#include <co_ecs/component.hpp>
#include <co_ecs/detail/bits.hpp>
#include <co_ecs/detail/sparse_map.hpp>
#include <co_ecs/detail/views.hpp>
#include <co_ecs/entity.hpp>
#include <co_ecs/exceptions.hpp>

Go to the source code of this file.

Classes

struct  co_ecs::block_metadata
 Block metadata holds pointers where it begins, ends and a component metadata it holds. More...
 
class  co_ecs::chunk
 Chunk holds a 16 Kb block of memory that holds components in blocks: |A1|A2|A3|...padding|B1|B2|B3|...padding|C1|C2|C3...padding where A, B, C are component types and A1, B1, C1 and others are components instances. More...
 
struct  co_ecs::chunk::chunk_buffer
 Chunk buffer type. More...
 
struct  co_ecs::component_fetch
 Component fetch is a namespace for routines that figure out based on input component_reference how to fetch the component from the chunk. More...
 
class  co_ecs::chunk_view< Args >
 A type aware view into a chunk components. More...
 
class  co_ecs::chunk_view< Args >::iterator
 Chunk view iterator. More...
 

Namespaces

namespace  co_ecs
 

Typedefs

using co_ecs::blocks_type = detail::sparse_map<component_id_t, block_metadata>