Merged emitter branch into trunk, changes r105:r151

This commit is contained in:
Jesse Beder
2009-05-22 21:52:31 +00:00
parent b3a5a519f2
commit 9245f9253a
20 changed files with 2478 additions and 37 deletions

View File

@@ -7,14 +7,15 @@ namespace YAML
{
// a simple buffer wrapper that knows how big it is
struct Buffer {
Buffer(char *b, int s): buffer(b), size(s) {}
Buffer(const char *b, int s): buffer(b), size(s) {}
operator bool() const { return size > 0; }
bool operator !() const { return !static_cast <bool> (*this); }
char operator [] (int i) const { return buffer[i]; }
const Buffer operator + (int offset) const { return Buffer(buffer + offset, size - offset); }
Buffer& operator ++ () { ++buffer; --size; return *this; }
char *buffer;
const char *buffer;
int size;
};