45 memcpy(o,buf,
sizeof(buf)); o +=
sizeof(buf);
47 return reinterpret_cast<const pocket_t&
>(p) >> o;
53 memcpy(buf,o,
sizeof(buf)); o +=
sizeof(buf);
56 o = (o >>
reinterpret_cast<pocket_t&
>(p));
151 void lineage_incr (
int *incr,
int *sat,
int *etype)
const;
162 string_t
yaml (string_t tab =
"")
const;
167 bool showdeme,
bool extended)
const;
Balls function as pointers.
node_t * owner(void) const
view owner of a green ball
node_t * holder(void) const
in whose pocket do I lie?
string_t yaml(string_t tab="") const
human/machine-readable info
ball_t *& green_ball(void)
set green ball
node_t * parent(void) const
name_t lineage(void) const
view lineage
name_t & lineage(void)
set lineage
node_t & operator=(const node_t &p)=delete
copy assignment operator
size_t bytesize(void) const
size of binary serialization
bool dead_root(void) const
friend raw_t * operator>>(const node_t &p, raw_t *o)
binary serialization of node_t
node_t(const node_t &p)=delete
copy constructor
void reuniqify(name_t shift)
shifts name to avoid overlap
name_t lineage(const ball_t *g) const
view lineage associated with a green ball
SEXP structure(void) const
R list description.
name_t & deme(void)
set deme
node_t(name_t u=0, slate_t t=R_NaReal)
basic constructor for node class
name_t deme(void) const
view deme
ball_t * green_ball(void) const
pointer to my green ball
void insert(ball_t *a)
insert a ball into the pocket of a node
string_t newick(const slate_t &tnow, const slate_t &tpar, bool showdeme, bool extended) const
Newick-format output.
node_t(node_t &&p)=delete
move constructor
void lineage_incr(int *incr, int *sat, int *etype) const
bool holds_own(void) const
int nchildren(void) const
number of descendants
A pocket is a set of balls.
void repair_holder(node_t *p)
size_t bytesize(void) const
size of binary serialization
static const name_t null_lineage