Genome.hpp

This is a simple, container for a series of instructions.

template<typename INST_T, typename INST_LIB_T, typename SEQUENCE_T = vector<INST_T>>
class Genome : public vector<INST_T>
#include <Genome.hpp>

Public Functions

Genome() = default
inline Genome(Ptr<const INST_LIB_T> _inst_lib, const SEQUENCE_T &_seq = SEQUENCE_T())
inline Genome(const INST_LIB_T &_inst_lib, const SEQUENCE_T &_seq = SEQUENCE_T())
Genome(const Genome&) = default
Genome(Genome&&) = default
inline ~Genome()
Genome &operator=(const Genome&) = default
Genome &operator=(Genome&&) = default
inline auto GetInstLib() const
inline size_t GetSize() const
inline void Resize(size_t new_size)
inline bool operator==(const Genome &other) const
inline bool operator!=(const Genome &other) const
inline bool operator<(const Genome &other) const

Compare genomes using an equivilent of alphabetical order.

inline bool operator>(const Genome &other) const
inline bool operator<=(const Genome &other) const
inline bool operator>=(const Genome &other) const
inline size_t Hash() const

Private Members

Ptr<const INST_LIB_T> inst_lib
struct hash_t
#include <Genome.hpp>

Public Functions

inline size_t operator()(const Genome &g) const