gravatar
kpeter (Peter Kovacs)
kpeter@inf.elte.hu
Avoid warning in adaptors.h (#67)
0 1 0
default
1 file changed with 2 insertions and 2 deletions:
↑ Collapse diff ↑
Ignore white space 96 line context
... ...
@@ -2160,102 +2160,102 @@
2160 2160
    static CombinedArcMap<const ForwardMap, BackwardMap>
2161 2161
    combinedArcMap(const ForwardMap& forward, BackwardMap& backward) {
2162 2162
      return CombinedArcMap<const ForwardMap,
2163 2163
        BackwardMap>(forward, backward);
2164 2164
    }
2165 2165

	
2166 2166
    template <typename ForwardMap, typename BackwardMap>
2167 2167
    static CombinedArcMap<ForwardMap, const BackwardMap>
2168 2168
    combinedArcMap(ForwardMap& forward, const BackwardMap& backward) {
2169 2169
      return CombinedArcMap<ForwardMap,
2170 2170
        const BackwardMap>(forward, backward);
2171 2171
    }
2172 2172

	
2173 2173
    template <typename ForwardMap, typename BackwardMap>
2174 2174
    static CombinedArcMap<const ForwardMap, const BackwardMap>
2175 2175
    combinedArcMap(const ForwardMap& forward, const BackwardMap& backward) {
2176 2176
      return CombinedArcMap<const ForwardMap,
2177 2177
        const BackwardMap>(forward, backward);
2178 2178
    }
2179 2179

	
2180 2180
  };
2181 2181

	
2182 2182
  /// \brief Just gives back an undirected view of the given digraph
2183 2183
  ///
2184 2184
  /// Just gives back an undirected view of the given digraph
2185 2185
  template<typename Digraph>
2186 2186
  Undirector<const Digraph>
2187 2187
  undirector(const Digraph& digraph) {
2188 2188
    return Undirector<const Digraph>(digraph);
2189 2189
  }
2190 2190

	
2191 2191
  template <typename _Graph, typename _DirectionMap>
2192 2192
  class OrienterBase {
2193 2193
  public:
2194 2194

	
2195 2195
    typedef _Graph Graph;
2196 2196
    typedef _DirectionMap DirectionMap;
2197 2197

	
2198 2198
    typedef typename Graph::Node Node;
2199 2199
    typedef typename Graph::Edge Arc;
2200 2200

	
2201 2201
    void reverseArc(const Arc& arc) {
2202 2202
      _direction->set(arc, !(*_direction)[arc]);
2203 2203
    }
2204 2204

	
2205 2205
    void first(Node& i) const { _graph->first(i); }
2206 2206
    void first(Arc& i) const { _graph->first(i); }
2207 2207
    void firstIn(Arc& i, const Node& n) const {
2208
      bool d;
2208
      bool d = true;
2209 2209
      _graph->firstInc(i, d, n);
2210 2210
      while (i != INVALID && d == (*_direction)[i]) _graph->nextInc(i, d);
2211 2211
    }
2212 2212
    void firstOut(Arc& i, const Node& n ) const {
2213
      bool d;
2213
      bool d = true;
2214 2214
      _graph->firstInc(i, d, n);
2215 2215
      while (i != INVALID && d != (*_direction)[i]) _graph->nextInc(i, d);
2216 2216
    }
2217 2217

	
2218 2218
    void next(Node& i) const { _graph->next(i); }
2219 2219
    void next(Arc& i) const { _graph->next(i); }
2220 2220
    void nextIn(Arc& i) const {
2221 2221
      bool d = !(*_direction)[i];
2222 2222
      _graph->nextInc(i, d);
2223 2223
      while (i != INVALID && d == (*_direction)[i]) _graph->nextInc(i, d);
2224 2224
    }
2225 2225
    void nextOut(Arc& i) const {
2226 2226
      bool d = (*_direction)[i];
2227 2227
      _graph->nextInc(i, d);
2228 2228
      while (i != INVALID && d != (*_direction)[i]) _graph->nextInc(i, d);
2229 2229
    }
2230 2230

	
2231 2231
    Node source(const Arc& e) const {
2232 2232
      return (*_direction)[e] ? _graph->u(e) : _graph->v(e);
2233 2233
    }
2234 2234
    Node target(const Arc& e) const {
2235 2235
      return (*_direction)[e] ? _graph->v(e) : _graph->u(e);
2236 2236
    }
2237 2237

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

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

	
2244 2244
    typedef FindEdgeTagIndicator<Graph> FindArcTag;
2245 2245
    Arc findArc(const Node& u, const Node& v,
2246 2246
                const Arc& prev = INVALID) {
2247 2247
      Arc arc = prev;
2248 2248
      bool d = arc == INVALID ? true : (*_direction)[arc];
2249 2249
      if (d) {
2250 2250
        arc = _graph->findEdge(u, v, arc);
2251 2251
        while (arc != INVALID && !(*_direction)[arc]) {
2252 2252
          _graph->findEdge(u, v, arc);
2253 2253
        }
2254 2254
        if (arc != INVALID) return arc;
2255 2255
      }
2256 2256
      _graph->findEdge(v, u, arc);
2257 2257
      while (arc != INVALID && (*_direction)[arc]) {
2258 2258
        _graph->findEdge(u, v, arc);
2259 2259
      }
2260 2260
      return arc;
2261 2261
    }
0 comments (0 inline)