13#if !defined(ULTRA_HGA_INDIVIDUAL_H)
14# error "Don't include this file directly, include the specific .h instead"
17#if !defined(ULTRA_HGA_INDIVIDUAL_TCC)
18#define ULTRA_HGA_INDIVIDUAL_TCC
43 [[nodiscard]]
const individual&
self() const noexcept {
return ind_; }
45 [[nodiscard]]
auto &genome() noexcept {
return ind_.genome_; }
56 [[nodiscard]] value_type &
operator[](std::size_t i)
noexcept
59 return ind_.genome_[i];
65 [[nodiscard]] std::size_t
size() const noexcept
71 friend class individual;
77 explicit modify_proxy(individual& ind) noexcept : ind_(ind) {}
100 std::invocable<F &, individual::modify_proxy &>
101 && std::same_as<std::invoke_result_t<F &, individual::modify_proxy&>,
void>
102void individual::modify(F &&f)
104 modify_proxy m(*
this);
Definition individual.tcc:35
const individual & self() const noexcept
Definition individual.tcc:43
std::size_t size() const noexcept
Definition individual.tcc:65
value_type & operator[](std::size_t i) noexcept
Definition individual.tcc:56