GALib-Parallel
Header-only C++ library for parallel evolutionary algorithms
Loading...
Searching...
No Matches
Public Member Functions | List of all members
galib::internal::BinarySerializer< GeneType > Class Template Reference

#include <BinarySerializer.h>

Inheritance diagram for galib::internal::BinarySerializer< GeneType >:
[legend]

Public Member Functions

std::vector< std::uint8_t > serialize (const std::vector< Individual< GeneType > > &individuals) const override
 Serializes multiple individuals into a byte vector.
 
std::vector< std::uint8_t > serialize (const Individual< GeneType > &individual) const override
 Serializes a single individual.
 
std::vector< Individual< GeneType > > deserialize (const std::vector< std::uint8_t > &individuals_serialized) const override
 Deserializes a byte vector into individuals.
 
std::vector< Individual< GeneType > > deserialize (const std::uint8_t *data, std::size_t size) const override
 Deserializes from a raw pointer.
 
std::size_t getSerializedSize (const std::size_t individuals_count, const std::size_t genes_count) const override
 Calculates the exact size required to serialize a specific number of individuals.
 
- Public Member Functions inherited from galib::internal::Serializer< GeneType >
virtual ~Serializer ()=default
 

Detailed Description

template<typename GeneType>
class galib::internal::BinarySerializer< GeneType >

Definition at line 15 of file BinarySerializer.h.

Member Function Documentation

◆ deserialize() [1/2]

template<typename GeneType >
std::vector< Individual< GeneType > > galib::internal::BinarySerializer< GeneType >::deserialize ( const std::uint8_t *  data,
std::size_t  size 
) const
inlineoverridevirtual

Deserializes from a raw pointer.

Parameters
dataPointer to the start of the data.
sizeNumber of bytes to read.
Returns
A vector of reconstructed individuals.

Implements galib::internal::Serializer< GeneType >.

Definition at line 119 of file BinarySerializer.h.

References galib::Individual< GeneType >::setFitness(), and galib::Individual< GeneType >::setGenotype().

◆ deserialize() [2/2]

template<typename GeneType >
std::vector< Individual< GeneType > > galib::internal::BinarySerializer< GeneType >::deserialize ( const std::vector< std::uint8_t > &  individuals_serialized) const
inlineoverridevirtual

Deserializes a byte vector into individuals.

Parameters
individuals_serializedThe byte stream to read.
Returns
A vector of reconstructed individuals.

Implements galib::internal::Serializer< GeneType >.

Definition at line 82 of file BinarySerializer.h.

References galib::Individual< GeneType >::setFitness(), and galib::Individual< GeneType >::setGenotype().

◆ getSerializedSize()

template<typename GeneType >
std::size_t galib::internal::BinarySerializer< GeneType >::getSerializedSize ( const std::size_t  individuals_count,
const std::size_t  genes_count 
) const
inlineoverridevirtual

Calculates the exact size required to serialize a specific number of individuals.

Parameters
individuals_countNumber of individuals.
genes_countNumber of genes per individual.
Returns
Size in bytes.

Implements galib::internal::Serializer< GeneType >.

Definition at line 156 of file BinarySerializer.h.

◆ serialize() [1/2]

template<typename GeneType >
std::vector< std::uint8_t > galib::internal::BinarySerializer< GeneType >::serialize ( const Individual< GeneType > &  individual) const
inlineoverridevirtual

Serializes a single individual.

Parameters
individualThe individual to serialize.
Returns
A vector of bytes.

Implements galib::internal::Serializer< GeneType >.

Definition at line 53 of file BinarySerializer.h.

References galib::Individual< GeneType >::getFitness(), and galib::Individual< GeneType >::getGenotype().

◆ serialize() [2/2]

template<typename GeneType >
std::vector< std::uint8_t > galib::internal::BinarySerializer< GeneType >::serialize ( const std::vector< Individual< GeneType > > &  individuals) const
inlineoverridevirtual

Serializes multiple individuals into a byte vector.

Parameters
individualsThe individuals to serialize.
Returns
A vector of bytes representing the individuals.

Implements galib::internal::Serializer< GeneType >.

Definition at line 19 of file BinarySerializer.h.


The documentation for this class was generated from the following file: