30 |
33 |
31 \todo More extensive tests are needed |
34 \todo More extensive tests are needed |
32 */ |
35 */ |
33 |
36 |
34 using namespace lemon; |
37 using namespace lemon; |
|
38 using namespace lemon::skeleton; |
35 |
39 |
36 |
40 |
37 typedef SmartGraph Graph; |
41 typedef SmartGraph Graph; |
38 |
42 |
39 //Compile GraphWrapper |
|
40 typedef GraphWrapper<Graph> GW; |
|
41 template void lemon::skeleton::checkCompileStaticGraph<GW>(GW &); |
|
42 |
|
43 //Compile RevGraphWrapper |
|
44 typedef RevGraphWrapper<Graph> RevGW; |
|
45 template void lemon::skeleton::checkCompileStaticGraph<RevGW>(RevGW &); |
|
46 |
|
47 //Compile SubGraphWrapper |
|
48 typedef SubGraphWrapper<Graph, Graph::NodeMap<bool>, |
|
49 Graph::EdgeMap<bool> > SubGW; |
|
50 template void lemon::skeleton::checkCompileStaticGraph<SubGW>(SubGW &); |
|
51 |
|
52 //Compile NodeSubGraphWrapper |
|
53 typedef NodeSubGraphWrapper<Graph, Graph::NodeMap<bool> > NodeSubGW; |
|
54 template void lemon::skeleton::checkCompileStaticGraph<NodeSubGW>(NodeSubGW &); |
|
55 |
|
56 //Compile EdgeSubGraphWrapper |
|
57 typedef EdgeSubGraphWrapper<Graph, Graph::EdgeMap<bool> > EdgeSubGW; |
|
58 template void lemon::skeleton::checkCompileStaticGraph<EdgeSubGW>(EdgeSubGW &); |
|
59 |
|
60 //Compile UndirGraphWrapper |
|
61 /// \bug UndirGraphWrapper cannot pass the StaticGraph test |
|
62 //typedef UndirGraphWrapper<Graph> UndirGW; |
|
63 //template void checkCompileStaticGraph<UndirGW>(UndirGW &); |
|
64 |
|
65 //Compile UndirGraph |
|
66 //typedef UndirGraph<Graph> UndirG; |
|
67 //template void checkCompileStaticGraph<UndirG>(UndirG &); |
|
68 |
|
69 //Compile SubBidirGraphWrapper |
|
70 typedef SubBidirGraphWrapper<Graph, Graph::EdgeMap<bool>, |
|
71 Graph::EdgeMap<bool> > SubBDGW; |
|
72 template void lemon::skeleton::checkCompileStaticGraph<SubBDGW>(SubBDGW &); |
|
73 |
|
74 //Compile BidirGraphWrapper |
|
75 typedef BidirGraphWrapper<Graph> BidirGW; |
|
76 template void lemon::skeleton::checkCompileStaticGraph<BidirGW>(BidirGW &); |
|
77 |
|
78 //Compile BidirGraph |
|
79 typedef BidirGraph<Graph> BidirG; |
|
80 template void lemon::skeleton::checkCompileStaticGraph<BidirG>(BidirG &); |
|
81 |
|
82 //Compile ResGraphWrapper |
|
83 typedef ResGraphWrapper<Graph, int, Graph::EdgeMap<int>, |
|
84 Graph::EdgeMap<int> > ResGW; |
|
85 template void lemon::skeleton::checkCompileStaticGraph<ResGW>(ResGW &); |
|
86 |
|
87 //Compile ErasingFirstGraphWrapper |
|
88 typedef ErasingFirstGraphWrapper<Graph, Graph::NodeMap<Graph::Edge> > ErasingFirstGW; |
|
89 template |
|
90 void lemon::skeleton::checkCompileStaticGraph<ErasingFirstGW>(ErasingFirstGW &); |
|
91 |
|
92 |
43 |
93 int main() |
44 int main() |
94 { |
45 { |
|
46 { |
|
47 function_requires<StaticGraphConcept<GraphWrapper<Graph> > >(); |
|
48 |
|
49 function_requires<StaticGraphConcept<RevGraphWrapper<Graph> > >(); |
|
50 |
|
51 function_requires<StaticGraphConcept<SubGraphWrapper<Graph, Graph::NodeMap<bool> , Graph::EdgeMap<bool> > > >(); |
|
52 function_requires<StaticGraphConcept<NodeSubGraphWrapper<Graph, Graph::NodeMap<bool> > > >(); |
|
53 function_requires<StaticGraphConcept<EdgeSubGraphWrapper<Graph, Graph::EdgeMap<bool> > > >(); |
|
54 |
|
55 function_requires<StaticGraphConcept<SubBidirGraphWrapper<Graph, Graph::EdgeMap<bool>, Graph::EdgeMap<bool> > > > (); |
|
56 |
|
57 function_requires<StaticGraphConcept<BidirGraph<Graph> > >(); |
|
58 |
|
59 function_requires<StaticGraphConcept<ResGraphWrapper<Graph, int, Graph::EdgeMap<int>, Graph::EdgeMap<int> > > >(); |
|
60 |
|
61 function_requires<StaticGraphConcept<ErasingFirstGraphWrapper<Graph, Graph::NodeMap<Graph::Edge> > > >(); |
|
62 } |
95 std::cout << __FILE__ ": All tests passed.\n"; |
63 std::cout << __FILE__ ": All tests passed.\n"; |
96 |
64 |
97 return 0; |
65 return 0; |
98 } |
66 } |