* Add a std::ostream inserter for sys::Path
* Correct the std::string constructor to take a const reference.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@18877 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/llvm/System/Path.h b/include/llvm/System/Path.h
index 7862e21..10c8bcc 100644
--- a/include/llvm/System/Path.h
+++ b/include/llvm/System/Path.h
@@ -18,6 +18,7 @@
#include <set>
#include <string>
#include <vector>
+#include <ostream>
namespace llvm {
namespace sys {
@@ -161,7 +162,7 @@
/// @throws std::string if the path string is not legal.
/// @param unverified_path The path to verify and assign.
/// @brief Construct a Path from a string.
- explicit Path(std::string unverified_path);
+ explicit Path(const std::string& unverified_path);
/// @}
/// @name Operators
@@ -547,6 +548,11 @@
LLVMFileType IdentifyFileType(const char*magic, unsigned length);
}
+inline std::ostream& operator<<(std::ostream& strm, const sys::Path& aPath) {
+ strm << aPath.toString();
+ return strm;
+}
+
}
// vim: sw=2
diff --git a/lib/System/Unix/Path.cpp b/lib/System/Unix/Path.cpp
index 63184f6..e655ef4 100644
--- a/lib/System/Unix/Path.cpp
+++ b/lib/System/Unix/Path.cpp
@@ -27,7 +27,7 @@
namespace llvm {
using namespace sys;
-Path::Path(std::string unverified_path)
+Path::Path(const std::string& unverified_path)
: path(unverified_path)
{
if (unverified_path.empty())
diff --git a/lib/System/Unix/Path.inc b/lib/System/Unix/Path.inc
index 63184f6..e655ef4 100644
--- a/lib/System/Unix/Path.inc
+++ b/lib/System/Unix/Path.inc
@@ -27,7 +27,7 @@
namespace llvm {
using namespace sys;
-Path::Path(std::string unverified_path)
+Path::Path(const std::string& unverified_path)
: path(unverified_path)
{
if (unverified_path.empty())
diff --git a/lib/System/Win32/Path.cpp b/lib/System/Win32/Path.cpp
index 095417f..070ebb3 100644
--- a/lib/System/Win32/Path.cpp
+++ b/lib/System/Win32/Path.cpp
@@ -97,7 +97,7 @@
return *TempDirectory;
}
-Path::Path(std::string unverified_path)
+Path::Path(const std::string& unverified_path)
: path(unverified_path)
{
FlipBackSlashes(path);
diff --git a/lib/System/Win32/Path.inc b/lib/System/Win32/Path.inc
index 095417f..070ebb3 100644
--- a/lib/System/Win32/Path.inc
+++ b/lib/System/Win32/Path.inc
@@ -97,7 +97,7 @@
return *TempDirectory;
}
-Path::Path(std::string unverified_path)
+Path::Path(const std::string& unverified_path)
: path(unverified_path)
{
FlipBackSlashes(path);