Changeset 212:1ae84dea7d09 in lemon-1.2 for lemon
- Timestamp:
- 07/14/08 09:15:23 (17 years ago)
- Branch:
- default
- Phase:
- public
- Location:
- lemon
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
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);
Note: See TracChangeset
for help on using the changeset viewer.