1 #ifndef GENESIS_PLACEMENT_PQUERY_H_ 2 #define GENESIS_PLACEMENT_PQUERY_H_ 57 class PlacementEdgeData;
58 class PlacementNodeData;
126 iterator_placements begin_placements();
127 const_iterator_placements begin_placements()
const;
129 iterator_placements end_placements();
130 const_iterator_placements end_placements()
const;
146 std::vector<PqueryPlacement>& expose_placements();
193 size_t placement_size()
const;
215 void remove_placement_at(
size_t index );
220 void clear_placements();
226 iterator_names begin_names();
227 const_iterator_names begin_names()
const;
229 iterator_names end_names();
230 const_iterator_names end_names()
const;
246 std::vector<PqueryName>& expose_names();
258 PqueryName& add_name( std::string name =
"",
double multiplicity = 1.0 );
271 size_t name_size()
const;
285 PqueryName const& name_at(
size_t index )
const;
293 void remove_name_at(
size_t index );
306 std::vector<PqueryPlacement> placements_;
307 std::vector<PqueryName> names_;
314 #endif // include guard std::vector< PqueryPlacement >::const_iterator const_iterator_placements
A pquery holds a set of PqueryPlacements and a set of PqueryNames.
One placement position of a Pquery on a Tree.
std::vector< PqueryPlacement >::iterator iterator_placements
Container namespace for all symbols of genesis in order to keep them separate when used as a library...
A name of a Pquery and its multiplicity.
std::vector< PqueryName >::const_iterator const_iterator_names
std::vector< PqueryName > PqueryNames
std::vector< PqueryName >::iterator iterator_names
Simple wrapper for typical begin() and end() iterators, to be used in range-based for loops...
std::vector< PqueryPlacement > PqueryPlacements
Header of PqueryPlacement class.