.. _program_listing_file_include_flamegpu_model_SubAgentData.h: Program Listing for File SubAgentData.h ======================================= |exhale_lsh| :ref:`Return to documentation for file ` (``include/flamegpu/model/SubAgentData.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef INCLUDE_FLAMEGPU_MODEL_SUBAGENTDATA_H_ #define INCLUDE_FLAMEGPU_MODEL_SUBAGENTDATA_H_ #include #include #include #include "flamegpu/model/SubModelData.h" namespace flamegpu { struct AgentData; class SubAgentDescription; struct SubAgentData : std::enable_shared_from_this { friend class SubAgentDescription; friend class SubModelDescription; friend struct ModelData; std::weak_ptr model; std::weak_ptr subAgent; std::weak_ptr masterAgent; typedef std::unordered_map Mapping; Mapping variables = {}; Mapping states = {}; std::weak_ptr parent; bool operator==(const SubAgentData& rhs) const; bool operator!=(const SubAgentData& rhs) const; SubAgentData(const SubAgentData &other) = delete; protected: explicit SubAgentData(std::shared_ptr model, const std::shared_ptr &parent, const SubAgentData &other); explicit SubAgentData(std::shared_ptr model, const std::shared_ptr &_parent, const std::shared_ptr &subAgent, const std::shared_ptr &masterAgent); }; } // namespace flamegpu #endif // INCLUDE_FLAMEGPU_MODEL_SUBAGENTDATA_H_