gravatar
kpeter (Peter Kovacs)
kpeter@inf.elte.hu
Fix the usage of tags in adaptors.h (#67) There are separate tags for arcs and edges now.
0 1 0
default
1 file changed with 33 insertions and 20 deletions:
↑ Collapse diff ↑
Ignore white space 8 line context
... ...
@@ -69,12 +69,12 @@
69 69

	
70 70
    typedef NodeNumTagIndicator<Digraph> NodeNumTag;
71 71
    int nodeNum() const { return _digraph->nodeNum(); }
72 72

	
73
    typedef EdgeNumTagIndicator<Digraph> EdgeNumTag;
73
    typedef ArcNumTagIndicator<Digraph> ArcNumTag;
74 74
    int arcNum() const { return _digraph->arcNum(); }
75 75

	
76
    typedef FindEdgeTagIndicator<Digraph> FindEdgeTag;
76
    typedef FindArcTagIndicator<Digraph> FindArcTag;
77 77
    Arc findArc(const Node& u, const Node& v, const Arc& prev = INVALID) {
78 78
      return _digraph->findArc(u, v, prev);
79 79
    }
80 80

	
... ...
@@ -197,16 +197,20 @@
197 197

	
198 198
    typedef NodeNumTagIndicator<Graph> NodeNumTag;
199 199
    int nodeNum() const { return _graph->nodeNum(); }
200 200

	
201
    typedef ArcNumTagIndicator<Graph> ArcNumTag;
202
    int arcNum() const { return _graph->arcNum(); }
203

	
201 204
    typedef EdgeNumTagIndicator<Graph> EdgeNumTag;
202
    int arcNum() const { return _graph->arcNum(); }
203 205
    int edgeNum() const { return _graph->edgeNum(); }
204 206

	
205
    typedef FindEdgeTagIndicator<Graph> FindEdgeTag;
207
    typedef FindArcTagIndicator<Graph> FindArcTag;
206 208
    Arc findArc(const Node& u, const Node& v, const Arc& prev = INVALID) {
207 209
      return _graph->findArc(u, v, prev);
208 210
    }
211

	
212
    typedef FindEdgeTagIndicator<Graph> FindEdgeTag;
209 213
    Edge findEdge(const Node& u, const Node& v, const Edge& prev = INVALID) {
210 214
      return _graph->findEdge(u, v, prev);
211 215
    }
212 216

	
... ...
@@ -329,9 +333,9 @@
329 333
    Node target(const Arc& a) const { return Parent::source(a); }
330 334

	
331 335
    Arc addArc(const Node& u, const Node& v) { return Parent::addArc(v, u); }
332 336

	
333
    typedef FindEdgeTagIndicator<Digraph> FindEdgeTag;
337
    typedef FindArcTagIndicator<Digraph> FindArcTag;
334 338
    Arc findArc(const Node& u, const Node& v,
335 339
                const Arc& prev = INVALID) {
336 340
      return Parent::findArc(v, u, prev);
337 341
    }
... ...
@@ -466,11 +470,11 @@
466 470
    bool hidden(const Node& n) const { return !(*_node_filter)[n]; }
467 471
    bool hidden(const Arc& a) const { return !(*_arc_filter)[a]; }
468 472

	
469 473
    typedef False NodeNumTag;
470
    typedef False EdgeNumTag;
471

	
472
    typedef FindEdgeTagIndicator<Digraph> FindEdgeTag;
474
    typedef False ArcNumTag;
475

	
476
    typedef FindArcTagIndicator<Digraph> FindArcTag;
473 477
    Arc findArc(const Node& source, const Node& target,
474 478
                const Arc& prev = INVALID) {
475 479
      if (!(*_node_filter)[source] || !(*_node_filter)[target]) {
476 480
        return INVALID;
... ...
@@ -609,11 +613,11 @@
609 613
    bool hidden(const Node& n) const { return !(*_node_filter)[n]; }
610 614
    bool hidden(const Arc& e) const { return !(*_arc_filter)[e]; }
611 615

	
612 616
    typedef False NodeNumTag;
613
    typedef False EdgeNumTag;
614

	
615
    typedef FindEdgeTagIndicator<Digraph> FindEdgeTag;
617
    typedef False ArcNumTag;
618

	
619
    typedef FindArcTagIndicator<Digraph> FindArcTag;
616 620
    Arc findArc(const Node& source, const Node& target,
617 621
                const Arc& prev = INVALID) {
618 622
      if (!(*_node_filter)[source] || !(*_node_filter)[target]) {
619 623
        return INVALID;
... ...
@@ -934,11 +938,12 @@
934 938
    bool hidden(const Node& n) const { return !(*_node_filter_map)[n]; }
935 939
    bool hidden(const Edge& e) const { return !(*_edge_filter_map)[e]; }
936 940

	
937 941
    typedef False NodeNumTag;
942
    typedef False ArcNumTag;
938 943
    typedef False EdgeNumTag;
939 944

	
940
    typedef FindEdgeTagIndicator<Graph> FindEdgeTag;
945
    typedef FindArcTagIndicator<Graph> FindArcTag;
941 946
    Arc findArc(const Node& u, const Node& v,
942 947
                const Arc& prev = INVALID) {
943 948
      if (!(*_node_filter_map)[u] || !(*_node_filter_map)[v]) {
944 949
        return INVALID;
... ...
@@ -948,8 +953,10 @@
948 953
        arc = Parent::findArc(u, v, arc);
949 954
      }
950 955
      return arc;
951 956
    }
957

	
958
    typedef FindEdgeTagIndicator<Graph> FindEdgeTag;
952 959
    Edge findEdge(const Node& u, const Node& v,
953 960
                  const Edge& prev = INVALID) {
954 961
      if (!(*_node_filter_map)[u] || !(*_node_filter_map)[v]) {
955 962
        return INVALID;
... ...
@@ -1130,19 +1137,22 @@
1130 1137
    bool hidden(const Node& n) const { return !(*_node_filter_map)[n]; }
1131 1138
    bool hidden(const Edge& e) const { return !(*_edge_filter_map)[e]; }
1132 1139

	
1133 1140
    typedef False NodeNumTag;
1141
    typedef False ArcNumTag;
1134 1142
    typedef False EdgeNumTag;
1135 1143

	
1136
    typedef FindEdgeTagIndicator<Graph> FindEdgeTag;
1144
    typedef FindArcTagIndicator<Graph> FindArcTag;
1137 1145
    Arc findArc(const Node& u, const Node& v,
1138 1146
                const Arc& prev = INVALID) {
1139 1147
      Arc arc = Parent::findArc(u, v, prev);
1140 1148
      while (arc != INVALID && !(*_edge_filter_map)[arc]) {
1141 1149
        arc = Parent::findArc(u, v, arc);
1142 1150
      }
1143 1151
      return arc;
1144 1152
    }
1153

	
1154
    typedef FindEdgeTagIndicator<Graph> FindEdgeTag;
1145 1155
    Edge findEdge(const Node& u, const Node& v,
1146 1156
                  const Edge& prev = INVALID) {
1147 1157
      Edge edge = Parent::findEdge(u, v, prev);
1148 1158
      while (edge != INVALID && !(*_edge_filter_map)[edge]) {
... ...
@@ -1845,13 +1855,16 @@
1845 1855
    void clear() { _digraph->clear(); }
1846 1856

	
1847 1857
    typedef NodeNumTagIndicator<Digraph> NodeNumTag;
1848 1858
    int nodeNum() const { return 2 * _digraph->arcNum(); }
1849
    typedef EdgeNumTagIndicator<Digraph> EdgeNumTag;
1859

	
1860
    typedef ArcNumTagIndicator<Digraph> ArcNumTag;
1850 1861
    int arcNum() const { return 2 * _digraph->arcNum(); }
1862

	
1863
    typedef ArcNumTag EdgeNumTag;
1851 1864
    int edgeNum() const { return _digraph->arcNum(); }
1852 1865

	
1853
    typedef FindEdgeTagIndicator<Digraph> FindEdgeTag;
1866
    typedef FindArcTagIndicator<Digraph> FindArcTag;
1854 1867
    Arc findArc(Node s, Node t, Arc p = INVALID) const {
1855 1868
      if (p == INVALID) {
1856 1869
        Edge arc = _digraph->findArc(s, t);
1857 1870
        if (arc != INVALID) return direct(arc, true);
... ...
@@ -1868,8 +1881,9 @@
1868 1881
      }
1869 1882
      return INVALID;
1870 1883
    }
1871 1884

	
1885
    typedef FindArcTag FindEdgeTag;
1872 1886
    Edge findEdge(Node s, Node t, Edge p = INVALID) const {
1873 1887
      if (s != t) {
1874 1888
        if (p == INVALID) {
1875 1889
          Edge arc = _digraph->findArc(s, t);
... ...
@@ -2223,12 +2237,12 @@
2223 2237

	
2224 2238
    typedef NodeNumTagIndicator<Graph> NodeNumTag;
2225 2239
    int nodeNum() const { return _graph->nodeNum(); }
2226 2240

	
2227
    typedef EdgeNumTagIndicator<Graph> EdgeNumTag;
2241
    typedef EdgeNumTagIndicator<Graph> ArcNumTag;
2228 2242
    int arcNum() const { return _graph->edgeNum(); }
2229 2243

	
2230
    typedef FindEdgeTagIndicator<Graph> FindEdgeTag;
2244
    typedef FindEdgeTagIndicator<Graph> FindArcTag;
2231 2245
    Arc findArc(const Node& u, const Node& v,
2232 2246
                const Arc& prev = INVALID) {
2233 2247
      Arc arc = prev;
2234 2248
      bool d = arc == INVALID ? true : (*_direction)[arc];
... ...
@@ -2883,19 +2897,18 @@
2883 2897
      return Arc(e);
2884 2898
    }
2885 2899

	
2886 2900
    typedef True NodeNumTag;
2887

	
2888 2901
    int nodeNum() const {
2889 2902
      return  2 * countNodes(*_digraph);
2890 2903
    }
2891 2904

	
2892
    typedef True EdgeNumTag;
2905
    typedef True ArcNumTag;
2893 2906
    int arcNum() const {
2894 2907
      return countArcs(*_digraph) + countNodes(*_digraph);
2895 2908
    }
2896 2909

	
2897
    typedef True FindEdgeTag;
2910
    typedef True FindArcTag;
2898 2911
    Arc findArc(const Node& u, const Node& v,
2899 2912
                const Arc& prev = INVALID) const {
2900 2913
      if (inNode(u)) {
2901 2914
        if (outNode(v)) {
0 comments (0 inline)