# HG changeset patch
# User Peter Kovacs <kpeter@inf.elte.hu>
# Date 1255347675 7200
# Node ID e2cb320ed082c9c526f7fef105d5553ba3f4c9da
# Parent 257e91516e09d8d6be58236c587e3e0199770412
Fix in pathSource() and pathTarget() (#250)
and extend the doc.
diff git a/lemon/path.h b/lemon/path.h
a

b


1015  1015  
1016  1016  /// \brief The source of a path 
1017  1017  /// 
1018   /// This function returns the source of the given path. 
 1018  /// This function returns the source node of the given path. 
 1019  /// If the path is empty, then it returns \c INVALID. 
1019  1020  template <typename Digraph, typename Path> 
1020  1021  typename Digraph::Node pathSource(const Digraph& digraph, const Path& path) { 
1021   return digraph.source(path.front()); 
 1022  return path.empty() ? INVALID : digraph.source(path.front()); 
1022  1023  } 
1023  1024  
1024  1025  /// \brief The target of a path 
1025  1026  /// 
1026   /// This function returns the target of the given path. 
 1027  /// This function returns the target node of the given path. 
 1028  /// If the path is empty, then it returns \c INVALID. 
1027  1029  template <typename Digraph, typename Path> 
1028  1030  typename Digraph::Node pathTarget(const Digraph& digraph, const Path& path) { 
1029   return digraph.target(path.back()); 
 1031  return path.empty() ? INVALID : digraph.target(path.back()); 
1030  1032  } 
1031  1033  
1032  1034  /// \brief Class which helps to iterate through the nodes of a path 