Template Struct ThreadWorld

Struct Documentation

template<typename Spec>
struct dish2::ThreadWorld

Public Types

using spec_t = Spec
using population_t = emp::vector<dish2::Cell<Spec>>
using genome_mesh_spec_t = typename Spec::genome_mesh_spec_t
using genome_submesh_t = typename netuit::Mesh<genome_mesh_spec_t>::submesh_t
using genome_node_t = netuit::MeshNode<genome_mesh_spec_t>
using message_mesh_spec_t = typename Spec::message_mesh_spec_t
using message_submesh_t = typename netuit::Mesh<message_mesh_spec_t>::submesh_t
using message_node_t = netuit::MeshNode<message_mesh_spec_t>
using push_mesh_spec_t = typename Spec::push_mesh_spec_t
using push_submesh_t = typename netuit::Mesh<push_mesh_spec_t>::submesh_t
using push_node_t = netuit::MeshNode<push_mesh_spec_t>
using quorum_mesh_spec_t = typename Spec::quorum_mesh_spec_t
using quorum_submesh_t = typename netuit::Mesh<quorum_mesh_spec_t>::submesh_t
using quorum_node_t = netuit::MeshNode<quorum_mesh_spec_t>
using resource_mesh_spec_t = typename Spec::resource_mesh_spec_t
using resource_submesh_t = typename netuit::Mesh<resource_mesh_spec_t>::submesh_t
using resource_node_t = netuit::MeshNode<resource_mesh_spec_t>
using state_mesh_spec_t = typename Spec::state_mesh_spec_t
using state_submesh_t = typename netuit::Mesh<state_mesh_spec_t>::submesh_t
using state_node_t = netuit::MeshNode<state_mesh_spec_t>

Public Functions

ThreadWorld(const genome_submesh_t &genome_submesh, const message_submesh_t &message_submesh, const push_submesh_t &push_submesh, const quorum_submesh_t &quorum_submesh, const resource_submesh_t &resource_submesh, const state_submesh_t &state_submesh)
template<bool THROW_ON_EXTINCTION = true>
void Update()
size_t GetUpdate() const
size_t GetSize() const
const dish2::Cell<Spec> &GetCell(const size_t idx) const

Public Members

population_t population
size_t update = {}