00001 #ifdef USEXAIFBOOSTER
00002
00003 #ifndef _reroutings_include_
00004 #define _reroutings_include_
00005
00006 #include "angel_types.hpp"
00007 #include "xaifBooster/algorithms/CrossCountryInterface/inc/AwarenessLevel.hpp"
00008
00009 using std::list;
00010 using std::vector;
00011 using std::cout;
00012 using boost::tie;
00013
00014 namespace angel {
00015
00022 void reroutable_edges (c_graph_t& angelLCG,
00023 vector<edge_reroute_t>& erv);
00024
00025 unsigned int reroutable_edges(c_graph_t& angelLCG,
00026 vector<Rerouting>& allReroutingsV);
00027
00032 int reroute_effect (const edge_reroute_t er,
00033 const c_graph_t& angelLCG,
00034 const xaifBoosterCrossCountryInterface::AwarenessLevel::AwarenessLevel_E ourAwarenessLevel,
00035 bool& incrementIsTrivial);
00036
00037 unsigned int preroute_edge_directly (edge_reroute_t er,
00038 c_graph_t& angelLCG,
00039 list<EdgeRef_t>& edge_ref_list,
00040 xaifBoosterCrossCountryInterface::JacobianAccumulationExpressionList& jae_list);
00041
00042 unsigned int postroute_edge_directly (edge_reroute_t er,
00043 c_graph_t& angelLCG,
00044 list<EdgeRef_t>& edge_ref_list,
00045 xaifBoosterCrossCountryInterface::JacobianAccumulationExpressionList& jae_list);
00046
00047 unsigned int prerouteEdge_noJAE (edge_reroute_t er,
00048 c_graph_t& angelLCG);
00049
00050 unsigned int postrouteEdge_noJAE (edge_reroute_t er,
00051 c_graph_t& angelLCG);
00052
00053 }
00054
00055 #endif // _reroutings_include_
00056
00057 #endif // USEXAIFBOOSTER
00058