Changeset 938:70e2886211d5 in lemon-0.x for src
- Timestamp:
- 10/05/04 11:41:05 (20 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@1266
- Location:
- src
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
src/lemon/skeletons/graph.h
r921 r938 46 46 /// like @ref ListGraph or 47 47 /// @ref SmartGraph will just refer to this structure. 48 /// 49 /// \todo A pages describing the concept of concept description would 50 /// be nice. 48 51 class StaticGraph 49 52 { … … 443 446 }; 444 447 445 448 struct DummyType { 449 int value; 450 DummyType() {} 451 DummyType(int p) : value(p) {} 452 DummyType& operator=(int p) { value = p; return *this;} 453 }; 454 455 ///\brief Checks whether \c G meets the 456 ///\ref lemon::skeleton::StaticGraph "StaticGraph" concept 457 template<class Graph> void checkCompileStaticGraph(Graph &G) 458 { 459 typedef typename Graph::Node Node; 460 typedef typename Graph::NodeIt NodeIt; 461 typedef typename Graph::Edge Edge; 462 typedef typename Graph::EdgeIt EdgeIt; 463 typedef typename Graph::InEdgeIt InEdgeIt; 464 typedef typename Graph::OutEdgeIt OutEdgeIt; 446 465 466 { 467 Node i; Node j(i); Node k(INVALID); 468 i=j; 469 bool b; b=true; 470 b=(i==INVALID); b=(i!=INVALID); 471 b=(i==j); b=(i!=j); b=(i<j); 472 } 473 { 474 NodeIt i; NodeIt j(i); NodeIt k(INVALID); NodeIt l(G); 475 i=j; 476 j=G.first(i); 477 j=++i; 478 bool b; b=true; 479 b=(i==INVALID); b=(i!=INVALID); 480 Node n(i); 481 n=i; 482 b=(i==j); b=(i!=j); b=(i<j); 483 //Node ->NodeIt conversion 484 NodeIt ni(G,n); 485 } 486 { 487 Edge i; Edge j(i); Edge k(INVALID); 488 i=j; 489 bool b; b=true; 490 b=(i==INVALID); b=(i!=INVALID); 491 b=(i==j); b=(i!=j); b=(i<j); 492 } 493 { 494 EdgeIt i; EdgeIt j(i); EdgeIt k(INVALID); EdgeIt l(G); 495 i=j; 496 j=G.first(i); 497 j=++i; 498 bool b; b=true; 499 b=(i==INVALID); b=(i!=INVALID); 500 Edge e(i); 501 e=i; 502 b=(i==j); b=(i!=j); b=(i<j); 503 //Edge ->EdgeIt conversion 504 EdgeIt ei(G,e); 505 } 506 { 507 Node n; 508 InEdgeIt i; InEdgeIt j(i); InEdgeIt k(INVALID); InEdgeIt l(G,n); 509 i=j; 510 j=G.first(i,n); 511 j=++i; 512 bool b; b=true; 513 b=(i==INVALID); b=(i!=INVALID); 514 Edge e(i); 515 e=i; 516 b=(i==j); b=(i!=j); b=(i<j); 517 //Edge ->InEdgeIt conversion 518 InEdgeIt ei(G,e); 519 } 520 { 521 Node n; 522 OutEdgeIt i; OutEdgeIt j(i); OutEdgeIt k(INVALID); OutEdgeIt l(G,n); 523 i=j; 524 j=G.first(i,n); 525 j=++i; 526 bool b; b=true; 527 b=(i==INVALID); b=(i!=INVALID); 528 Edge e(i); 529 e=i; 530 b=(i==j); b=(i!=j); b=(i<j); 531 //Edge ->OutEdgeIt conversion 532 OutEdgeIt ei(G,e); 533 } 534 { 535 Node n,m; 536 n=m=INVALID; 537 Edge e; 538 e=INVALID; 539 n=G.tail(e); 540 n=G.head(e); 541 } 542 // id tests 543 { Node n; int i=G.id(n); i=i; } 544 { Edge e; int i=G.id(e); i=i; } 545 //NodeMap tests 546 { 547 Node k; 548 typename Graph::template NodeMap<int> m(G); 549 //Const map 550 typename Graph::template NodeMap<int> const &cm = m; 551 //Inicialize with default value 552 typename Graph::template NodeMap<int> mdef(G,12); 553 //Copy 554 typename Graph::template NodeMap<int> mm(cm); 555 //Copy from another type 556 typename Graph::template NodeMap<double> dm(cm); 557 //Copy to more complex type 558 typename Graph::template NodeMap<DummyType> em(cm); 559 int v; 560 v=m[k]; m[k]=v; m.set(k,v); 561 v=cm[k]; 562 563 m=cm; 564 dm=cm; //Copy from another type 565 em=cm; //Copy to more complex type 566 { 567 //Check the typedef's 568 typename Graph::template NodeMap<int>::ValueType val; 569 val=1; 570 typename Graph::template NodeMap<int>::KeyType key; 571 key = typename Graph::NodeIt(G); 572 } 573 } 574 { //bool NodeMap 575 Node k; 576 typename Graph::template NodeMap<bool> m(G); 577 typename Graph::template NodeMap<bool> const &cm = m; //Const map 578 //Inicialize with default value 579 typename Graph::template NodeMap<bool> mdef(G,12); 580 typename Graph::template NodeMap<bool> mm(cm); //Copy 581 typename Graph::template NodeMap<int> dm(cm); //Copy from another type 582 bool v; 583 v=m[k]; m[k]=v; m.set(k,v); 584 v=cm[k]; 585 586 m=cm; 587 dm=cm; //Copy from another type 588 m=dm; //Copy to another type 589 590 { 591 //Check the typedef's 592 typename Graph::template NodeMap<bool>::ValueType val; 593 val=true; 594 typename Graph::template NodeMap<bool>::KeyType key; 595 key= typename Graph::NodeIt(G); 596 } 597 } 598 //EdgeMap tests 599 { 600 Edge k; 601 typename Graph::template EdgeMap<int> m(G); 602 typename Graph::template EdgeMap<int> const &cm = m; //Const map 603 //Inicialize with default value 604 typename Graph::template EdgeMap<int> mdef(G,12); 605 typename Graph::template EdgeMap<int> mm(cm); //Copy 606 typename Graph::template EdgeMap<double> dm(cm);//Copy from another type 607 int v; 608 v=m[k]; m[k]=v; m.set(k,v); 609 v=cm[k]; 610 611 m=cm; 612 dm=cm; //Copy from another type 613 { 614 //Check the typedef's 615 typename Graph::template EdgeMap<int>::ValueType val; 616 val=1; 617 typename Graph::template EdgeMap<int>::KeyType key; 618 key= typename Graph::EdgeIt(G); 619 } 620 } 621 { //bool EdgeMap 622 Edge k; 623 typename Graph::template EdgeMap<bool> m(G); 624 typename Graph::template EdgeMap<bool> const &cm = m; //Const map 625 //Inicialize with default value 626 typename Graph::template EdgeMap<bool> mdef(G,12); 627 typename Graph::template EdgeMap<bool> mm(cm); //Copy 628 typename Graph::template EdgeMap<int> dm(cm); //Copy from another type 629 bool v; 630 v=m[k]; m[k]=v; m.set(k,v); 631 v=cm[k]; 632 633 m=cm; 634 dm=cm; //Copy from another type 635 m=dm; //Copy to another type 636 { 637 //Check the typedef's 638 typename Graph::template EdgeMap<bool>::ValueType val; 639 val=true; 640 typename Graph::template EdgeMap<bool>::KeyType key; 641 key= typename Graph::EdgeIt(G); 642 } 643 } 644 } 645 447 646 /// An empty non-static graph class. 448 647 449 648 /// This class provides everything that \ref StaticGraph 450 649 /// with additional functionality which enables to build a … … 478 677 }; 479 678 679 680 ///\brief Checks whether \c G meets the 681 ///\ref lemon::skeleton::ExtendableGraph "ExtendableGraph" concept 682 template<class Graph> void checkCompileExtendableGraph(Graph &G) 683 { 684 checkCompileStaticGraph(G); 685 686 typedef typename Graph::Node Node; 687 typedef typename Graph::NodeIt NodeIt; 688 typedef typename Graph::Edge Edge; 689 typedef typename Graph::EdgeIt EdgeIt; 690 typedef typename Graph::InEdgeIt InEdgeIt; 691 typedef typename Graph::OutEdgeIt OutEdgeIt; 692 693 Node n,m; 694 n=G.addNode(); 695 m=G.addNode(); 696 Edge e; 697 e=G.addEdge(n,m); 698 699 // G.clear(); 700 } 701 702 480 703 /// An empty erasable graph class. 481 704 … … 501 724 void erase(Edge e) { } 502 725 }; 503 726 727 template<class Graph> void checkCompileGraphEraseEdge(Graph &G) 728 { 729 typename Graph::Edge e; 730 G.erase(e); 731 } 732 733 template<class Graph> void checkCompileGraphEraseNode(Graph &G) 734 { 735 typename Graph::Node n; 736 G.erase(n); 737 } 738 739 ///\brief Checks whether \c G meets the 740 ///\ref lemon::skeleton::EresableGraph "EresableGraph" concept 741 template<class Graph> void checkCompileErasableGraph(Graph &G) 742 { 743 checkCompileExtendableGraph(G); 744 checkCompileGraphEraseNode(G); 745 checkCompileGraphEraseEdge(G); 746 } 747 748 ///Checks whether a graph has findEdge() member function. 749 750 ///\todo findEdge() might be a global function. 751 /// 752 template<class Graph> void checkCompileGraphFindEdge(Graph &G) 753 { 754 typedef typename Graph::NodeIt Node; 755 typedef typename Graph::NodeIt NodeIt; 756 757 G.findEdge(NodeIt(G),++NodeIt(G),G.findEdge(NodeIt(G),++NodeIt(G))); 758 G.findEdge(Node(),Node(),G.findEdge(Node(),Node())); 759 } 760 504 761 // @} 505 762 } //namespace skeleton -
src/test/Makefile.am
r937 r938 3 3 EXTRA_DIST = preflow_graph.dim #input file for preflow_test.cc 4 4 5 noinst_HEADERS = test_tools.h graph_test.h 5 noinst_HEADERS = test_tools.h graph_test.h sym_graph_test.h 6 6 7 7 check_PROGRAMS = \ -
src/test/graph_test.cc
r937 r938 68 68 69 69 //Compile Graph 70 template void lemon:: checkCompileStaticGraph<skeleton::StaticGraph>70 template void lemon::skeleton::checkCompileStaticGraph<skeleton::StaticGraph> 71 71 (skeleton::StaticGraph &); 72 72 73 template void lemon::checkCompileGraph<skeleton::ExtendableGraph> 73 template 74 void lemon::skeleton::checkCompileExtendableGraph<skeleton::ExtendableGraph> 74 75 (skeleton::ExtendableGraph &); 75 76 76 template void lemon::checkCompileErasableGraph<skeleton::ErasableGraph> 77 template 78 void lemon::skeleton::checkCompileErasableGraph<skeleton::ErasableGraph> 77 79 (skeleton::ErasableGraph &); 78 80 79 81 //Compile SmartGraph 80 template void lemon::checkCompileGraph<SmartGraph>(SmartGraph &); 81 template void lemon::checkCompileGraphFindEdge<SmartGraph>(SmartGraph &); 82 template 83 void lemon::skeleton::checkCompileExtendableGraph<SmartGraph>(SmartGraph &); 84 template 85 void lemon::skeleton::checkCompileGraphFindEdge<SmartGraph>(SmartGraph &); 82 86 83 87 //Compile SymSmartGraph … … 86 90 87 91 //Compile ListGraph 88 template void lemon::checkCompileGraph<ListGraph>(ListGraph &); 89 template void lemon::checkCompileErasableGraph<ListGraph>(ListGraph &); 90 template void lemon::checkCompileGraphFindEdge<ListGraph>(ListGraph &); 92 template 93 void lemon::skeleton::checkCompileExtendableGraph<ListGraph>(ListGraph &); 94 template 95 void lemon::skeleton::checkCompileErasableGraph<ListGraph>(ListGraph &); 96 template 97 void lemon::skeleton::checkCompileGraphFindEdge<ListGraph>(ListGraph &); 91 98 92 99 … … 97 104 98 105 //Compile FullGraph 99 template void lemon::checkCompileStaticGraph<FullGraph>(FullGraph &); 100 template void lemon::checkCompileGraphFindEdge<FullGraph>(FullGraph &); 106 template void lemon::skeleton::checkCompileStaticGraph<FullGraph>(FullGraph &); 107 template 108 void lemon::skeleton::checkCompileGraphFindEdge<FullGraph>(FullGraph &); 101 109 102 110 //Compile EdgeSet <ListGraph> 103 template void lemon:: checkCompileGraph<EdgeSet <ListGraph> >111 template void lemon::skeleton::checkCompileExtendableGraph<EdgeSet <ListGraph> > 104 112 (EdgeSet <ListGraph> &); 105 template void lemon:: checkCompileGraphEraseEdge<EdgeSet <ListGraph> >113 template void lemon::skeleton::checkCompileGraphEraseEdge<EdgeSet <ListGraph> > 106 114 (EdgeSet <ListGraph> &); 107 template void lemon:: checkCompileGraphFindEdge<EdgeSet <ListGraph> >115 template void lemon::skeleton::checkCompileGraphFindEdge<EdgeSet <ListGraph> > 108 116 (EdgeSet <ListGraph> &); 109 117 110 118 //Compile EdgeSet <NodeSet> 111 template void lemon::checkCompileGraph<EdgeSet <NodeSet> >(EdgeSet <NodeSet> &); 112 template void lemon::checkCompileGraphEraseEdge<EdgeSet <NodeSet> > 119 template void lemon::skeleton::checkCompileExtendableGraph<EdgeSet <NodeSet> > 113 120 (EdgeSet <NodeSet> &); 114 template void lemon::checkCompileGraphFindEdge<EdgeSet <NodeSet> > 121 template void lemon::skeleton::checkCompileGraphEraseEdge<EdgeSet <NodeSet> > 122 (EdgeSet <NodeSet> &); 123 template void lemon::skeleton::checkCompileGraphFindEdge<EdgeSet <NodeSet> > 115 124 (EdgeSet <NodeSet> &); 116 125 -
src/test/graph_test.h
r937 r938 24 24 //! \brief Some utility to test graph classes. 25 25 namespace lemon { 26 27 struct DummyType {28 int value;29 DummyType() {}30 DummyType(int p) : value(p) {}31 DummyType& operator=(int p) { value = p; return *this;}32 };33 34 35 template<class Graph> void checkCompileStaticGraph(Graph &G)36 {37 typedef typename Graph::Node Node;38 typedef typename Graph::NodeIt NodeIt;39 typedef typename Graph::Edge Edge;40 typedef typename Graph::EdgeIt EdgeIt;41 typedef typename Graph::InEdgeIt InEdgeIt;42 typedef typename Graph::OutEdgeIt OutEdgeIt;43 44 {45 Node i; Node j(i); Node k(INVALID);46 i=j;47 bool b; b=true;48 b=(i==INVALID); b=(i!=INVALID);49 b=(i==j); b=(i!=j); b=(i<j);50 }51 {52 NodeIt i; NodeIt j(i); NodeIt k(INVALID); NodeIt l(G);53 i=j;54 j=G.first(i);55 j=++i;56 bool b; b=true;57 b=(i==INVALID); b=(i!=INVALID);58 Node n(i);59 n=i;60 b=(i==j); b=(i!=j); b=(i<j);61 //Node ->NodeIt conversion62 NodeIt ni(G,n);63 }64 {65 Edge i; Edge j(i); Edge k(INVALID);66 i=j;67 bool b; b=true;68 b=(i==INVALID); b=(i!=INVALID);69 b=(i==j); b=(i!=j); b=(i<j);70 }71 {72 EdgeIt i; EdgeIt j(i); EdgeIt k(INVALID); EdgeIt l(G);73 i=j;74 j=G.first(i);75 j=++i;76 bool b; b=true;77 b=(i==INVALID); b=(i!=INVALID);78 Edge e(i);79 e=i;80 b=(i==j); b=(i!=j); b=(i<j);81 //Edge ->EdgeIt conversion82 EdgeIt ei(G,e);83 }84 {85 Node n;86 InEdgeIt i; InEdgeIt j(i); InEdgeIt k(INVALID); InEdgeIt l(G,n);87 i=j;88 j=G.first(i,n);89 j=++i;90 bool b; b=true;91 b=(i==INVALID); b=(i!=INVALID);92 Edge e(i);93 e=i;94 b=(i==j); b=(i!=j); b=(i<j);95 //Edge ->InEdgeIt conversion96 InEdgeIt ei(G,e);97 }98 {99 Node n;100 OutEdgeIt i; OutEdgeIt j(i); OutEdgeIt k(INVALID); OutEdgeIt l(G,n);101 i=j;102 j=G.first(i,n);103 j=++i;104 bool b; b=true;105 b=(i==INVALID); b=(i!=INVALID);106 Edge e(i);107 e=i;108 b=(i==j); b=(i!=j); b=(i<j);109 //Edge ->OutEdgeIt conversion110 OutEdgeIt ei(G,e);111 }112 {113 Node n,m;114 n=m=INVALID;115 Edge e;116 e=INVALID;117 n=G.tail(e);118 n=G.head(e);119 }120 // id tests121 { Node n; int i=G.id(n); i=i; }122 { Edge e; int i=G.id(e); i=i; }123 //NodeMap tests124 {125 Node k;126 typename Graph::template NodeMap<int> m(G);127 //Const map128 typename Graph::template NodeMap<int> const &cm = m;129 //Inicialize with default value130 typename Graph::template NodeMap<int> mdef(G,12);131 //Copy132 typename Graph::template NodeMap<int> mm(cm);133 //Copy from another type134 typename Graph::template NodeMap<double> dm(cm);135 //Copy to more complex type136 typename Graph::template NodeMap<DummyType> em(cm);137 int v;138 v=m[k]; m[k]=v; m.set(k,v);139 v=cm[k];140 141 m=cm;142 dm=cm; //Copy from another type143 em=cm; //Copy to more complex type144 {145 //Check the typedef's146 typename Graph::template NodeMap<int>::ValueType val;147 val=1;148 typename Graph::template NodeMap<int>::KeyType key;149 key = typename Graph::NodeIt(G);150 }151 }152 { //bool NodeMap153 Node k;154 typename Graph::template NodeMap<bool> m(G);155 typename Graph::template NodeMap<bool> const &cm = m; //Const map156 //Inicialize with default value157 typename Graph::template NodeMap<bool> mdef(G,12);158 typename Graph::template NodeMap<bool> mm(cm); //Copy159 typename Graph::template NodeMap<int> dm(cm); //Copy from another type160 bool v;161 v=m[k]; m[k]=v; m.set(k,v);162 v=cm[k];163 164 m=cm;165 dm=cm; //Copy from another type166 m=dm; //Copy to another type167 168 {169 //Check the typedef's170 typename Graph::template NodeMap<bool>::ValueType val;171 val=true;172 typename Graph::template NodeMap<bool>::KeyType key;173 key= typename Graph::NodeIt(G);174 }175 }176 //EdgeMap tests177 {178 Edge k;179 typename Graph::template EdgeMap<int> m(G);180 typename Graph::template EdgeMap<int> const &cm = m; //Const map181 //Inicialize with default value182 typename Graph::template EdgeMap<int> mdef(G,12);183 typename Graph::template EdgeMap<int> mm(cm); //Copy184 typename Graph::template EdgeMap<double> dm(cm); //Copy from another type185 int v;186 v=m[k]; m[k]=v; m.set(k,v);187 v=cm[k];188 189 m=cm;190 dm=cm; //Copy from another type191 {192 //Check the typedef's193 typename Graph::template EdgeMap<int>::ValueType val;194 val=1;195 typename Graph::template EdgeMap<int>::KeyType key;196 key= typename Graph::EdgeIt(G);197 }198 }199 { //bool EdgeMap200 Edge k;201 typename Graph::template EdgeMap<bool> m(G);202 typename Graph::template EdgeMap<bool> const &cm = m; //Const map203 //Inicialize with default value204 typename Graph::template EdgeMap<bool> mdef(G,12);205 typename Graph::template EdgeMap<bool> mm(cm); //Copy206 typename Graph::template EdgeMap<int> dm(cm); //Copy from another type207 bool v;208 v=m[k]; m[k]=v; m.set(k,v);209 v=cm[k];210 211 m=cm;212 dm=cm; //Copy from another type213 m=dm; //Copy to another type214 {215 //Check the typedef's216 typename Graph::template EdgeMap<bool>::ValueType val;217 val=true;218 typename Graph::template EdgeMap<bool>::KeyType key;219 key= typename Graph::EdgeIt(G);220 }221 }222 }223 224 template<class Graph> void checkCompileGraph(Graph &G)225 {226 checkCompileStaticGraph(G);227 228 typedef typename Graph::Node Node;229 typedef typename Graph::NodeIt NodeIt;230 typedef typename Graph::Edge Edge;231 typedef typename Graph::EdgeIt EdgeIt;232 typedef typename Graph::InEdgeIt InEdgeIt;233 typedef typename Graph::OutEdgeIt OutEdgeIt;234 235 Node n,m;236 n=G.addNode();237 m=G.addNode();238 Edge e;239 e=G.addEdge(n,m);240 241 // G.clear();242 }243 244 template<class Graph> void checkCompileGraphEraseEdge(Graph &G)245 {246 typename Graph::Edge e;247 G.erase(e);248 }249 250 template<class Graph> void checkCompileGraphEraseNode(Graph &G)251 {252 typename Graph::Node n;253 G.erase(n);254 }255 256 template<class Graph> void checkCompileErasableGraph(Graph &G)257 {258 checkCompileGraph(G);259 checkCompileGraphEraseNode(G);260 checkCompileGraphEraseEdge(G);261 }262 263 template<class Graph> void checkCompileGraphFindEdge(Graph &G)264 {265 typedef typename Graph::NodeIt Node;266 typedef typename Graph::NodeIt NodeIt;267 268 G.findEdge(NodeIt(G),++NodeIt(G),G.findEdge(NodeIt(G),++NodeIt(G)));269 G.findEdge(Node(),Node(),G.findEdge(Node(),Node()));270 }271 26 272 27 template<class Graph> void checkGraphNodeList(Graph &G, int nn) -
src/test/graph_wrapper_test.cc
r933 r938 39 39 //Compile GraphWrapper 40 40 typedef GraphWrapper<Graph> GW; 41 template void checkCompileStaticGraph<GW>(GW &);41 template void lemon::skeleton::checkCompileStaticGraph<GW>(GW &); 42 42 43 43 //Compile RevGraphWrapper 44 44 typedef RevGraphWrapper<Graph> RevGW; 45 template void checkCompileStaticGraph<RevGW>(RevGW &);45 template void lemon::skeleton::checkCompileStaticGraph<RevGW>(RevGW &); 46 46 47 47 //Compile SubGraphWrapper 48 48 typedef SubGraphWrapper<Graph, Graph::NodeMap<bool>, 49 49 Graph::EdgeMap<bool> > SubGW; 50 template void checkCompileStaticGraph<SubGW>(SubGW &);50 template void lemon::skeleton::checkCompileStaticGraph<SubGW>(SubGW &); 51 51 52 52 //Compile NodeSubGraphWrapper 53 53 typedef NodeSubGraphWrapper<Graph, Graph::NodeMap<bool> > NodeSubGW; 54 template void checkCompileStaticGraph<NodeSubGW>(NodeSubGW &);54 template void lemon::skeleton::checkCompileStaticGraph<NodeSubGW>(NodeSubGW &); 55 55 56 56 //Compile EdgeSubGraphWrapper 57 57 typedef EdgeSubGraphWrapper<Graph, Graph::EdgeMap<bool> > EdgeSubGW; 58 template void checkCompileStaticGraph<EdgeSubGW>(EdgeSubGW &);58 template void lemon::skeleton::checkCompileStaticGraph<EdgeSubGW>(EdgeSubGW &); 59 59 60 60 //Compile UndirGraphWrapper … … 70 70 typedef SubBidirGraphWrapper<Graph, Graph::EdgeMap<bool>, 71 71 Graph::EdgeMap<bool> > SubBDGW; 72 template void checkCompileStaticGraph<SubBDGW>(SubBDGW &);72 template void lemon::skeleton::checkCompileStaticGraph<SubBDGW>(SubBDGW &); 73 73 74 74 //Compile BidirGraphWrapper 75 75 typedef BidirGraphWrapper<Graph> BidirGW; 76 template void checkCompileStaticGraph<BidirGW>(BidirGW &);76 template void lemon::skeleton::checkCompileStaticGraph<BidirGW>(BidirGW &); 77 77 78 78 //Compile BidirGraph 79 79 typedef BidirGraph<Graph> BidirG; 80 template void checkCompileStaticGraph<BidirG>(BidirG &);80 template void lemon::skeleton::checkCompileStaticGraph<BidirG>(BidirG &); 81 81 82 82 //Compile ResGraphWrapper 83 83 typedef ResGraphWrapper<Graph, int, Graph::EdgeMap<int>, 84 84 Graph::EdgeMap<int> > ResGW; 85 template void checkCompileStaticGraph<ResGW>(ResGW &);85 template void lemon::skeleton::checkCompileStaticGraph<ResGW>(ResGW &); 86 86 87 87 //Compile ErasingFirstGraphWrapper 88 88 typedef ErasingFirstGraphWrapper<Graph, Graph::NodeMap<Graph::Edge> > ErasingFirstGW; 89 template void checkCompileStaticGraph<ErasingFirstGW>(ErasingFirstGW &); 89 template 90 void lemon::skeleton::checkCompileStaticGraph<ErasingFirstGW>(ErasingFirstGW &); 90 91 91 92 -
src/test/sym_graph_test.cc
r937 r938 67 67 //Compile SymSmartGraph 68 68 template void lemon::checkCompileSymGraph<SymSmartGraph>(SymSmartGraph &); 69 template void lemon::checkCompileGraphFindEdge<SymSmartGraph>(SymSmartGraph &); 69 template 70 void lemon::skeleton::checkCompileGraphFindEdge<SymSmartGraph>(SymSmartGraph &); 70 71 71 72 //Compile SymListGraph 72 73 template void lemon::checkCompileSymGraph<SymListGraph>(SymListGraph &); 73 74 template void lemon::checkCompileErasableSymGraph<SymListGraph>(SymListGraph &); 74 template void lemon::checkCompileGraphFindEdge<SymListGraph>(SymListGraph &); 75 template 76 void lemon::skeleton::checkCompileGraphFindEdge<SymListGraph>(SymListGraph &); 75 77 76 78 int main() -
src/test/sym_graph_test.h
r937 r938 25 25 //! \brief Some utility to test symmetric graph classes. 26 26 namespace lemon { 27 28 /// \e 27 29 30 /// \todo This should go to lemon/skeleton/symgraph.h 31 /// 28 32 template<class Graph> void checkCompileStaticSymGraph(Graph &G) 29 33 { … … 37 41 typedef typename Graph::OutEdgeIt OutEdgeIt; 38 42 39 checkCompileStaticGraph(G);43 lemon::skeleton::checkCompileStaticGraph(G); 40 44 41 45 { … … 154 158 { 155 159 checkCompileSymGraph(G); 156 checkCompileGraphEraseNode(G);160 lemon::skeleton::checkCompileGraphEraseNode(G); 157 161 checkCompileSymGraphEraseSymEdge(G); 158 162 }
Note: See TracChangeset
for help on using the changeset viewer.