/** Returns the buffer in which the data is stored. */
const Buffer *get_buffer() const { return buffer; }
-protected:
- /** Returns the amount of data to be stored in the buffer, in bytes. */
+ /** Returns the size of the data, in bytes. */
virtual unsigned get_data_size() const = 0;
+protected:
/** Returns a pointer to the start of data in client memory. */
virtual const void *get_data_pointer() const = 0;
changes. */
void update_offset();
- /** Returns the offset where the data should be uploaded. */
+public:
+ /** Returns the offset of the data from the beginning of the buffer. */
unsigned get_offset() const { return offset; }
+private:
/** Called when the target buffer or offset within it has changed. */
virtual void location_changed(Buffer *, unsigned, unsigned) const { }
-private:
/** Uploads data to the buffer. Receives pointer to mapped buffer memory as
parameter, or null to use the buffer upload interface. */
void upload_data(char *) const;