#include <genesis/taxonomy/formats/taxopath_generator.hpp>
Helper class to generate a taxonomic path string from a Taxopath object or a Taxon.
This class bundles the parameters used for generating a taxonomic path string. This is needed in order to allow customization of the generation process. The result of the process is a string representation of the taxonomic path, with all names of the super-taxa of the given taxon (and the taxon itself), concatenated using the delimiter().
For example, the Taxon
Tax_1 Tax_2 Tax_2 Tax_4
might result in a string representation
Tax_1;Tax_2;;Tax_4;
The same result is also obtained from a Taxopath [ "Tax_1", "Tax_2", "Tax_2", "Tax_4" ]
.
Definition at line 74 of file taxopath_generator.hpp.
Public Member Functions | |
TaxopathGenerator ()=default | |
TaxopathGenerator (TaxopathGenerator &&)=default | |
TaxopathGenerator (TaxopathGenerator const &)=default | |
~TaxopathGenerator ()=default | |
bool | append_delimiter () const |
Return whether currently a delimiter is appended to the taxonomic path string. More... | |
TaxopathGenerator & | append_delimiter (bool value) |
Set whether to append the delimiter string to the generated string. More... | |
std::string | delimiter () const |
Return the currelty set value used to join the taxonomic path string elements. More... | |
TaxopathGenerator & | delimiter (std::string const &value) |
Set the string used to join the taxonomic path string elements. More... | |
TaxonField | field () const |
Return the currelty set field to use for describing a Taxon. More... | |
TaxopathGenerator & | field (TaxonField value) |
Set the string field to use for Taxon input. More... | |
std::string | operator() (Taxon const &taxon) const |
Shortcut function alias for to_string( Taxon ). More... | |
std::string | operator() (Taxopath const &taxopath) const |
Shortcut function alias for to_string( Taxopath ). More... | |
TaxopathGenerator & | operator= (TaxopathGenerator &&)=default |
TaxopathGenerator & | operator= (TaxopathGenerator const &)=default |
std::string | to_string (Taxon const &taxon) const |
Return a string representation of a Taxon. More... | |
std::string | to_string (Taxopath const &taxopath) const |
Return a string representation of a Taxopath. More... | |
bool | trim_nested_duplicates () const |
Return the currently set value whether to trim nested duplicates of taxa names. More... | |
TaxopathGenerator & | trim_nested_duplicates (bool value) |
Set whether lower level taxa are omitted if they are the same as the next higher level one. More... | |
Public Types | |
enum | TaxonField { kName, kRank, kId } |
|
default |
|
default |
|
default |
|
default |
bool append_delimiter | ( | ) | const |
Return whether currently a delimiter is appended to the taxonomic path string.
See the setter for details.
Definition at line 183 of file taxopath_generator.cpp.
TaxopathGenerator & append_delimiter | ( | bool | value | ) |
Set whether to append the delimiter string to the generated string.
In many taxonomic databases, the string representation ends with the delimiter char, for example
Animalia;Vertebrata;Mammalia;Carnivora;
This setting determines whether this last delimiter is appended or not.
Definition at line 177 of file taxopath_generator.cpp.
std::string delimiter | ( | ) | const |
Return the currelty set value used to join the taxonomic path string elements.
See the setter for details.
Definition at line 161 of file taxopath_generator.cpp.
TaxopathGenerator & delimiter | ( | std::string const & | value | ) |
Set the string used to join the taxonomic path string elements.
This value is used in between the elements of the taxonomic path string. Default is ';', as this is the usual value in many databases. See Taxopath for details.
Definition at line 155 of file taxopath_generator.cpp.
TaxopathGenerator::TaxonField field | ( | ) | const |
Return the currelty set field to use for describing a Taxon.
See the setter for details.
Definition at line 150 of file taxopath_generator.cpp.
TaxopathGenerator & field | ( | TaxonField | value | ) |
Set the string field to use for Taxon input.
The Taxon class stores three strings that describe a taxon: its name, its rank, and an ID. Using this setting, one can chose which of the fields to use when generating a taxopath.
Definition at line 144 of file taxopath_generator.cpp.
std::string operator() | ( | Taxon const & | taxon | ) | const |
Shortcut function alias for to_string( Taxon ).
This shortcut enables to use a TaxopathGenerator object as functor.
Definition at line 135 of file taxopath_generator.cpp.
std::string operator() | ( | Taxopath const & | taxopath | ) | const |
Shortcut function alias for to_string( Taxopath ).
This shortcut enables to use a TaxopathGenerator object as functor.
Definition at line 78 of file taxopath_generator.cpp.
|
default |
|
default |
std::string to_string | ( | Taxon const & | taxon | ) | const |
Return a string representation of a Taxon.
This generator function uses the settings of this class to generate the string.
Definition at line 83 of file taxopath_generator.cpp.
std::string to_string | ( | Taxopath const & | taxopath | ) | const |
Return a string representation of a Taxopath.
This generator function uses the settings of this class to generate the string.
Definition at line 49 of file taxopath_generator.cpp.
bool trim_nested_duplicates | ( | ) | const |
Return the currently set value whether to trim nested duplicates of taxa names.
See the setter for details.
Definition at line 172 of file taxopath_generator.cpp.
TaxopathGenerator & trim_nested_duplicates | ( | bool | value | ) |
Set whether lower level taxa are omitted if they are the same as the next higher level one.
If set to true
, lower level names are set to empty if they are the same as higher level names. Default is false
, that is, nothing is trimmed.
Example: For a Taxopath
[ "Tax_1", "Tax_1", "Tax_2" ]
the generator function returns Tax_1;Tax_1;Tax_2
, and respectively Tax_1;;Tax_2
with trimming nested duplicates.
Definition at line 166 of file taxopath_generator.cpp.
|
strong |
Enumerator | |
---|---|
kName | |
kRank | |
kId |
Definition at line 78 of file taxopath_generator.hpp.