template<typename AgentType>
struct fpmas::io::datapack::LightSerializer< fpmas::api::utils::PtrWrapper< AgentType >, typename std::enable_if< std::is_base_of< api::model::Agent, AgentType >::value &&std::is_default_constructible< AgentType >::value &&std::is_same< AgentType, typename AgentType::FinalAgentType >::value >::type >
A default LightSerializer specialization for default constructible Agent types.
When a default constructor is available for AgentType, this specialization is automatically selected.
The usage of this specialization is recommended, since its optimal: no data is required to serialize / unserialize a LightObjectPack representing such an AgentType. Moreover, its usage is perfectly safe since AgentType instanciated this way are never used directly within FPMAS (at least a complete ObjectPack import is realized before accessing AgentType data, using a ReadGuard for example).
- Template Parameters
-
| AgentType | concrete type of Agent to serialize |