Changeset 1346:639dadf8c00d in lemon-0.x for src/lemon/maps.h
- Timestamp:
- 04/12/05 19:38:16 (20 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@1785
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/lemon/maps.h
r1317 r1346 217 217 ///\param _v is the convert value 218 218 ConvertMap(const M &_m) : m(_m) {}; 219 220 /// \brief The subscript operator. 221 /// 222 /// The subscript operator. 223 /// \param edge The edge 224 /// \return The target of the edge 219 225 Value operator[](Key k) const {return m[k];} 220 226 }; … … 229 235 { 230 236 return ConvertMap<M,T>(m); 237 } 238 239 /// \brief Returns the source of the given edge. 240 /// 241 /// The SourceMap gives back the source Node of the given edge. 242 /// \author Balazs Dezso 243 template <typename Graph> 244 class SourceMap { 245 public: 246 typedef typename Graph::Node Value; 247 typedef typename Graph::Edge Key; 248 249 /// \brief Constructor 250 /// 251 /// Constructor 252 /// \param _graph The graph that the map belongs to. 253 SourceMap(const Graph& _graph) : graph(_graph) {} 254 255 /// \brief The subscript operator. 256 /// 257 /// The subscript operator. 258 /// \param edge The edge 259 /// \return The source of the edge 260 Value operator[](const Key& edge) { 261 return graph.source(edge); 262 } 263 264 private: 265 const Graph& graph; 266 }; 267 268 /// \brief Returns a \ref SourceMap class 269 270 /// This function just returns an \ref SourceMap class. 271 /// \relates SourceMap 272 template <typename Graph> 273 inline SourceMap<Graph> sourceMap(const Graph&) { 274 return SourceMap<Graph>(graph); 275 } 276 277 /// \brief Returns the target of the given edge. 278 /// 279 /// The TargetMap gives back the target Node of the given edge. 280 /// \author Balazs Dezso 281 template <typename Graph> 282 class TargetMap { 283 public: 284 typedef typename Graph::Node Value; 285 typedef typename Graph::Edge Key; 286 287 /// \brief Constructor 288 /// 289 /// Constructor 290 /// \param _graph The graph that the map belongs to. 291 TargetMap(const Graph& _graph) : graph(_graph) {} 292 293 /// \brief The subscript operator. 294 /// 295 /// The subscript operator. 296 /// \param edge The edge 297 /// \return The target of the edge 298 Value operator[](const Key& key) { 299 return graph.target(key); 300 } 301 302 private: 303 const Graph& graph; 304 }; 305 306 /// \brief Returns a \ref TargetMap class 307 308 /// This function just returns an \ref TargetMap class. 309 /// \relates TargetMap 310 template <typename Graph> 311 inline TargetMap<Graph> targetMap(const Graph&) { 312 return TargetMap<Graph>(graph); 231 313 } 232 314
Note: See TracChangeset
for help on using the changeset viewer.