diff -r ee5959aa4410 -r c280de819a73 src/work/marci/bug/ansi_pedantic_bug.cc --- a/src/work/marci/bug/ansi_pedantic_bug.cc Sun Apr 17 18:57:22 2005 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,60 +0,0 @@ -// -*- c++ -*- -//compile it with -//g++ -ansi -pedantic -//and with -//g++ -//I did with g++ ver 3.0.4, suse 8.0 -//If the template is removed from NodeMap, then it works well. -//athos@cs.elte.hu -//klao@cs.elte.hu -//marci@cs.elte.hu - -class ListGraph { -public: - ListGraph() { } - - template class NodeMap { - const ListGraph& G; - public: - NodeMap(const ListGraph& _G) : G(_G) { } - }; - -}; - -template class GraphWrapper { -protected: - Graph* graph; -public: - GraphWrapper(Graph& _graph) : graph(&_graph) { } - - template class NodeMap : public Graph::template NodeMap { - typedef typename Graph::template NodeMap Parent; - public: - NodeMap(const GraphWrapper& _G) : - Parent(*(_G.graph)) { } - }; -}; - -template -class ResGraphWrapper : public GraphWrapper { -public: - ResGraphWrapper(Graph& _graph) : GraphWrapper(_graph) { } -}; - -template class MaxFlow { - const Graph* g; - typedef ResGraphWrapper ResGW; -public: - MaxFlow(const Graph& _g) : g(&_g) { } - void augmentOnShortestPath() { - ResGW res_graph(*g); - typename ResGW::template NodeMap pred(res_graph); - } -}; - -int main(int, char **) { - ListGraph G; - MaxFlow max_flow_test(G); - max_flow_test.augmentOnShortestPath(); - return 0; -}