18 template <
typename GeneType>
42 virtual std::vector<Individual<GeneType>>
deserialize(
const std::vector<std::uint8_t>& individuals_serialized)
const = 0;
50 virtual std::vector<Individual<GeneType>>
deserialize(
const std::uint8_t* data, std::size_t size)
const = 0;
58 [[nodiscard]]
virtual std::size_t
getSerializedSize(std::size_t individuals_count, std::size_t genes_count)
const = 0;
Represents a single candidate solution in the population.
Interface for converting individuals to/from byte streams for network transport.
virtual ~Serializer()=default
virtual std::size_t getSerializedSize(std::size_t individuals_count, std::size_t genes_count) const =0
Calculates the exact size required to serialize a specific number of individuals.
virtual std::vector< std::uint8_t > serialize(const std::vector< Individual< GeneType > > &individuals) const =0
Serializes multiple individuals into a byte vector.
virtual std::vector< Individual< GeneType > > deserialize(const std::vector< std::uint8_t > &individuals_serialized) const =0
Deserializes a byte vector into individuals.
virtual std::vector< std::uint8_t > serialize(const Individual< GeneType > &individual) const =0
Serializes a single individual.
virtual std::vector< Individual< GeneType > > deserialize(const std::uint8_t *data, std::size_t size) const =0
Deserializes from a raw pointer.