1 #ifndef GENESIS_TREE_COMMON_TREE_TREE_H_ 2 #define GENESIS_TREE_COMMON_TREE_TREE_H_ 103 static std::unique_ptr< CommonNodeData >
create()
108 virtual std::unique_ptr< BaseNodeData >
recreate()
const override 113 virtual std::unique_ptr< BaseNodeData >
clone()
const override 115 return std::unique_ptr< CommonNodeData >(
new CommonNodeData( *
this ));
168 static std::unique_ptr< CommonEdgeData >
create()
173 virtual std::unique_ptr< BaseEdgeData >
recreate()
const override 178 virtual std::unique_ptr< BaseEdgeData >
clone()
const override 180 return std::unique_ptr< CommonEdgeData >(
new CommonEdgeData( *
this ));
193 double branch_length = 0.0;
200 #endif // include guard static std::unique_ptr< CommonEdgeData > create()
Tree CommonTree
Alias for a Tree with data types CommonNodeData and CommonEdgeData.
virtual std::unique_ptr< BaseEdgeData > recreate() const override
Polymorphically create a default-constructed instance of this class with the same derived type as it ...
Base class for storing data on Nodes of a Tree.
virtual std::unique_ptr< BaseNodeData > clone() const override
Polymorphically copy an instance of this class. Use instead of copy constructor.
virtual std::unique_ptr< BaseNodeData > recreate() const override
Polymorphically create a default-constructed instance of this class with the same derived type as it ...
Container namespace for all symbols of genesis in order to keep them separate when used as a library...
virtual ~CommonNodeData() override=default
static std::unique_ptr< CommonNodeData > create()
std::string name
Name of the node.
virtual std::unique_ptr< BaseEdgeData > clone() const override
Polymorphically copy an instance of this class. Use instead of copy constructor.
Common class containing the commonly needed data for tree nodes.
Base class for storing data on Edges of a Tree.
Common class containing the commonly needed data for tree edges.
CommonNodeData & operator=(CommonNodeData &&)=delete