Thunderbots Project
Loading...
Searching...
No Matches
last_in_first_out_threaded_observer.h
1
#pragma once
2
#include "software/multithreading/threaded_observer.hpp"
3
12
template
<
typename
T>
13
class
LastInFirstOutThreadedObserver
:
public
ThreadedObserver
<T>
14
{
15
public
:
16
LastInFirstOutThreadedObserver
() :
ThreadedObserver<T>
(){};
17
explicit
LastInFirstOutThreadedObserver<T>
(
size_t
buffer_size)
18
:
ThreadedObserver<T>
(buffer_size){};
19
std::optional<T>
getNextValue
(
const
Duration
& max_wait_time)
final
;
20
};
21
22
template
<
typename
T>
23
std::optional<T>
LastInFirstOutThreadedObserver<T>::getNextValue
(
24
const
Duration
& max_wait_time)
25
{
26
return
this->popMostRecentlyReceivedValue(max_wait_time);
27
}
Duration
Definition
duration.h:12
LastInFirstOutThreadedObserver
Definition
last_in_first_out_threaded_observer.h:14
LastInFirstOutThreadedObserver::getNextValue
std::optional< T > getNextValue(const Duration &max_wait_time) final
Definition
last_in_first_out_threaded_observer.h:23
ThreadedObserver
Definition
threaded_observer.hpp:18
src
software
multithreading
last_in_first_out_threaded_observer.h
Generated by
1.9.8