Template Struct Cell

Struct Documentation

template<typename Spec>
struct dish2::Cell

Public Types

using genome_t = dish2::Genome<Spec>
using genome_mesh_spec_t = typename Spec::genome_mesh_spec_t
using genome_node_t = netuit::MeshNode<genome_mesh_spec_t>
using intra_message_mesh_spec_t = typename Spec::intra_message_mesh_spec_t
using intra_message_node_t = netuit::MeshNode<intra_message_mesh_spec_t>
using message_mesh_spec_t = typename Spec::message_mesh_spec_t
using message_node_t = netuit::MeshNode<message_mesh_spec_t>
using push_mesh_spec_t = typename Spec::push_mesh_spec_t
using push_node_t = netuit::MeshNode<push_mesh_spec_t>
using quorum_mesh_spec_t = typename Spec::quorum_mesh_spec_t
using quorum_node_t = netuit::MeshNode<quorum_mesh_spec_t>
using resource_mesh_spec_t = typename Spec::resource_mesh_spec_t
using resource_node_t = netuit::MeshNode<resource_mesh_spec_t>
using state_mesh_spec_t = typename Spec::state_mesh_spec_t
using state_node_t = netuit::MeshNode<state_mesh_spec_t>
using spec_t = Spec
using this_t = dish2::Cell<Spec>

Public Functions

void DeathRoutine(const dish2::CauseOfDeath)
void FragmentationRoutine()
void HeirPayoutRoutine()
void MakeAliveRoutine()
Cell(const genome_node_t &genome_node, const message_node_t &message_node, const push_node_t &push_node, const quorum_node_t &quorum_node, const resource_node_t &resource_node, const state_node_t &state_node)
void Clear()
template<typename T = dish2::IdentityWrapper<Spec>, typename ...Args>
T begin(Args&&... args)
template<typename T = dish2::IdentityWrapper<Spec>, typename ...Args>
T begin(Args&&... args) const
template<typename T = dish2::IdentityWrapper<Spec>>
T end()
template<typename T = dish2::IdentityWrapper<Spec>>
T end() const
bool IsAlive() const
size_t GetPeripherality(const size_t lev) const
auto GetPeripherality() const
size_t GetNumCardinals() const
const genome_t &GetGenome() const
void Update(const size_t update)

Public Members

emp::vector<dish2::Cardinal<Spec>> cardinals
dish2::RunningLogs<Spec> running_logs
emp::optional<genome_t> genome = {std::in_place, std::in_place}
dish2::PushCellState cell_push_state
dish2::CellQuorumState<Spec> cell_quorum_state