text: #pragma once
  #include "config.h"
  #include "constants.h"
  #include "_entity.h"
  
  namespace fusion
  {
      struct archetype_t;
      struct group_t;
      struct chunk_t
      {
          chunk_t(pool_type_t pt)
              :pt(pt) {}
          chunk_t *next = nullptr,*prev = nullptr;
          archetype_t* type = nullptr;
          group_t* group = nullptr;
          entity_t* entities;
          EIndex count = 0;
          pool_type_t pt;
  
          char* data() { return (char*)(this + 1); }
          const char* data() const { return (char*)(this + 1); }
          uint32_t* timestamps() noexcept;
          const entity_t* get_entities() const;
          EIndex get_capacity();
  
          static chunk_t* create(pool_type_t poolType);
          static void destroy(chunk_t* chunk);
          void link(chunk_t* ) noexcept;
          void unlink() noexcept;
      };
  }