Class cached_block_pickup

Nested Relationships

Nested Types

Inheritance Relationships

Base Types

  • public rer::client< cached_block_pickup >

  • public cds::operations::cell2D_op

Class Documentation

class cached_block_pickup : public rer::client<cached_block_pickup>, public cds::operations::cell2D_op

Created whenever a robpot picks up a block from a cache.

The cache usage penalty, if there is one, is assessed prior to this event being created, at a higher level.

Public Types

using visit_typelist = visit_typelist_impl::value

Public Functions

cached_block_pickup(carepr::arena_cache *cache, crepr::sim_block3D *pickup_block, cpargos::swarm_manager_adaptor *sm, const rtypes::type_uuid &robot_id, const rtypes::timestep &t, const locking &locking)
Parameters:
  • cache – The cache to pickup from in the arena.

  • pickup_block – Handle to the block to be picked up from the cache.

  • sm – Handle to the swarm manager.

  • robot_id – The ID of the robot picking up the block.

  • t – The current timestep.

cached_block_pickup(const cached_block_pickup&) = delete
~cached_block_pickup(void) override = default
cached_block_pickup &operator=(const cached_block_pickup&) = delete
void visit(caching_arena_map &map)

Perform actual cache block pickup in the arena, taking locks as needed.