Add a comment explaining a non-obvious API.
authorDan Gohman <gohman@apple.com>
Tue, 22 Jun 2010 13:57:08 +0000 (13:57 +0000)
committerDan Gohman <gohman@apple.com>
Tue, 22 Jun 2010 13:57:08 +0000 (13:57 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@106539 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Support/MemoryBuffer.h

index 38f61935d97a717f7481f839971fa0baededc687..0b6cd12f6f4bb0e818aa1583a446eae6719a1f54 100644 (file)
@@ -26,6 +26,11 @@ namespace llvm {
 /// into a memory buffer.  In addition to basic access to the characters in the
 /// file, this interface guarantees you can read one character past the end of
 /// the file, and that this character will read as '\0'.
+///
+/// The '\0' guarantee is needed to support an optimization -- it's intended to
+/// be more efficient for clients which are reading all the data to stop
+/// reading when they encounter a '\0' than to continually check the file
+/// position to see if it has reached the end of the file.
 class MemoryBuffer {
   const char *BufferStart; // Start of the buffer.
   const char *BufferEnd;   // End of the buffer.