/***********
* Classes *
***********/
-class As;
+struct As;
typedef As *AsPtr;
class RoutingModelDescription;
typedef RoutingModelDescription *RoutingModelDescriptionPtr;
-class RoutingEdge;
+struct RoutingEdge;
typedef RoutingEdge *RoutingEdgePtr;
class Onelink;
void end(AsPtr as);
};*/
-class As {
+struct As {
public:
xbt_dynar_t p_indexNetworkElm;
xbt_dict_t p_bypassRoutes; /* store bypass routes */
xbt_dynar_t p_linkUpDownList;
As(){};
- ~As(){};
+ virtual ~As(){};
virtual void getRouteAndLatency(RoutingEdgePtr src, RoutingEdgePtr dst, sg_platf_route_cbarg_t into, double *latency)=0;
virtual xbt_dynar_t getOneLinkRoutes()=0;
virtual void parseBypassroute(sg_platf_route_cbarg_t e_route)=0;
};
-class RoutingEdge {
+struct RoutingEdge {
public:
AsPtr p_rcComponent;
e_surf_network_element_type_t p_rcType;
class Onelink {
public:
Onelink(void *link, RoutingEdgePtr src, RoutingEdgePtr dst)
- : p_link(link), p_src(src), p_dst(dst) {};
+ : p_src(src), p_dst(dst), p_link(link) {};
RoutingEdgePtr p_src;
RoutingEdgePtr p_dst;
void *p_link;