.. _program_listing_file_include_flamegpu_model_SubModelData.h: Program Listing for File SubModelData.h ======================================= |exhale_lsh| :ref:`Return to documentation for file ` (``include/flamegpu/model/SubModelData.h``) .. |exhale_lsh| unicode:: U+021B0 .. UPWARDS ARROW WITH TIP LEFTWARDS .. code-block:: cpp #ifndef INCLUDE_FLAMEGPU_MODEL_SUBMODELDATA_H_ #define INCLUDE_FLAMEGPU_MODEL_SUBMODELDATA_H_ #include #include #include #include "flamegpu/model/SubModelDescription.h" namespace flamegpu { struct ModelData; struct SubAgentData; struct AgentData; struct SubEnvironmentData; class SubModelDescription; struct SubModelData : std::enable_shared_from_this { friend class SubModelDescription; friend struct ModelData; friend class ModelDescription; std::weak_ptr model; std::shared_ptr submodel; typedef std::unordered_map> SubAgentMap; SubAgentMap subagents = {}; std::shared_ptr subenvironment; unsigned int max_steps; std::string name; bool operator==(const SubModelData& rhs) const; bool operator!=(const SubModelData& rhs) const; SubModelData(const SubModelData &other) = delete; protected: explicit SubModelData(std::shared_ptr model, const SubModelData &other); explicit SubModelData(std::shared_ptr model, const std::string &submodel_name, const std::shared_ptr &submodel); }; } // namespace flamegpu #endif // INCLUDE_FLAMEGPU_MODEL_SUBMODELDATA_H_