All pastes #2104157 Raw Edit

Untitled

public text v1 · immutable
#2104157 ·published 2012-01-19 20:32 UTC
rendered paste body

typedef mt::pool<CvImage *>
pool_t;
pool_t pool(100);

mt::triple_buffer  <pool_t> tb;
mt::circular_buffer<pool_t> cb;

...........
  writer:
...........

while (1) {
  pool_t::item it = pool.get();

  CvGrab(it.data());

  tb.push(it);
  cb.push(it);

  pool.release(it);
}

...........
  reader1:
...........

while (1) {
  // triple
  pool_t::item it = tb.pop();

  draw(it.data());
}

...........
  reader2:
...........

while (1) {
  // circular
  pool_t::item it = cb.pop();

  obj = find_object(it.data());

  fprintf(file, "%d %d\n", obj.x, obj.y);
}