Changeset 212:1ae84dea7d09 in lemon-main
- Timestamp:
- 07/14/08 09:15:23 (16 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 11 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/Doxyfile.in
r153 r212 103 103 EXAMPLE_RECURSIVE = NO 104 104 IMAGE_PATH = @abs_top_srcdir@/doc/images \ 105 105 @abs_top_builddir@/doc/gen-images 106 106 INPUT_FILTER = 107 107 FILTER_PATTERNS = -
doc/lgf.dox
r209 r212 58 58 \code 59 59 @nodes 60 label coordinatessize title61 1 (10,20)10 "First node"62 2 (80,80)8 "Second node"63 3 (40,10)10 "Third node"60 label coordinates size title 61 1 (10,20) 10 "First node" 62 2 (80,80) 8 "Second node" 63 3 (40,10) 10 "Third node" 64 64 \endcode 65 65 … … 73 73 \code 74 74 @arcs 75 75 capacity 76 76 1 2 16 77 77 1 3 12 -
lemon/assert.h
r210 r212 67 67 #undef LEMON_DEBUG 68 68 69 #if (defined(LEMON_ASSERT_LOG) ? 1 : 0) + 70 (defined(LEMON_ASSERT_ABORT) ? 1 : 0) + 69 #if (defined(LEMON_ASSERT_LOG) ? 1 : 0) + \ 70 (defined(LEMON_ASSERT_ABORT) ? 1 : 0) + \ 71 71 (defined(LEMON_ASSERT_CUSTOM) ? 1 : 0) > 1 72 72 #error "LEMON assertion system is not set properly" 73 73 #endif 74 74 75 #if ((defined(LEMON_ASSERT_LOG) ? 1 : 0) + 76 (defined(LEMON_ASSERT_ABORT) ? 1 : 0) + 77 (defined(LEMON_ASSERT_CUSTOM) ? 1 : 0) == 1 || 78 defined(LEMON_ENABLE_ASSERTS)) && 79 (defined(LEMON_DISABLE_ASSERTS) || 75 #if ((defined(LEMON_ASSERT_LOG) ? 1 : 0) + \ 76 (defined(LEMON_ASSERT_ABORT) ? 1 : 0) + \ 77 (defined(LEMON_ASSERT_CUSTOM) ? 1 : 0) == 1 || \ 78 defined(LEMON_ENABLE_ASSERTS)) && \ 79 (defined(LEMON_DISABLE_ASSERTS) || \ 80 80 defined(NDEBUG)) 81 81 #error "LEMON assertion system is not set properly" … … 169 169 /// behaviour is changed appropiately to the new settings. 170 170 # define LEMON_ASSERT(exp, msg) \ 171 (static_cast<void> (!!(exp) ? 0 : ( 172 LEMON_ASSERT_HANDLER(__FILE__, __LINE__, 173 LEMON_FUNCTION_NAME, 171 (static_cast<void> (!!(exp) ? 0 : ( \ 172 LEMON_ASSERT_HANDLER(__FILE__, __LINE__, \ 173 LEMON_FUNCTION_NAME, \ 174 174 ::lemon::_assert_bits::cstringify(msg), #exp), 0))) 175 175 … … 185 185 /// 186 186 /// \see LEMON_ASSERT 187 # define LEMON_FIXME(msg) 187 # define LEMON_FIXME(msg) \ 188 188 (LEMON_ASSERT_HANDLER(__FILE__, __LINE__, LEMON_FUNCTION_NAME, \ 189 ::lemon::_assert_bits::cstringify(msg), 189 ::lemon::_assert_bits::cstringify(msg), \ 190 190 static_cast<const char*>(0))) 191 191 … … 213 213 /// 214 214 /// \see LEMON_ASSERT 215 # define LEMON_DEBUG(exp, msg) 216 (static_cast<void> (!!(exp) ? 0 : ( 215 # define LEMON_DEBUG(exp, msg) \ 216 (static_cast<void> (!!(exp) ? 0 : ( \ 217 217 LEMON_ASSERT_HANDLER(__FILE__, __LINE__, \ 218 LEMON_FUNCTION_NAME, 218 LEMON_FUNCTION_NAME, \ 219 219 ::lemon::_assert_bits::cstringify(msg), #exp), 0))) 220 220 … … 226 226 # define LEMON_DEBUG(exp, msg) (static_cast<void>(0)) 227 227 # else 228 # define LEMON_ASSERT(exp, msg) 229 (static_cast<void> (!!(exp) ? 0 : ( 228 # define LEMON_ASSERT(exp, msg) \ 229 (static_cast<void> (!!(exp) ? 0 : ( \ 230 230 LEMON_ASSERT_HANDLER(__FILE__, __LINE__, \ 231 LEMON_FUNCTION_NAME, 232 ::lemon::_assert_bits::cstringify(msg), 231 LEMON_FUNCTION_NAME, \ 232 ::lemon::_assert_bits::cstringify(msg), \ 233 233 #exp), 0))) 234 # define LEMON_FIXME(msg) 235 (LEMON_ASSERT_HANDLER(__FILE__, __LINE__, LEMON_FUNCTION_NAME, 236 ::lemon::_assert_bits::cstringify(msg), 234 # define LEMON_FIXME(msg) \ 235 (LEMON_ASSERT_HANDLER(__FILE__, __LINE__, LEMON_FUNCTION_NAME, \ 236 ::lemon::_assert_bits::cstringify(msg), \ 237 237 static_cast<const char*>(0))) 238 238 239 239 # if LEMON_ENABLE_DEBUG 240 240 # define LEMON_DEBUG(exp, msg) 241 (static_cast<void> (!!(exp) ? 0 : ( \242 LEMON_ASSERT_HANDLER(__FILE__, __LINE__, \243 LEMON_FUNCTION_NAME, \244 ::lemon::_assert_bits::cstringify(msg), 241 (static_cast<void> (!!(exp) ? 0 : ( \ 242 LEMON_ASSERT_HANDLER(__FILE__, __LINE__, \ 243 LEMON_FUNCTION_NAME, \ 244 ::lemon::_assert_bits::cstringify(msg), \ 245 245 #exp), 0))) 246 246 # else … … 250 250 251 251 #endif 252 253 #ifdef DOXYGEN254 255 256 #else257 258 259 #endif260 261 -
lemon/concepts/path.h
r209 r212 101 101 /// Comparison operator 102 102 bool operator!=(const ArcIt&) const {return true;} 103 104 103 /// Comparison operator 104 bool operator<(const ArcIt&) const {return false;} 105 105 106 106 }; … … 256 256 /// Comparison operator 257 257 bool operator!=(const ArcIt&) const {return true;} 258 259 258 /// Comparison operator 259 bool operator<(const ArcIt&) const {return false;} 260 260 261 261 }; … … 284 284 /// Comparison operator 285 285 bool operator!=(const RevArcIt&) const {return true;} 286 287 286 /// Comparison operator 287 bool operator<(const RevArcIt&) const {return false;} 288 288 289 289 }; -
lemon/error.h
r209 r212 71 71 try { 72 72 if (!copy.valid()) return; 73 73 *ptr = copy.get(); 74 74 } catch (...) {} 75 75 } -
lemon/graph_to_eps.h
r210 r212 909 909 //\todo better 'epsilon' would be nice here. 910 910 dim2::Point<double> d(dvec/std::max(l,EPSILON)); 911 911 dim2::Point<double> m; 912 912 // m=dim2::Point<double>(mycoords[g.target(*i)]+ 913 913 // mycoords[g.source(*i)])/2.0; … … 917 917 // (_nodeSizes[g.source(*i)]+_nodeSizes[g.target(*i)])); 918 918 919 919 m=dim2::Point<double>(mycoords[g.source(*i)])+ 920 920 d*(l+_nodeSizes[g.source(*i)]-_nodeSizes[g.target(*i)])/2.0; 921 921 -
lemon/graph_utils.h
r209 r212 53 53 ///on a template parameter, then use \c TEMPLATE_DIGRAPH_TYPEDEFS() 54 54 ///macro. 55 #define DIGRAPH_TYPEDEFS(Digraph) 56 typedef Digraph::Node Node; 57 typedef Digraph::NodeIt NodeIt; 58 typedef Digraph::Arc Arc; 59 typedef Digraph::ArcIt ArcIt; 60 typedef Digraph::InArcIt InArcIt; 61 typedef Digraph::OutArcIt OutArcIt; 62 typedef Digraph::NodeMap<bool> BoolNodeMap; 63 typedef Digraph::NodeMap<int> IntNodeMap; 64 typedef Digraph::NodeMap<double> DoubleNodeMap; 65 typedef Digraph::ArcMap<bool> BoolArcMap; 66 typedef Digraph::ArcMap<int> IntArcMap; 55 #define DIGRAPH_TYPEDEFS(Digraph) \ 56 typedef Digraph::Node Node; \ 57 typedef Digraph::NodeIt NodeIt; \ 58 typedef Digraph::Arc Arc; \ 59 typedef Digraph::ArcIt ArcIt; \ 60 typedef Digraph::InArcIt InArcIt; \ 61 typedef Digraph::OutArcIt OutArcIt; \ 62 typedef Digraph::NodeMap<bool> BoolNodeMap; \ 63 typedef Digraph::NodeMap<int> IntNodeMap; \ 64 typedef Digraph::NodeMap<double> DoubleNodeMap; \ 65 typedef Digraph::ArcMap<bool> BoolArcMap; \ 66 typedef Digraph::ArcMap<int> IntArcMap; \ 67 67 typedef Digraph::ArcMap<double> DoubleArcMap 68 68 … … 73 73 ///\note Use this macro, if the graph type is a dependent type, 74 74 ///ie. the graph type depend on a template parameter. 75 #define TEMPLATE_DIGRAPH_TYPEDEFS(Digraph) 76 typedef typename Digraph::Node Node; 77 typedef typename Digraph::NodeIt NodeIt; 78 typedef typename Digraph::Arc Arc; 75 #define TEMPLATE_DIGRAPH_TYPEDEFS(Digraph) \ 76 typedef typename Digraph::Node Node; \ 77 typedef typename Digraph::NodeIt NodeIt; \ 78 typedef typename Digraph::Arc Arc; \ 79 79 typedef typename Digraph::ArcIt ArcIt; \ 80 typedef typename Digraph::InArcIt InArcIt; 81 typedef typename Digraph::OutArcIt OutArcIt; 82 typedef typename Digraph::template NodeMap<bool> BoolNodeMap; 83 typedef typename Digraph::template NodeMap<int> IntNodeMap; 84 typedef typename Digraph::template NodeMap<double> DoubleNodeMap; 85 typedef typename Digraph::template ArcMap<bool> BoolArcMap; 86 typedef typename Digraph::template ArcMap<int> IntArcMap; 80 typedef typename Digraph::InArcIt InArcIt; \ 81 typedef typename Digraph::OutArcIt OutArcIt; \ 82 typedef typename Digraph::template NodeMap<bool> BoolNodeMap; \ 83 typedef typename Digraph::template NodeMap<int> IntNodeMap; \ 84 typedef typename Digraph::template NodeMap<double> DoubleNodeMap; \ 85 typedef typename Digraph::template ArcMap<bool> BoolArcMap; \ 86 typedef typename Digraph::template ArcMap<int> IntArcMap; \ 87 87 typedef typename Digraph::template ArcMap<double> DoubleArcMap 88 88 … … 97 97 ///on a template parameter, then use \c TEMPLATE_DIGRAPH_TYPEDEFS() 98 98 ///macro. 99 #define GRAPH_TYPEDEFS(Graph) 100 DIGRAPH_TYPEDEFS(Graph); 101 typedef Graph::Edge Edge; 102 typedef Graph::EdgeIt EdgeIt; 103 typedef Graph::IncEdgeIt IncEdgeIt; 104 typedef Graph::EdgeMap<bool> BoolEdgeMap; 105 typedef Graph::EdgeMap<int> IntEdgeMap; 99 #define GRAPH_TYPEDEFS(Graph) \ 100 DIGRAPH_TYPEDEFS(Graph); \ 101 typedef Graph::Edge Edge; \ 102 typedef Graph::EdgeIt EdgeIt; \ 103 typedef Graph::IncEdgeIt IncEdgeIt; \ 104 typedef Graph::EdgeMap<bool> BoolEdgeMap; \ 105 typedef Graph::EdgeMap<int> IntEdgeMap; \ 106 106 typedef Graph::EdgeMap<double> DoubleEdgeMap 107 107 … … 112 112 ///\note Use this macro, if the graph type is a dependent type, 113 113 ///ie. the graph type depend on a template parameter. 114 #define TEMPLATE_GRAPH_TYPEDEFS(Graph) 115 TEMPLATE_DIGRAPH_TYPEDEFS(Graph); 116 typedef typename Graph::Edge Edge; 114 #define TEMPLATE_GRAPH_TYPEDEFS(Graph) \ 115 TEMPLATE_DIGRAPH_TYPEDEFS(Graph); \ 116 typedef typename Graph::Edge Edge; \ 117 117 typedef typename Graph::EdgeIt EdgeIt; \ 118 typedef typename Graph::IncEdgeIt IncEdgeIt; 119 typedef typename Graph::template EdgeMap<bool> BoolEdgeMap; 120 typedef typename Graph::template EdgeMap<int> IntEdgeMap; 118 typedef typename Graph::IncEdgeIt IncEdgeIt; \ 119 typedef typename Graph::template EdgeMap<bool> BoolEdgeMap; \ 120 typedef typename Graph::template EdgeMap<int> IntEdgeMap; \ 121 121 typedef typename Graph::template EdgeMap<double> DoubleEdgeMap 122 122 -
lemon/lgf_reader.h
r210 r212 147 147 public: 148 148 ValueStorage(Value& value, const Converter& converter = Converter()) 149 149 : _value(value), _converter(converter) {} 150 150 151 151 virtual void set(const std::string& value) { … … 511 511 DigraphReader(const std::string& fn, Digraph& digraph) 512 512 : _is(new std::ifstream(fn.c_str())), local_is(true), _digraph(digraph), 513 513 _use_nodes(false), _use_arcs(false), 514 514 _skip_nodes(false), _skip_arcs(false) {} 515 515 … … 520 520 DigraphReader(const char* fn, Digraph& digraph) 521 521 : _is(new std::ifstream(fn)), local_is(true), _digraph(digraph), 522 522 _use_nodes(false), _use_arcs(false), 523 523 _skip_nodes(false), _skip_arcs(false) {} 524 524 … … 1295 1295 GraphReader(const std::string& fn, Graph& graph) 1296 1296 : _is(new std::ifstream(fn.c_str())), local_is(true), _graph(graph), 1297 1297 _use_nodes(false), _use_edges(false), 1298 1298 _skip_nodes(false), _skip_edges(false) {} 1299 1299 … … 1304 1304 GraphReader(const char* fn, Graph& graph) 1305 1305 : _is(new std::ifstream(fn)), local_is(true), _graph(graph), 1306 1306 _use_nodes(false), _use_edges(false), 1307 1307 _skip_nodes(false), _skip_edges(false) {} 1308 1308 -
lemon/lgf_writer.h
r209 r212 182 182 public: 183 183 ValueStorage(const Value& value, const Converter& converter = Converter()) 184 184 : _value(value), _converter(converter) {} 185 185 186 186 virtual std::string get() { -
lemon/list_graph.h
r209 r212 495 495 Node b = addNode(); 496 496 for(OutArcIt e(*this,n);e!=INVALID;) { 497 497 OutArcIt f=e; 498 498 ++f; 499 499 changeSource(e,b); -
test/heap_test.cc
r209 r212 55 55 "9\n" 56 56 "@arcs\n" 57 " label 58 "0 5 094\n"59 "3 9 111\n"60 "8 7 283\n"61 "1 2 394\n"62 "5 7 435\n"63 "7 4 584\n"64 "9 5 638\n"65 "0 4 796\n"66 "6 7 86\n"67 "3 1 927\n"68 "5 2 1077\n"69 "5 6 1169\n"70 "6 5 1241\n"71 "4 6 1370\n"72 "3 2 1445\n"73 "7 9 1593\n"74 "5 9 1650\n"75 "9 0 1794\n"76 "9 6 1867\n"77 "0 9 1986\n"57 " label capacity\n" 58 "0 5 0 94\n" 59 "3 9 1 11\n" 60 "8 7 2 83\n" 61 "1 2 3 94\n" 62 "5 7 4 35\n" 63 "7 4 5 84\n" 64 "9 5 6 38\n" 65 "0 4 7 96\n" 66 "6 7 8 6\n" 67 "3 1 9 27\n" 68 "5 2 10 77\n" 69 "5 6 11 69\n" 70 "6 5 12 41\n" 71 "4 6 13 70\n" 72 "3 2 14 45\n" 73 "7 9 15 93\n" 74 "5 9 16 50\n" 75 "9 0 17 94\n" 76 "9 6 18 67\n" 77 "0 9 19 86\n" 78 78 "@attributes\n" 79 79 "source 3\n"; … … 142 142 if (dijkstra.reached(s)) { 143 143 check( dijkstra.dist(t) - dijkstra.dist(s) <= length[a], 144 144 "Error in a shortest path tree!"); 145 145 } 146 146 }
Note: See TracChangeset
for help on using the changeset viewer.