};
private:
- Buffer *buffer;
- unsigned offset;
- Bufferable *next_in_buffer;
- Bufferable *prev_in_buffer;
- mutable bool location_dirty;
+ Buffer *buffer = 0;
+ unsigned offset = 0;
+ Bufferable *next_in_buffer = 0;
+ Bufferable *prev_in_buffer = 0;
+ mutable bool location_dirty = false;
protected:
- mutable bool dirty;
+ mutable bool dirty = false;
- Bufferable();
+ Bufferable() = default;
public:
virtual ~Bufferable();
unsigned get_required_buffer_size() const;
/** Uploads new data into the buffer if necessary. */
- void refresh() const { if(buffer && dirty) upload_data(0); }
+ void refresh() const { if(dirty) upload_data(0); }
/** Returns an object which can be used to upload data to the buffer using
mapped memory. */
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 { }
-
/** 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;