git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@338175
91177308-0d34-0410-b5e6-
96231b3b80d8
const char *BufferStart; // Start of the buffer.
const char *BufferEnd; // End of the buffer.
-
protected:
MemoryBuffer() = default;
virtual BufferKind getBufferKind() const = 0;
MemoryBufferRef getMemBufferRef() const;
-
-private:
- virtual void anchor();
};
/// This class is an extension of MemoryBuffer, which allows copy-on-write
init(this->SV.begin(), this->SV.end(), false);
}
+ // Key function.
+ ~SmallVectorMemoryBuffer() override;
+
StringRef getBufferIdentifier() const override { return BufferName; }
BufferKind getBufferKind() const override { return MemoryBuffer_Malloc; }
private:
SmallVector<char, 0> SV;
std::string BufferName;
- void anchor() override;
};
} // namespace llvm
return MemoryBufferRef(Data, Identifier);
}
-void MemoryBuffer::anchor() {}
-void SmallVectorMemoryBuffer::anchor() {}
+SmallVectorMemoryBuffer::~SmallVectorMemoryBuffer() {}