1 #ifndef __SEQUENCE_COALESCENT_SIM_TYPES_HPP__ 2 #define __SEQUENCE_COALESCENT_SIM_TYPES_HPP__ 118 chromosome(
const std::vector<segment> & initial_segs,
119 const int & population = 0 );
123 void assign_allocated_segs(
segment * newsegs,
124 const unsigned & new_nsegs );
140 return (segs+nsegs-1)->end;
145 const_iterator begin()
const;
146 const_iterator end()
const;
162 node(
const double & t = 0.,
163 const int & a = -1 );
189 typedef std::vector<node>::iterator iterator;
190 typedef std::vector<node>::const_iterator const_iterator;
191 typedef std::vector<node>::size_type size_type;
192 typedef std::vector<node>::reference reference;
193 typedef std::vector<node>::const_reference const_reference;
196 const_iterator begin()
const;
197 const_iterator end()
const;
198 reference operator[](
const std::vector<node>::size_type &i);
199 const_reference operator[](
const std::vector<node>::size_type &i)
const;
200 marginal(
const int & b,
const int & ns,
const int & nn,
201 const std::vector<node> & tree);
202 bool operator<(
const marginal & rhs)
const;
217 typedef std::list<marginal>
arg;
224 std::unique_ptr<newick_stream_marginal_tree_impl> impl;
231 std::vector<node> get_tree()
const;
232 std::ostream & print( std::ostream & o )
const;
233 std::istream & read( std::istream & i );
std::list< marginal > arg
Ancestral Recombination Graph.
A point on a marginal tree at which a coalescent event occurs.
Class that provides a typecast-on-output of a marginal tree to a newick tree Example use: ...
std::ostream & operator<<(std::ostream &s, const chromosome &c)
output operator for chromosome types in coalescent simulation Outputs the segments contained by the c...
The namespace in which this library resides.
segment()
default constructor initializes all members to 0
std::istream & operator>>(std::istream &i, newick_stream_marginal_tree &n)
A chromosome is a container of segments.
A portion of a recombining chromosome.
The genealogy of a portion of a chromosome on which no recombination has occurred.