Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
even more cleanups in the routing
[simgrid.git] / src / surf / surf_routing_cluster_torus.hpp
index 995700f..ecb674e 100644 (file)
@@ -1,26 +1,32 @@
-#include "surf_routing_none.hpp"
-#include "network_interface.hpp"
-#include "surf_routing_cluster.hpp"
+/* Copyright (c) 2014-2015. The SimGrid Team.
+ * All rights reserved.                                                     */
+
+/* This program is free software; you can redistribute it and/or modify it
+ * under the terms of the license (GNU LGPL) which comes with this package. */
 
 
 #ifndef SURF_ROUTING_CLUSTER_TORUS_HPP_
 #define SURF_ROUTING_CLUSTER_TORUS_HPP_
 
-class AsClusterTorus;
-typedef AsClusterTorus *AsClusterTorusPtr;
-
-
-class AsClusterTorus: public AsCluster {
-public:
-   AsClusterTorus();
-   virtual void create_links_for_node(sg_platf_cluster_cbarg_t cluster, int id, int rank, int position);
-   virtual void getRouteAndLatency(RoutingEdgePtr src, RoutingEdgePtr dst, sg_platf_route_cbarg_t into, double *latency);
-   void parse_specific_arguments(sg_platf_cluster_cbarg_t cluster);
-
-
-   xbt_dynar_t p_dimensions;
-
-};
+#include <xbt/base.h>
 
+#include "surf_routing_none.hpp"
+#include "network_interface.hpp"
+#include "surf_routing_cluster.hpp"
 
+namespace simgrid {
+  namespace surf {
+
+    class XBT_PRIVATE AsClusterTorus:public simgrid::surf::AsCluster {
+    public:
+      AsClusterTorus(const char*name);
+      virtual ~AsClusterTorus();
+      void create_links_for_node(sg_platf_cluster_cbarg_t cluster, int id, int rank, int position) override;
+      void getRouteAndLatency(NetCard * src, NetCard * dst, sg_platf_route_cbarg_t into, double *latency) override;
+      void parse_specific_arguments(sg_platf_cluster_cbarg_t cluster) override;
+    private:
+      xbt_dynar_t dimensions_ = NULL;
+    };
+
+  }}
 #endif