first commit
This commit is contained in:
34
Minecraft.World/Buffer.h
Normal file
34
Minecraft.World/Buffer.h
Normal file
@@ -0,0 +1,34 @@
|
||||
#pragma once
|
||||
|
||||
//A buffer is a linear, finite sequence of elements of a specific primitive type. Aside from its content,
|
||||
//the essential properties of a buffer are its capacity, limit, and position:
|
||||
//
|
||||
//A buffer's capacity is the number of elements it contains. The capacity of a buffer is never negative and never changes.
|
||||
//
|
||||
//A buffer's limit is the index of the first element that should not be read or written.
|
||||
//A buffer's limit is never negative and is never greater than its capacity.
|
||||
//
|
||||
//A buffer's position is the index of the next element to be read or written.
|
||||
//A buffer's position is never negative and is never greater than its limit.
|
||||
class Buffer
|
||||
{
|
||||
protected:
|
||||
const unsigned int m_capacity;
|
||||
unsigned int m_position;
|
||||
unsigned int m_limit;
|
||||
unsigned int m_mark;
|
||||
bool hasBackingArray;
|
||||
|
||||
public:
|
||||
Buffer( unsigned int capacity );
|
||||
virtual ~Buffer() {}
|
||||
|
||||
Buffer *clear();
|
||||
Buffer *limit(unsigned int newLimit);
|
||||
unsigned int limit();
|
||||
Buffer *position( unsigned int newPosition );
|
||||
unsigned int position();
|
||||
unsigned int remaining();
|
||||
|
||||
virtual Buffer *flip() = 0;
|
||||
};
|
||||
Reference in New Issue
Block a user