OpenEV
Extending OpenCV to event-based vision
Toggle main menu visibility
Loading...
Searching...
No Matches
readers_test_utils.hpp
1
#pragma once
2
3
#include "
openev/containers/concurrent_queue.hpp
"
4
#include "
openev/containers/vector.hpp
"
5
#include "
openev/readers/abstract-reader.hpp
"
6
7
static
bool
tryPull(
ev::AbstractReader_
&reader,
ev::Event
&e) {
8
ev::ConcurrentQueue
*q = &reader.
events
();
9
if
(q->
empty
()) {
10
q = &reader.
events
(1);
11
}
12
if
(q->
empty
()) {
13
return
false
;
14
}
15
e = q->front();
16
q->pop();
17
return
true
;
18
}
19
20
static
ev::Vector
drainAll(
ev::AbstractReader_
&reader) {
21
ev::Vector
v;
22
ev::Event
e;
23
while
(tryPull(reader, e)) {
24
v.push_back(e);
25
}
26
return
v;
27
}
abstract-reader.hpp
Abstract base class for event readers.
ev::AbstractReader_
This is an auxiliary class. This class cannot be instanced.
Definition
abstract-reader.hpp:28
ev::AbstractReader_::events
ConcurrentQueue & events(const std::size_t n=0)
Read a given number of events, add them to the queue, and return it.
Definition
abstract-reader.hpp:46
ev::ConcurrentQueue_::empty
bool empty() const
Check if the queue holds no events.
Definition
concurrent_queue.hpp:57
concurrent_queue.hpp
Queue container for basic event structures, safe between a thread that pushes and a thread that pops.
ev::ConcurrentQueue
ConcurrentQueuei ConcurrentQueue
Definition
concurrent_queue.hpp:93
ev::Event
Eventi Event
Definition
types.hpp:262
vector.hpp
Vector container for basic event structures.
ev::Vector
Vectori Vector
Definition
vector.hpp:31
modules
readers
tests
readers_test_utils.hpp
Generated by
1.17.0