0
2
0
| ... | ... |
@@ -345,12 +345,34 @@ |
| 345 | 345 |
///Gives back the source node of an arc. |
| 346 | 346 |
|
| 347 | 347 |
///Gives back the source node of an arc. |
| 348 | 348 |
/// |
| 349 | 349 |
Node source(Arc) const { return INVALID; }
|
| 350 | 350 |
|
| 351 |
/// \brief Returns the ID of the node. |
|
| 352 |
int id(Node) const { return -1; }
|
|
| 353 |
|
|
| 354 |
/// \brief Returns the ID of the arc. |
|
| 355 |
int id(Arc) const { return -1; }
|
|
| 356 |
|
|
| 357 |
/// \brief Returns the node with the given ID. |
|
| 358 |
/// |
|
| 359 |
/// \pre The argument should be a valid node ID in the graph. |
|
| 360 |
Node nodeFromId(int) const { return INVALID; }
|
|
| 361 |
|
|
| 362 |
/// \brief Returns the arc with the given ID. |
|
| 363 |
/// |
|
| 364 |
/// \pre The argument should be a valid arc ID in the graph. |
|
| 365 |
Arc arcFromId(int) const { return INVALID; }
|
|
| 366 |
|
|
| 367 |
/// \brief Returns an upper bound on the node IDs. |
|
| 368 |
int maxNodeId() const { return -1; }
|
|
| 369 |
|
|
| 370 |
/// \brief Returns an upper bound on the arc IDs. |
|
| 371 |
int maxArcId() const { return -1; }
|
|
| 372 |
|
|
| 351 | 373 |
void first(Node&) const {}
|
| 352 | 374 |
void next(Node&) const {}
|
| 353 | 375 |
|
| 354 | 376 |
void first(Arc&) const {}
|
| 355 | 377 |
void next(Arc&) const {}
|
| 356 | 378 |
|
| ... | ... |
@@ -358,12 +380,22 @@ |
| 358 | 380 |
void firstIn(Arc&, const Node&) const {}
|
| 359 | 381 |
void nextIn(Arc&) const {}
|
| 360 | 382 |
|
| 361 | 383 |
void firstOut(Arc&, const Node&) const {}
|
| 362 | 384 |
void nextOut(Arc&) const {}
|
| 363 | 385 |
|
| 386 |
// The second parameter is dummy. |
|
| 387 |
Node fromId(int, Node) const { return INVALID; }
|
|
| 388 |
// The second parameter is dummy. |
|
| 389 |
Arc fromId(int, Arc) const { return INVALID; }
|
|
| 390 |
|
|
| 391 |
// Dummy parameter. |
|
| 392 |
int maxId(Node) const { return -1; }
|
|
| 393 |
// Dummy parameter. |
|
| 394 |
int maxId(Arc) const { return -1; }
|
|
| 395 |
|
|
| 364 | 396 |
/// \brief The base node of the iterator. |
| 365 | 397 |
/// |
| 366 | 398 |
/// Gives back the base node of the iterator. |
| 367 | 399 |
/// It is always the target of the pointed arc. |
| 368 | 400 |
Node baseNode(const InArcIt&) const { return INVALID; }
|
| 369 | 401 |
|
| ... | ... |
@@ -436,12 +468,13 @@ |
| 436 | 468 |
}; |
| 437 | 469 |
|
| 438 | 470 |
template <typename RDigraph> |
| 439 | 471 |
struct Constraints {
|
| 440 | 472 |
void constraints() {
|
| 441 | 473 |
checkConcept<IterableDigraphComponent<>, Digraph>(); |
| 474 |
checkConcept<IDableDigraphComponent<>, Digraph>(); |
|
| 442 | 475 |
checkConcept<MappableDigraphComponent<>, Digraph>(); |
| 443 | 476 |
} |
| 444 | 477 |
}; |
| 445 | 478 |
|
| 446 | 479 |
}; |
| 447 | 480 |
|
| ... | ... |
@@ -621,12 +621,45 @@ |
| 621 | 621 |
/// \brief Source node of the directed arc. |
| 622 | 622 |
Node source(Arc) const { return INVALID; }
|
| 623 | 623 |
|
| 624 | 624 |
/// \brief Target node of the directed arc. |
| 625 | 625 |
Node target(Arc) const { return INVALID; }
|
| 626 | 626 |
|
| 627 |
/// \brief Returns the id of the node. |
|
| 628 |
int id(Node) const { return -1; }
|
|
| 629 |
|
|
| 630 |
/// \brief Returns the id of the edge. |
|
| 631 |
int id(Edge) const { return -1; }
|
|
| 632 |
|
|
| 633 |
/// \brief Returns the id of the arc. |
|
| 634 |
int id(Arc) const { return -1; }
|
|
| 635 |
|
|
| 636 |
/// \brief Returns the node with the given id. |
|
| 637 |
/// |
|
| 638 |
/// \pre The argument should be a valid node id in the graph. |
|
| 639 |
Node nodeFromId(int) const { return INVALID; }
|
|
| 640 |
|
|
| 641 |
/// \brief Returns the edge with the given id. |
|
| 642 |
/// |
|
| 643 |
/// \pre The argument should be a valid edge id in the graph. |
|
| 644 |
Edge edgeFromId(int) const { return INVALID; }
|
|
| 645 |
|
|
| 646 |
/// \brief Returns the arc with the given id. |
|
| 647 |
/// |
|
| 648 |
/// \pre The argument should be a valid arc id in the graph. |
|
| 649 |
Arc arcFromId(int) const { return INVALID; }
|
|
| 650 |
|
|
| 651 |
/// \brief Returns an upper bound on the node IDs. |
|
| 652 |
int maxNodeId() const { return -1; }
|
|
| 653 |
|
|
| 654 |
/// \brief Returns an upper bound on the edge IDs. |
|
| 655 |
int maxEdgeId() const { return -1; }
|
|
| 656 |
|
|
| 657 |
/// \brief Returns an upper bound on the arc IDs. |
|
| 658 |
int maxArcId() const { return -1; }
|
|
| 659 |
|
|
| 627 | 660 |
void first(Node&) const {}
|
| 628 | 661 |
void next(Node&) const {}
|
| 629 | 662 |
|
| 630 | 663 |
void first(Edge&) const {}
|
| 631 | 664 |
void next(Edge&) const {}
|
| 632 | 665 |
|
| ... | ... |
@@ -636,16 +669,29 @@ |
| 636 | 669 |
void firstOut(Arc&, Node) const {}
|
| 637 | 670 |
void nextOut(Arc&) const {}
|
| 638 | 671 |
|
| 639 | 672 |
void firstIn(Arc&, Node) const {}
|
| 640 | 673 |
void nextIn(Arc&) const {}
|
| 641 | 674 |
|
| 642 |
|
|
| 643 | 675 |
void firstInc(Edge &, bool &, const Node &) const {}
|
| 644 | 676 |
void nextInc(Edge &, bool &) const {}
|
| 645 | 677 |
|
| 678 |
// The second parameter is dummy. |
|
| 679 |
Node fromId(int, Node) const { return INVALID; }
|
|
| 680 |
// The second parameter is dummy. |
|
| 681 |
Edge fromId(int, Edge) const { return INVALID; }
|
|
| 682 |
// The second parameter is dummy. |
|
| 683 |
Arc fromId(int, Arc) const { return INVALID; }
|
|
| 684 |
|
|
| 685 |
// Dummy parameter. |
|
| 686 |
int maxId(Node) const { return -1; }
|
|
| 687 |
// Dummy parameter. |
|
| 688 |
int maxId(Edge) const { return -1; }
|
|
| 689 |
// Dummy parameter. |
|
| 690 |
int maxId(Arc) const { return -1; }
|
|
| 691 |
|
|
| 646 | 692 |
/// \brief Base node of the iterator |
| 647 | 693 |
/// |
| 648 | 694 |
/// Returns the base node (the source in this case) of the iterator |
| 649 | 695 |
Node baseNode(OutArcIt e) const {
|
| 650 | 696 |
return source(e); |
| 651 | 697 |
} |
| ... | ... |
@@ -686,12 +732,13 @@ |
| 686 | 732 |
} |
| 687 | 733 |
|
| 688 | 734 |
template <typename Graph> |
| 689 | 735 |
struct Constraints {
|
| 690 | 736 |
void constraints() {
|
| 691 | 737 |
checkConcept<IterableGraphComponent<>, Graph>(); |
| 738 |
checkConcept<IDableGraphComponent<>, Graph>(); |
|
| 692 | 739 |
checkConcept<MappableGraphComponent<>, Graph>(); |
| 693 | 740 |
} |
| 694 | 741 |
}; |
| 695 | 742 |
|
| 696 | 743 |
}; |
| 697 | 744 |
|
0 comments (0 inline)