Make StringValue noncopyable.

Change-Id: I5b02cf988aaa15c467fa62c96c951d2891bc43db
This commit is contained in:
Peter Johnson
2015-06-28 21:56:20 -07:00
parent e38cce46ad
commit b7a87bb6f9
2 changed files with 10 additions and 1 deletions

View File

@@ -140,7 +140,7 @@ void Storage::SavePersistent(std::ostream& os) const {
}
case NT_STRING_ARRAY: {
bool first = true;
for (auto elem : v.GetStringArray()) {
for (auto& elem : v.GetStringArray()) {
if (!first) {
os << ',';
first = false;

View File

@@ -20,6 +20,9 @@ namespace ntimpl {
class Storage;
class Value;
/*
* C++ wrapper class around NT_String.
*/
class StringValue : private NT_String {
friend class Value;
public:
@@ -27,8 +30,14 @@ class StringValue : private NT_String {
~StringValue() { NT_DisposeString(this); }
operator llvm::StringRef() const { return llvm::StringRef(str, len); }
StringValue(const StringValue&) = delete;
StringValue& operator=(const StringValue&) = delete;
};
/*
* C++ wrapper class around NT_Value.
*/
class Value : private NT_Value {
friend class Storage;
public: