Definitions.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435
  1. //
  2. // Created by wrede on 27.05.16.
  3. //
  4. #ifndef GBMOT_DEFINITIONS_H
  5. #define GBMOT_DEFINITIONS_H
  6. #include "../core/ObjectData.h"
  7. #include <boost/graph/properties.hpp>
  8. #include <boost/graph/adjacency_list.hpp>
  9. typedef boost::property<boost::edge_weight_t, double> EdgeProp;
  10. typedef boost::property <boost::vertex_name_t, core::ObjectDataPtr>
  11. VertexProp;
  12. typedef boost::adjacency_list <
  13. boost::listS, boost::vecS, boost::directedS, VertexProp, EdgeProp>
  14. DirectedGraph;
  15. typedef boost::graph_traits<DirectedGraph>::edge_descriptor Edge;
  16. typedef boost::graph_traits<DirectedGraph>::vertex_descriptor Vertex;
  17. typedef boost::property_map<DirectedGraph, boost::edge_weight_t>::type
  18. EdgeWeightMap;
  19. typedef boost::property_map<DirectedGraph, boost::vertex_index_t>::type
  20. VertexIndexMap;
  21. typedef boost::property_map<DirectedGraph, boost::vertex_name_t>::type
  22. VertexValueMap;
  23. typedef boost::iterator_property_map<Vertex*, VertexIndexMap, Vertex, Vertex&>
  24. PredecessorMap;
  25. typedef std::unordered_map<Vertex, std::set<Vertex>> MultiPredecessorMap;
  26. typedef boost::iterator_property_map<double*, VertexIndexMap, double, double&>
  27. DistanceMap;
  28. typedef boost::iterator_property_map<
  29. std::vector<Vertex>::iterator, VertexIndexMap, Vertex, Vertex&>
  30. VertexVertexMap;
  31. #endif //GBMOT_DEFINITIONS_H