gravatar
kpeter (Peter Kovacs)
kpeter@inf.elte.hu
Use DEBUG instead of ASSERT in graph extenders (ticket #17)
0 1 0
default
1 file changed with 8 insertions and 8 deletions:
↑ Collapse diff ↑
Ignore white space 48 line context
... ...
@@ -277,86 +277,86 @@
277 277
      return INVALID;
278 278
    }
279 279
  };
280 280

	
281 281
  template <typename Base>
282 282
  class BidirBpGraphExtender : public Base {
283 283
  public:
284 284
    typedef Base Parent;
285 285
    typedef BidirBpGraphExtender Digraph;
286 286

	
287 287
    typedef typename Parent::Node Node;
288 288
    typedef typename Parent::Edge Edge;
289 289

	
290 290

	
291 291
    using Parent::first;
292 292
    using Parent::next;
293 293

	
294 294
    using Parent::id;
295 295

	
296 296
    class Red : public Node {
297 297
      friend class BidirBpGraphExtender;
298 298
    public:
299 299
      Red() {}
300 300
      Red(const Node& node) : Node(node) {
301
        LEMON_ASSERT(Parent::red(node) || node == INVALID,
302
                     typename Parent::NodeSetError());
301
        LEMON_DEBUG(Parent::red(node) || node == INVALID,
302
                    typename Parent::NodeSetError());
303 303
      }
304 304
      Red& operator=(const Node& node) {
305
        LEMON_ASSERT(Parent::red(node) || node == INVALID,
306
                     typename Parent::NodeSetError());
305
        LEMON_DEBUG(Parent::red(node) || node == INVALID,
306
                    typename Parent::NodeSetError());
307 307
        Node::operator=(node);
308 308
        return *this;
309 309
      }
310 310
      Red(Invalid) : Node(INVALID) {}
311 311
      Red& operator=(Invalid) {
312 312
        Node::operator=(INVALID);
313 313
        return *this;
314 314
      }
315 315
    };
316 316

	
317 317
    void first(Red& node) const {
318 318
      Parent::firstRed(static_cast<Node&>(node));
319 319
    }
320 320
    void next(Red& node) const {
321 321
      Parent::nextRed(static_cast<Node&>(node));
322 322
    }
323 323

	
324 324
    int id(const Red& node) const {
325 325
      return Parent::redId(node);
326 326
    }
327 327

	
328 328
    class Blue : public Node {
329 329
      friend class BidirBpGraphExtender;
330 330
    public:
331 331
      Blue() {}
332 332
      Blue(const Node& node) : Node(node) {
333
        LEMON_ASSERT(Parent::blue(node) || node == INVALID,
334
                     typename Parent::NodeSetError());
333
        LEMON_DEBUG(Parent::blue(node) || node == INVALID,
334
                    typename Parent::NodeSetError());
335 335
      }
336 336
      Blue& operator=(const Node& node) {
337
        LEMON_ASSERT(Parent::blue(node) || node == INVALID,
338
                     typename Parent::NodeSetError());
337
        LEMON_DEBUG(Parent::blue(node) || node == INVALID,
338
                    typename Parent::NodeSetError());
339 339
        Node::operator=(node);
340 340
        return *this;
341 341
      }
342 342
      Blue(Invalid) : Node(INVALID) {}
343 343
      Blue& operator=(Invalid) {
344 344
        Node::operator=(INVALID);
345 345
        return *this;
346 346
      }
347 347
    };
348 348

	
349 349
    void first(Blue& node) const {
350 350
      Parent::firstBlue(static_cast<Node&>(node));
351 351
    }
352 352
    void next(Blue& node) const {
353 353
      Parent::nextBlue(static_cast<Node&>(node));
354 354
    }
355 355

	
356 356
    int id(const Blue& node) const {
357 357
      return Parent::redId(node);
358 358
    }
359 359

	
360 360
    Node source(const Edge& arc) const {
361 361
      return red(arc);
362 362
    }
0 comments (0 inline)