TDME2  1.9.200
ShortBuffer.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <tdme/tdme.h>
6 
8 
9 /**
10  * Short buffer class
11  * @author Andreas Drewke
12  */
14 {
15 public:
16  /**
17  * Default constructor
18  */
20  }
21 
22  /**
23  * Public constructor
24  * @param buffer buffer
25  */
27  this->ownsBuffer = false;
28  this->buffer = buffer->buffer;
29  }
30 
31  /**
32  * @returns buffer capacity
33  */
34  inline virtual int64_t getCapacity() {
35  return Buffer::getCapacity() / sizeof(uint16_t);
36  }
37 
38  /**
39  * @returns buffer position
40  */
41  inline virtual int64_t getPosition() {
42  return Buffer::getPosition() / sizeof(uint16_t);
43  }
44 
45  /**
46  * Get a value at given position
47  * @param position position
48  */
49  inline int16_t get(int64_t position) {
50  uint16_t value = 0;
51  value+= ((uint16_t)Buffer::get(position)) & 0xFF;
52  value+= ((uint16_t)Buffer::get(position + 1) << 8) & 0xFF;
53  return value;
54  }
55 
56  /**
57  * Put a value into current position
58  * @param value value
59  */
60  inline ShortBuffer* put(uint16_t value) {
61  Buffer::put((const uint8_t*)&value, sizeof(uint16_t));
62  return this;
63  }
64 
65 };
Base class of buffers.
Definition: Buffer.h:21
uint8_t get(int64_t position) const
Definition: Buffer.h:107
vector< uint8_t > * buffer
Definition: Buffer.h:30
Buffer * put(uint8_t value)
Put value into buffer.
Definition: Buffer.h:115
virtual int64_t getCapacity() const
Definition: Buffer.h:82
virtual int64_t getPosition() const
Definition: Buffer.h:89
Short buffer class.
Definition: ShortBuffer.h:14
ShortBuffer * put(uint16_t value)
Put a value into current position.
Definition: ShortBuffer.h:60
ShortBuffer()
Default constructor.
Definition: ShortBuffer.h:19
ShortBuffer(Buffer *buffer)
Public constructor.
Definition: ShortBuffer.h:26
virtual int64_t getCapacity()
Definition: ShortBuffer.h:34
virtual int64_t getPosition()
Definition: ShortBuffer.h:41
int16_t get(int64_t position)
Get a value at given position.
Definition: ShortBuffer.h:49