40 #include "Configurable.hpp"
71 size_t chromosome_pair_index;
72 unsigned int position;
74 Locus(
const std::string&
id,
size_t _chromosome_pair_index = 0,
unsigned int _position = 0)
75 :
Configurable(
id), chromosome_pair_index(_chromosome_pair_index), position(_position)
80 virtual std::string class_name()
const {
return "Locus";}
81 virtual Parameters parameters()
const;
82 virtual void configure(
const Parameters& parameters,
const Registry& registry);
86 typedef shared_ptr<Locus> LocusPtr;
87 typedef std::set<Locus> Loci;
90 bool operator<(
const Locus& a,
const Locus& b);
91 bool operator==(
const Locus& a,
const Locus& b);
92 bool operator!=(
const Locus& a,
const Locus& b);
93 std::ostream& operator<<(std::ostream& os,
const Locus& locus);
132 virtual std::string class_name()
const {
return "LocusList";}
133 virtual Parameters parameters()
const;
134 virtual void configure(
const Parameters& parameters,
const Registry& registry);
135 virtual void write_child_configurations(std::ostream& os, std::set<std::string>& ids_written)
const;
139 std::string generate_locus_id(
size_t index)
const;
143 typedef shared_ptr<LocusList> LocusListPtr;
144 typedef std::vector<LocusListPtr> LocusListPtrs;
173 virtual std::string class_name()
const {
return "LocusList_Random";}
174 virtual Parameters parameters()
const;
175 virtual void configure(
const Parameters& parameters,
const Registry& registry);
177 virtual void write_child_configurations(std::ostream& os, std::set<std::string>& ids_written)
const {}
185 #endif // _LOCUS_HPP_