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);
134 virtual std::string class_name()
const {
return "LocusList";}
135 virtual Parameters parameters()
const;
136 virtual void configure(
const Parameters& parameters,
const Registry& registry);
137 virtual void write_child_configurations(std::ostream& os, std::set<std::string>& ids_written)
const;
141 std::string generate_locus_id(
size_t index)
const;
145 typedef shared_ptr<LocusList> LocusListPtr;
146 typedef std::vector<LocusListPtr> LocusListPtrs;
175 virtual std::string class_name()
const {
return "LocusList_Random";}
176 virtual Parameters parameters()
const;
177 virtual void configure(
const Parameters& parameters,
const Registry& registry);
179 virtual void write_child_configurations(std::ostream& os, std::set<std::string>& ids_written)
const {}
187 #endif // _LOCUS_HPP_