Definitions.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839
  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 "../../../../../usr/include/boost/graph/properties.hpp"
  8. #include "../../../../../usr/include/boost/pending/property.hpp"
  9. #include "../../../../../usr/include/boost/graph/adjacency_list.hpp"
  10. #include "../../../../../usr/include/boost/graph/graph_selectors.hpp"
  11. #include "../../../../../usr/include/boost/graph/graph_traits.hpp"
  12. #include "../../../../../usr/include/boost/property_map/property_map.hpp"
  13. typedef boost::property<boost::edge_weight_t, double> EdgeProp;
  14. typedef boost::property <boost::vertex_name_t, core::ObjectDataPtr>
  15. VertexProp;
  16. typedef boost::adjacency_list <
  17. boost::listS, boost::vecS, boost::directedS, VertexProp, EdgeProp>
  18. DirectedGraph;
  19. typedef boost::graph_traits<DirectedGraph>::edge_descriptor Edge;
  20. typedef boost::graph_traits<DirectedGraph>::vertex_descriptor Vertex;
  21. typedef boost::property_map<DirectedGraph, boost::edge_weight_t>::type
  22. EdgeWeightMap;
  23. typedef boost::property_map<DirectedGraph, boost::vertex_index_t>::type
  24. VertexIndexMap;
  25. typedef boost::property_map<DirectedGraph, boost::vertex_name_t>::type
  26. VertexValueMap;
  27. typedef boost::iterator_property_map<Vertex*, VertexIndexMap, Vertex, Vertex&>
  28. PredecessorMap;
  29. typedef std::map<Vertex, std::set<Vertex>> MultiPredecessorMap;
  30. typedef boost::iterator_property_map<double*, VertexIndexMap, double, double&>
  31. DistanceMap;
  32. typedef boost::iterator_property_map<
  33. std::vector<Vertex>::iterator, VertexIndexMap, Vertex, Vertex&>
  34. VertexVertexMap;
  35. #endif //GBMOT_DEFINITIONS_H