Ejemplo n.º 1
0
int main(int argc, char **argv)
{
    plan_tests(14);

    OverwritingRingBuffer<unsigned,4> buffer;
    ok1(buffer.empty());

    buffer.push(1);
    ok1(!buffer.empty());
    ok1(buffer.peek() == 1);
    ok1(buffer.shift() == 1);
    ok1(buffer.empty());

    buffer.push(2);
    buffer.push(3);
    buffer.push(4);
    buffer.push(5);
    ok1(!buffer.empty());

    OverwritingRingBuffer<unsigned,4>::const_iterator i = buffer.begin();
    OverwritingRingBuffer<unsigned,4>::const_iterator end = buffer.end();
    ok1(*i == 3);
    ++i;
    ok1(*i == 4);
    ++i;
    ok1(*i == 5);
    ++i;
    ok1(i == end);

    ok1(buffer.shift() == 3);
    ok1(buffer.shift() == 4);
    ok1(buffer.shift() == 5);
    ok1(buffer.empty());

    return exit_status();;
}
Ejemplo n.º 2
0
 double GetDeltaY() const {
   return buffer.last().y - buffer.peek().y;
 }
Ejemplo n.º 3
0
 /**
  * Add a new sample.
  */
 void Push(double x, double y) {
   buffer.push({x, y});
 }
Ejemplo n.º 4
0
 double GetFirstX() const {
   return buffer.peek().x;
 }
Ejemplo n.º 5
0
 double GetLastX() const {
   return buffer.last().x;
 }
Ejemplo n.º 6
0
 bool IsEmpty() const {
   return buffer.empty();
 }
Ejemplo n.º 7
0
 void Clear() {
   buffer.clear();
 }
Ejemplo n.º 8
0
 /**
  * Add a new sample.
  */
 void Push(fixed x, fixed y) {
   buffer.push({x, y});
 }
Ejemplo n.º 9
0
 fixed GetLastX() const {
   return buffer.last().x;
 }
Ejemplo n.º 10
0
 fixed GetFirstX() const {
   return buffer.peek().x;
 }