| 
|   | CellBase ()=default | 
|   | 
|   | CellBase (const CellBase &)=default | 
|   | 
|   | CellBase (CellBase &&)=default | 
|   | 
| CellBase &  | operator= (const CellBase &)=default | 
|   | 
| CellBase< api::model::Cell, GraphCellType, GraphCellBase< GraphCellType, GraphCellType > > &  | operator= (CellBase< api::model::Cell, GraphCellType, GraphCellBase< GraphCellType, GraphCellType > > &&) | 
|   | 
| std::vector< api::model::Cell * >  | successors () override | 
|   | 
| void  | handleNewLocation () override | 
|   | 
| void  | handleMove () override | 
|   | 
| void  | handlePerceive () override | 
|   | 
| void  | updatePerceptions (api::model::AgentGroup &group) override | 
|   | 
| void  | init () override | 
|   | 
|   | AgentBase ()=default | 
|   | 
|   | AgentBase (const AgentBase &agent)=default | 
|   | 
|   | AgentBase (AgentBase &&)=default | 
|   | 
| AgentBase &  | operator= (const AgentBase &agent)=default | 
|   | 
| AgentBase &  | operator= (AgentBase &&) | 
|   | 
| GroupId  | groupId () const override | 
|   | 
| std::vector< GroupId >  | groupIds () const override | 
|   | 
| void  | setGroupId (api::model::GroupId id) override | 
|   | 
| void  | addGroupId (api::model::GroupId id) override | 
|   | 
| void  | removeGroupId (api::model::GroupId id) override | 
|   | 
| api::model::AgentGroup *  | group () override | 
|   | 
| const api::model::AgentGroup *  | group () const override | 
|   | 
| std::vector< const api::model::AgentGroup * >  | groups () const override | 
|   | 
| std::vector< api::model::AgentGroup * >  | groups () override | 
|   | 
| void  | setGroup (api::model::AgentGroup *group) override | 
|   | 
| void  | addGroup (api::model::AgentGroup *group) override | 
|   | 
| void  | removeGroup (api::model::AgentGroup *group) override | 
|   | 
| void  | setGroupPos (api::model::GroupId gid, std::list< api::model::Agent * >::iterator pos) override | 
|   | 
| std::list< api::model::Agent * >::iterator  | getGroupPos (api::model::GroupId gid) const override | 
|   | 
| api::model::TypeId  | typeId () const override | 
|   | 
| api::model::Agent *  | copy () const override | 
|   | 
| void  | copyAssign (api::model::Agent *agent) override | 
|   | 
| void  | moveAssign (api::model::Agent *agent) override | 
|   | 
| api::model::AgentNode *  | node () override | 
|   | 
| const api::model::AgentNode *  | node () const override | 
|   | 
| void  | setNode (api::model::AgentNode *node) override | 
|   | 
| api::model::Model *  | model () override | 
|   | 
| const api::model::Model *  | model () const override | 
|   | 
| void  | setModel (api::model::Model *model) override | 
|   | 
| api::model::AgentTask *  | task () override | 
|   | 
| const api::model::AgentTask *  | task () const override | 
|   | 
| api::model::AgentTask *  | task (api::model::GroupId id) override | 
|   | 
| const api::model::AgentTask *  | task (api::model::GroupId id) const override | 
|   | 
| void  | setTask (api::model::AgentTask *task) override | 
|   | 
| void  | setTask (api::model::GroupId id, api::model::AgentTask *task) override | 
|   | 
| const std::unordered_map< api::model::GroupId, api::model::AgentTask * > &  | tasks () override | 
|   | 
| virtual void  | act () override | 
|   | 
| Neighbors< NeighborAgentType >  | outNeighbors () const | 
|   | 
| Neighbors< NeighborAgentType >  | outNeighbors (api::graph::LayerId layer) const | 
|   | 
| Neighbors< NeighborAgentType >  | inNeighbors () const | 
|   | 
| Neighbors< NeighborAgentType >  | inNeighbors (api::graph::LayerId layer) const | 
|   | 
| virtual std::vector< Cell * >  | successors ()=0 | 
|   | 
| virtual GroupId  | groupId () const =0 | 
|   | 
| virtual std::vector< GroupId >  | groupIds () const =0 | 
|   | 
| virtual void  | setGroupId (GroupId id)=0 | 
|   | 
| virtual void  | addGroupId (GroupId id)=0 | 
|   | 
| virtual void  | removeGroupId (GroupId id)=0 | 
|   | 
| virtual AgentGroup *  | group ()=0 | 
|   | 
| virtual const AgentGroup *  | group () const =0 | 
|   | 
| virtual std::vector< AgentGroup * >  | groups ()=0 | 
|   | 
| virtual std::vector< const AgentGroup * >  | groups () const =0 | 
|   | 
| virtual void  | setGroup (AgentGroup *group)=0 | 
|   | 
| virtual void  | addGroup (AgentGroup *group)=0 | 
|   | 
| virtual void  | removeGroup (AgentGroup *group)=0 | 
|   | 
| virtual void  | setGroupPos (api::model::GroupId gid, std::list< Agent * >::iterator pos)=0 | 
|   | 
| virtual std::list< Agent * >::iterator  | getGroupPos (api::model::GroupId gid) const =0 | 
|   | 
| virtual TypeId  | typeId () const =0 | 
|   | 
| virtual Agent *  | copy () const =0 | 
|   | 
| virtual void  | copyAssign (Agent *agent)=0 | 
|   | 
| virtual void  | moveAssign (Agent *agent)=0 | 
|   | 
| virtual AgentNode *  | node ()=0 | 
|   | 
| virtual const AgentNode *  | node () const =0 | 
|   | 
| virtual void  | setNode (AgentNode *node)=0 | 
|   | 
| virtual Model *  | model ()=0 | 
|   | 
| virtual const Model *  | model () const =0 | 
|   | 
| virtual void  | setModel (Model *model)=0 | 
|   | 
| virtual AgentTask *  | task ()=0 | 
|   | 
| virtual const AgentTask *  | task () const =0 | 
|   | 
| virtual void  | setTask (AgentTask *task)=0 | 
|   | 
| virtual AgentTask *  | task (GroupId id)=0 | 
|   | 
| virtual const AgentTask *  | task (GroupId id) const =0 | 
|   | 
| virtual void  | setTask (GroupId id, AgentTask *task)=0 | 
|   | 
| virtual const std::unordered_map< GroupId, AgentTask * > &  | tasks ()=0 | 
|   | 
| virtual void  | act ()=0 | 
|   | 
| virtual void  | init ()=0 | 
|   | 
| virtual void  | handleNewLocation ()=0 | 
|   | 
| virtual void  | handleMove ()=0 | 
|   | 
| virtual void  | handlePerceive ()=0 | 
|   | 
| virtual void  | updatePerceptions (AgentGroup &group)=0 | 
|   | 
| const std::set< DistributedId > &  | reachableCells () const | 
|   | 
| void  | addReachableCell (DistributedId id) | 
|   | 
| void  | removeReachableCell (DistributedId id) | 
|   | 
| void  | clearReachableCells () | 
|   | 
| static const api::model::TypeId  | TYPE_ID | 
|   | 
| std::set< DistributedId >  | no_move_flags | 
|   | 
| std::set< DistributedId >  | move_flags | 
|   | 
| std::set< DistributedId >  | perception_flags | 
|   | 
| std::set< DistributedId >  | reachable_cells | 
|   | 
template<typename GraphCellType, typename Derived = GraphCellType>
class fpmas::model::GraphCellBase< GraphCellType, Derived >
A basic Cell implementation that can be used to build SpatialModels based on a generic graph structure.
- Template Parameters
 - 
  
    | GraphCellType | final GraphCellBase implementation  | 
    | Derived | direct derived class, or at least the next class in the serialization chain | 
  
   
- See also
 - GraphCell