* Add a std::ostream inserter for sys::Path

* Correct the std::string constructor to take a const reference.

llvm-svn: 18877
This commit is contained in:
Reid Spencer 2004-12-13 06:57:15 +00:00
parent ccd99b9b61
commit 0230a5eead
3 changed files with 9 additions and 3 deletions

View File

@ -18,6 +18,7 @@
#include <set>
#include <string>
#include <vector>
#include <ostream>
namespace llvm {
namespace sys {
@ -161,7 +162,7 @@ namespace sys {
/// @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 @@ namespace sys {
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

View File

@ -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())

View File

@ -97,7 +97,7 @@ Path::GetTemporaryDirectory() {
return *TempDirectory;
}
Path::Path(std::string unverified_path)
Path::Path(const std::string& unverified_path)
: path(unverified_path)
{
FlipBackSlashes(path);