|
A library for working with phylogenetic and population genetic data.
v0.32.0
|
|
Go to the documentation of this file. 1 #ifndef GENESIS_TREE_TREE_EDGE_DATA_H_
2 #define GENESIS_TREE_TREE_EDGE_DATA_H_
117 static std::unique_ptr< BaseEdgeData >
create()
119 return std::unique_ptr< BaseEdgeData >(
new BaseEdgeData() );
126 virtual std::unique_ptr< BaseEdgeData >
recreate()
const
128 return std::unique_ptr< BaseEdgeData >(
new BaseEdgeData() );
134 virtual std::unique_ptr< BaseEdgeData >
clone()
const
136 return std::unique_ptr< BaseEdgeData >(
new BaseEdgeData( *
this ));
144 #endif // include guard
static std::unique_ptr< BaseEdgeData > create()
Create a new instance of this class. Use instead of default constructor.
Base class for storing data on Edges of a Tree.
virtual ~BaseEdgeData()=default
Virtual destructor. Needed for polymorphism.
BaseEdgeData & operator=(BaseEdgeData &&)=delete
Deleted move assignment.
BaseEdgeData()=default
Protected default constructor. Called from the create() function.
virtual std::unique_ptr< BaseEdgeData > clone() const
Polymorphically copy an instance of this class. Use instead of copy constructor.
Container namespace for all symbols of genesis in order to keep them separate when used as a library.
virtual std::unique_ptr< BaseEdgeData > recreate() const
Polymorphically create a default-constructed instance of this class with the same derived type as it ...