15(
const slate_t &t,
bool showdeme)
const
18 string_t o =
"[&&PhyloPOMP type=extant";
20 o +=
" deme=" + std::to_string(
deme());
22 + std::to_string(
uniq) +
23 ":" + std::to_string(t);
32 bool showdeme,
bool extended)
const
34 string_t o1 =
"", o2 =
"", o3 =
"";
40 o3 +=
"[&&PhyloPOMP ";
48 o3 +=
" deme=" + std::to_string(
deme());
58 if (
n++ > 0) o2 +=
",";
64 if (
n++ > 0) o2 +=
",";
72 + std::to_string(
uniq)
73 +
":" + std::to_string(
slate - tpar);
79(
slate_t t,
bool showdeme,
bool extended)
const
85 o += p->
newick(t,te,showdeme,extended) +
";";
102 SEXP
newick (SEXP State, SEXP Extended) {
103 PROTECT(Extended = AS_LOGICAL(Extended));
104 bool extended = *LOGICAL(Extended);
107 return mkString(A.
newick(extended).c_str());
Balls function as pointers.
name_t deme(void) const
view deme
string_t newick(const slate_t &t, bool showdeme) const
node_t * child(void) const
a child is the owner of a green ball
size_t ndeme(void) const
number of demes
slate_t & time(void)
view/set current time.
string_t newick(bool extended=true) const
put genealogy at current time into Newick format.
Encodes a genealogical node.
node_t(name_t u=0, slate_t t=R_NaReal)
basic constructor for node class
name_t deme(void) const
view deme
string_t newick(const slate_t &tnow, const slate_t &tpar, bool showdeme, bool extended) const
Newick-format output.
bool holds_own(void) const
int nchildren(void) const
number of descendants
slate_t dawn(void) const
Earliest time in the sequence.
string_t newick(slate_t t, bool showdeme, bool extended) const
put genealogy at time t into Newick format.
bool holds(ball_t *b) const
does this node hold the given ball?
SEXP newick(SEXP State, SEXP Extended)
tree in newick format